]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/config/tc-arm.c
[PATCH] gas: arm: Fix IT-predicated MVE vcvt
[thirdparty/binutils-gdb.git] / gas / config / tc-arm.c
index 5877847c3b90c0042ba432b95cdd939266a24d1e..25559216fc34a68d946f315f2f0092dce3058726 100644 (file)
@@ -19087,6 +19087,16 @@ do_neon_cvt_1 (enum neon_cvt_mode mode)
       return;
     }
 
+  if ((rs == NS_FD || rs == NS_QQI) && mode == neon_cvt_mode_n
+      && ARM_CPU_HAS_FEATURE (cpu_variant, mve_ext))
+    {
+      /* We are dealing with vcvt with the 'ne' condition.  */
+      inst.cond = 0x1;
+      inst.instruction = N_MNEM_vcvt;
+      do_neon_cvt_1 (neon_cvt_mode_z);
+      return;
+    }
+
   /* VFP rather than Neon conversions.  */
   if (flavour >= neon_cvt_flavour_first_fp)
     {
@@ -19115,14 +19125,6 @@ do_neon_cvt_1 (enum neon_cvt_mode mode)
                                             NEON_CHECK_CC | NEON_CHECK_ARCH))
            return;
        }
-      else if (mode == neon_cvt_mode_n)
-       {
-         /* We are dealing with vcvt with the 'ne' condition.  */
-         inst.cond = 0x1;
-         inst.instruction = N_MNEM_vcvt;
-         do_neon_cvt_1 (neon_cvt_mode_z);
-         return;
-       }
       /* fall through.  */
     case NS_DDI:
       {