From c4188bc96a6dacd4ba8d2e72ad2571cf0389eb5c Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Fri, 2 Sep 2005 12:50:44 +0000 Subject: [PATCH] 2005-09-02 Paul Brook gas/ * config/tc-arm.c (opcode_lookup): Look for infix opcode when incorrect suffix matches. gas/testsuite/ * gas/arm/fpa-mem.d: Test "stfpls". * gas/arm/fpa-mem.s: Ditto. --- gas/ChangeLog | 5 +++++ gas/config/tc-arm.c | 4 +++- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/arm/fpa-mem.d | 4 ++-- gas/testsuite/gas/arm/fpa-mem.s | 11 +++++++---- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 56d99c14ce3..ec5219e7370 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-09-02 Paul Brook + + * config/tc-arm.c (opcode_lookup): Look for infix opcode when + incorrect suffix matches. + 2005-09-01 David Ung * config/tc-mips.c (append_insn): Correctly handle mips16 case diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index fd95edb283e..f52716d39c3 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -7676,8 +7676,10 @@ opcode_lookup (char **str) { case OT_cinfix3: case OT_odd_infix_unc: + /* Some mnemonics are ambiguous between infix and suffix + conditions. Disambiguate based on assembly syntax. */ if (!unified_syntax) - return 0; + break; /* else fall through */ case OT_csuffix: diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 814571e5307..ef33b845437 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-09-02 Paul Brook + + * gas/arm/fpa-mem.d: Test "stfpls". + * gas/arm/fpa-mem.s: Ditto. + 2005-09-01 Hans-Peter Nilsson * gas/cris: Adjust all files for testing target diff --git a/gas/testsuite/gas/arm/fpa-mem.d b/gas/testsuite/gas/arm/fpa-mem.d index bbe4cfa3dc8..a94c7425644 100644 --- a/gas/testsuite/gas/arm/fpa-mem.d +++ b/gas/testsuite/gas/arm/fpa-mem.d @@ -30,5 +30,5 @@ Disassembly of section .text: 0+4c <[^>]*> ed800200 ? sfm f0, 4, \[r0\] 0+50 <[^>]*> ed00020c ? sfm f0, 4, \[r0, #-48\] 0+54 <[^>]*> ed800200 ? sfm f0, 4, \[r0\] -0+58 <[^>]*> e1a00000 ? nop[ ]+\(mov r0,r0\) -0+5c <[^>]*> e1a00000 ? nop[ ]+\(mov r0,r0\) +0+58 <[^>]*> 5d800100 ? stfpls f0, \[r0\] +0+5c <[^>]*> 9dc08100 ? stflsp f0, \[r0\] diff --git a/gas/testsuite/gas/arm/fpa-mem.s b/gas/testsuite/gas/arm/fpa-mem.s index dfc9b6564c4..efbbbd885a0 100644 --- a/gas/testsuite/gas/arm/fpa-mem.s +++ b/gas/testsuite/gas/arm/fpa-mem.s @@ -25,7 +25,10 @@ F: sfmfd f0, 4, [r0] sfmea f0, 4, [r0] - # Add two nop instructions to ensure that the - # output is 32-byte aligned as required for arm-aout. - nop - nop + # Test mnemonic that is ambiguous between infix and suffic + # condition codes + # sfts condition code pl + stfpls f0, [r0] + .syntax unified + # stfp condition code ls + stfpls f0, [r0] -- 2.30.2