mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-11 06:25:30 +00:00
target/arm: Tidy trans_LD1R_zpri
Move the variable declarations to the top of the function, but do not create a new label before sve_access_check. Backports commit c0ed9166b1aea86a2fbaada1195aacd1049f9e85 from qemu
This commit is contained in:
parent
49bd9a5c68
commit
a9eb62d211
|
@ -5050,18 +5050,20 @@ static bool trans_LD1RQ_zpri(DisasContext *s, arg_rpri_load *a)
|
||||||
/* Load and broadcast element. */
|
/* Load and broadcast element. */
|
||||||
static bool trans_LD1R_zpri(DisasContext *s, arg_rpri_load *a)
|
static bool trans_LD1R_zpri(DisasContext *s, arg_rpri_load *a)
|
||||||
{
|
{
|
||||||
if (!sve_access_check(s)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
TCGContext *tcg_ctx = s->uc->tcg_ctx;
|
TCGContext *tcg_ctx = s->uc->tcg_ctx;
|
||||||
unsigned vsz = vec_full_reg_size(s);
|
unsigned vsz = vec_full_reg_size(s);
|
||||||
unsigned psz = pred_full_reg_size(s);
|
unsigned psz = pred_full_reg_size(s);
|
||||||
unsigned esz = dtype_esz[a->dtype];
|
unsigned esz = dtype_esz[a->dtype];
|
||||||
unsigned msz = dtype_msz(a->dtype);
|
unsigned msz = dtype_msz(a->dtype);
|
||||||
TCGLabel *over = gen_new_label(tcg_ctx);
|
TCGLabel *over;
|
||||||
TCGv_i64 temp;
|
TCGv_i64 temp;
|
||||||
|
|
||||||
|
if (!sve_access_check(s)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
over = gen_new_label(tcg_ctx);
|
||||||
|
|
||||||
/* If the guarding predicate has no bits set, no load occurs. */
|
/* If the guarding predicate has no bits set, no load occurs. */
|
||||||
if (psz <= 8) {
|
if (psz <= 8) {
|
||||||
/* Reduce the pred_esz_masks value simply to reduce the
|
/* Reduce the pred_esz_masks value simply to reduce the
|
||||||
|
|
Loading…
Reference in a new issue