diff options
author | Cui, Lili <lili.cui@intel.com> | 2024-07-05 09:55:41 +0800 |
---|---|---|
committer | Cui, Lili <lili.cui@intel.com> | 2024-07-05 09:55:41 +0800 |
commit | fc111d56dd5128d633201ef81f6e5dd5b86c24c1 (patch) | |
tree | efa4c795a53fc562d6d8661d417cf966601e9b42 /gas | |
parent | f95476cc5e51923b206d4c9c9a1bb1c309808431 (diff) | |
download | binutils-fc111d56dd5128d633201ef81f6e5dd5b86c24c1.zip binutils-fc111d56dd5128d633201ef81f6e5dd5b86c24c1.tar.gz binutils-fc111d56dd5128d633201ef81f6e5dd5b86c24c1.tar.bz2 |
x86: Correct position of ".s" for CCMPcc in disassembler
Added new macro %SW to CCMPcc to print ".s" after the mnemonic.
Before:
ccmpbl {dfv=}.s %edx,%eax
After:
ccmpbl.s {dfv=} %edx,%eax
gas/ChangeLog:
* testsuite/gas/i386/x86-64-pseudos-apx.d: Add tests for CCMPcc.
* testsuite/gas/i386/x86-64-pseudos-apx.s: Ditto.
opcodes/ChangeLog:
* i386-dis-evex.h: Added %SW for CCMPcc swap operands.
* i386-dis.c (struct dis386): Added %SW.
(putop): Handle %SW.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-pseudos-apx.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-pseudos-apx.s | 4 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gas/testsuite/gas/i386/x86-64-pseudos-apx.d b/gas/testsuite/gas/i386/x86-64-pseudos-apx.d index c3b2eca..fa54ee1 100644 --- a/gas/testsuite/gas/i386/x86-64-pseudos-apx.d +++ b/gas/testsuite/gas/i386/x86-64-pseudos-apx.d @@ -80,6 +80,11 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 dc 7c 08 21 cf[ ]+andl %ecx,%r31d [ ]*[a-f0-9]+:[ ]*67 62 64 7c 08 23 39[ ]+andl \(%ecx\),%r31d [ ]*[a-f0-9]+:[ ]*67 62 64 7c 08 21 39[ ]+andl %r31d,\(%ecx\) +[ ]*[a-f0-9]+:[ ]*62 dc 04 0a 39 cf[ ]+ccmptl \{dfv=\} %ecx,%r31d +[ ]*[a-f0-9]+:[ ]*62 64 04 0a 3b f9[ ]+ccmptl.s \{dfv=\} %ecx,%r31d +[ ]*[a-f0-9]+:[ ]*62 dc 04 0a 39 cf[ ]+ccmptl \{dfv=\} %ecx,%r31d +[ ]*[a-f0-9]+:[ ]*67 62 64 04 0a 3b 39[ ]+ccmptl \{dfv=\} \(%ecx\),%r31d +[ ]*[a-f0-9]+:[ ]*67 62 64 04 0a 39 39[ ]+ccmptl \{dfv=\} %r31d,\(%ecx\) [ ]*[a-f0-9]+:[ ]*62 dc 7c 08 09 cf[ ]+orl %ecx,%r31d [ ]*[a-f0-9]+:[ ]*62 64 7c 08 0b f9[ ]+orl.s %ecx,%r31d [ ]*[a-f0-9]+:[ ]*62 dc 7c 08 09 cf[ ]+orl %ecx,%r31d @@ -149,10 +154,14 @@ Disassembly of section \.text: [ ]*[a-f0-9]+:[ ]*62 44 fc 10 33 38[ ]+xorq \(%r8\),%r31,%r16 [ ]*[a-f0-9]+:[ ]*62 44 fc 10 31 38[ ]+xorq %r31,\(%r8\),%r16 [ ]*[a-f0-9]+:[ ]*62 44 fc 10 33 38[ ]+xorq \(%r8\),%r31,%r16 +[ ]*[a-f0-9]+:[ ]*62 f4 04 02 39 d0[ ]+ccmpbl \{dfv=\} %edx,%eax +[ ]*[a-f0-9]+:[ ]*62 f4 04 02 3b c2[ ]+ccmpbl.s \{dfv=\} %edx,%eax +[ ]*[a-f0-9]+:[ ]*62 f4 04 02 39 d0[ ]+ccmpbl \{dfv=\} %edx,%eax +[ ]*[a-f0-9]+:[ ]*67 62 f4 04 02 3b 02[ ]+ccmpbl \{dfv=\} \(%edx\),%eax +[ ]*[a-f0-9]+:[ ]*67 62 f4 04 02 39 02[ ]+ccmpbl \{dfv=\} %eax,\(%edx\) [ ]*[a-f0-9]+:[ ]*62 f4 7c 08 42 c2[ ]+cfcmovbl %edx,%eax [ ]*[a-f0-9]+:[ ]*62 f4 7c 08 42 c2[ ]+cfcmovbl %edx,%eax [ ]*[a-f0-9]+:[ ]*62 f4 7c 0c 42 d0[ ]+cfcmovbl.s %edx,%eax [ ]*[a-f0-9]+:[ ]*67 62 f4 7c 08 42 02[ ]+cfcmovbl \(%edx\),%eax [ ]*[a-f0-9]+:[ ]*67 62 f4 7c 0c 42 02[ ]+cfcmovbl %eax,\(%edx\) - #pass diff --git a/gas/testsuite/gas/i386/x86-64-pseudos-apx.s b/gas/testsuite/gas/i386/x86-64-pseudos-apx.s index a78bb1d..e60dac5 100644 --- a/gas/testsuite/gas/i386/x86-64-pseudos-apx.s +++ b/gas/testsuite/gas/i386/x86-64-pseudos-apx.s @@ -16,7 +16,7 @@ _start: {store} movaps %xmm2, (%r31) #APX EVEX promoted from legacy - .irp m, adc, add, and, or, sbb, sub, xor + .irp m, adc, add, and, cmp, or, sbb, sub, xor {evex} \m %ecx, %r31d {evex} {load} \m %ecx, %r31d {evex} {store} \m %ecx, %r31d @@ -36,7 +36,7 @@ _start: .endr #APX News. - .irp m, cfcmovb + .irp m, ccmpb, cfcmovb \m %edx, %eax {load} \m %edx, %eax {store} \m %edx, %eax |