From 250dd99fc92bac670691b66363dd71dccb22b10d Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 25 Aug 2020 14:12:49 +0930 Subject: [PATCH] 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. --- gas/ChangeLog | 6 ++++++ gas/config/tc-arm.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index ce58416c4a3..96e955140bb 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2020-08-25 Alan Modra + + PR 26426 + * config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on + NS_NULL shape. + 2020-08-25 Alan Modra PR 26410 diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 1cc0cea25e7..830cbda6182 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); } -- 2.30.2