target/arm/translate-neon.c: Handle VTBL UNDEF case before VFP access check
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 9 Nov 2020 14:53:24 +0000 (14:53 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 10 Nov 2020 11:03:48 +0000 (11:03 +0000)
Checks for UNDEF cases should go before the "is VFP enabled?" access
check, except in special cases. Move a stray UNDEF check in the VTBL
trans function up above the access check.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201109145324.2859-1-peter.maydell@linaro.org

target/arm/translate-neon.c.inc

index 0ae95cb8df8ba29580364bafcdfe68c424a9dd66..2403825d15f337d42bc05033d925ce93113ebcff 100644 (file)
@@ -2874,10 +2874,6 @@ static bool trans_VTBL(DisasContext *s, arg_VTBL *a)
         return false;
     }
 
-    if (!vfp_access_check(s)) {
-        return true;
-    }
-
     if ((a->vn + a->len + 1) > 32) {
         /*
          * This is UNPREDICTABLE; we choose to UNDEF to avoid the
@@ -2886,6 +2882,10 @@ static bool trans_VTBL(DisasContext *s, arg_VTBL *a)
         return false;
     }
 
+    if (!vfp_access_check(s)) {
+        return true;
+    }
+
     desc = tcg_const_i32((a->vn << 2) | a->len);
     def = tcg_temp_new_i64();
     if (a->op) {