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 | |
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')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index ce58416..96e9551 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 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 * symbols.c (dollar_label_count, dollar_label_max): Make size_t. (dollar_label_clear): Don't call memset with NULL pointer. 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); } |