PR26426, ASAN: neon_quad tc-arm.c:15175
authorAlan Modra <amodra@gmail.com>
Tue, 25 Aug 2020 04:42:49 +0000 (14:12 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 25 Aug 2020 13:37:10 +0000 (23:07 +0930)
PR 26426
* config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
NS_NULL shape.

gas/ChangeLog
gas/config/tc-arm.c

index ce58416c4a37c697dd91168e350b8a99cecf432d..96e955140bbee3495f3010d6ff587d8d16379e7d 100644 (file)
@@ -1,3 +1,9 @@
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26426
+       * config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
+       NS_NULL shape.
+
 2020-08-25  Alan Modra  <amodra@gmail.com>
 
        PR 26410
index 1cc0cea25e77e4fb3bc53af70117b8f50db86c5e..830cbda6182e523940e09836b23187017ae2529a 100644 (file)
@@ -19555,6 +19555,9 @@ do_neon_mvn (void)
       else
        rs = neon_select_shape (NS_DD, NS_QQ, NS_NULL);
 
+      if (rs == NS_NULL)
+       return;
+
       NEON_ENCODE (INTEGER, inst);
       inst.instruction |= LOW4 (inst.operands[0].reg) << 12;
       inst.instruction |= HI1 (inst.operands[0].reg) << 22;
@@ -20634,6 +20637,8 @@ static void
 do_neon_swp (void)
 {
   enum neon_shape rs = neon_select_shape (NS_DD, NS_QQ, NS_NULL);
+  if (rs == NS_NULL)
+    return;
   neon_two_same (neon_quad (rs), 1, -1);
 }