diff options
author | Alan Modra <amodra@gmail.com> | 2020-08-25 14:12:49 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-08-25 23:07:10 +0930 |
commit | 250dd99fc92bac670691b66363dd71dccb22b10d (patch) | |
tree | 63da14487779f96bf64f2831b16c25afbc913b57 /gas/config/tc-arm.c | |
parent | d2327e47ef26dc88192e07b53cbad0b768cecf2e (diff) | |
download | gdb-250dd99fc92bac670691b66363dd71dccb22b10d.zip gdb-250dd99fc92bac670691b66363dd71dccb22b10d.tar.gz gdb-250dd99fc92bac670691b66363dd71dccb22b10d.tar.bz2 |
PR26426, ASAN: neon_quad tc-arm.c:15175
PR 26426
* config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
NS_NULL shape.
Diffstat (limited to 'gas/config/tc-arm.c')
-rw-r--r-- | gas/config/tc-arm.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 1cc0cea..830cbda 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -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); } |