]> git.proxmox.com Git - mirror_qemu.git/blobdiff - target/arm/translate-a64.c
target/arm: Fix SVE system register access checks
[mirror_qemu.git] / target / arm / translate-a64.c
index f9863408324f1feb556b2f70afae6a2e64b3c3f5..45a6c2a3aa1abc38cf7628cda9d52e056ef7e5d9 100644 (file)
@@ -1633,11 +1633,10 @@ static void handle_sys(DisasContext *s, uint32_t insn, bool isread,
     default:
         break;
     }
-    if ((ri->type & ARM_CP_SVE) && !sve_access_check(s)) {
-        return;
-    }
     if ((ri->type & ARM_CP_FPU) && !fp_access_check(s)) {
         return;
+    } else if ((ri->type & ARM_CP_SVE) && !sve_access_check(s)) {
+        return;
     }
 
     if ((tb_cflags(s->base.tb) & CF_USE_ICOUNT) && (ri->type & ARM_CP_IO)) {