From 81de54b3461ad3b6dabd896866ad0f659ddfabe0 Mon Sep 17 00:00:00 2001 From: hjl Date: Mon, 12 Jan 2009 16:04:09 +0000 Subject: [PATCH] gas/testsuite/ 2009-01-12 H.J. Lu * gas/i386/opts.s: Add tests for add, adc, and, cmp, or, sbb, sub and xor. * gas/i386/x86-64-opts.s: Likewise. * gas/i386/opts.d: Updated. * gas/i386/opts-intel.d: Likewise. * gas/i386/x86-64-opts.d: Likewise. * gas/i386/x86-64-opts-intel.d: Likewise. opcodes/ 2009-01-12 H.J. Lu * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB, subB, xorB and cmpB. Use EvS on addS, orS, adcS, sbbS, andS, subS, xorS and cmpS. --- gas/testsuite/ChangeLog | 11 ++ gas/testsuite/gas/i386/opts-intel.d | 144 ++++++++++++++++++++++ gas/testsuite/gas/i386/opts.d | 144 ++++++++++++++++++++++ gas/testsuite/gas/i386/opts.s | 144 ++++++++++++++++++++++ gas/testsuite/gas/i386/x86-64-opts-intel.d | 192 +++++++++++++++++++++++++++++ gas/testsuite/gas/i386/x86-64-opts.d | 192 +++++++++++++++++++++++++++++ gas/testsuite/gas/i386/x86-64-opts.s | 192 +++++++++++++++++++++++++++++ opcodes/ChangeLog | 6 + opcodes/i386-dis.c | 32 ++--- 9 files changed, 1041 insertions(+), 16 deletions(-) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 3e422f3bc7..5b5cf46684 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2009-01-12 H.J. Lu + + * gas/i386/opts.s: Add tests for add, adc, and, cmp, or, sbb, + sub and xor. + * gas/i386/x86-64-opts.s: Likewise. + + * gas/i386/opts.d: Updated. + * gas/i386/opts-intel.d: Likewise. + * gas/i386/x86-64-opts.d: Likewise. + * gas/i386/x86-64-opts-intel.d: Likewise. + 2009-01-10 H.J. Lu * gas/i386/arch-10.s: Add clflush and syscall. diff --git a/gas/testsuite/gas/i386/opts-intel.d b/gas/testsuite/gas/i386/opts-intel.d index e51a659f3c..9913c82aa0 100644 --- a/gas/testsuite/gas/i386/opts-intel.d +++ b/gas/testsuite/gas/i386/opts-intel.d @@ -8,6 +8,54 @@ Disassembly of section .text: 0+ <_start>: +[ ]*[a-f0-9]+: 00 d1 add cl,dl +[ ]*[a-f0-9]+: 02 ca add.s cl,dl +[ ]*[a-f0-9]+: 66 01 d1 add cx,dx +[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx +[ ]*[a-f0-9]+: 01 d1 add ecx,edx +[ ]*[a-f0-9]+: 03 ca add.s ecx,edx +[ ]*[a-f0-9]+: 00 d1 add cl,dl +[ ]*[a-f0-9]+: 02 ca add.s cl,dl +[ ]*[a-f0-9]+: 66 01 d1 add cx,dx +[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx +[ ]*[a-f0-9]+: 01 d1 add ecx,edx +[ ]*[a-f0-9]+: 03 ca add.s ecx,edx +[ ]*[a-f0-9]+: 10 d1 adc cl,dl +[ ]*[a-f0-9]+: 12 ca adc.s cl,dl +[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx +[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx +[ ]*[a-f0-9]+: 11 d1 adc ecx,edx +[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx +[ ]*[a-f0-9]+: 10 d1 adc cl,dl +[ ]*[a-f0-9]+: 12 ca adc.s cl,dl +[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx +[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx +[ ]*[a-f0-9]+: 11 d1 adc ecx,edx +[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx +[ ]*[a-f0-9]+: 20 d1 and cl,dl +[ ]*[a-f0-9]+: 22 ca and.s cl,dl +[ ]*[a-f0-9]+: 66 21 d1 and cx,dx +[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx +[ ]*[a-f0-9]+: 21 d1 and ecx,edx +[ ]*[a-f0-9]+: 23 ca and.s ecx,edx +[ ]*[a-f0-9]+: 20 d1 and cl,dl +[ ]*[a-f0-9]+: 22 ca and.s cl,dl +[ ]*[a-f0-9]+: 66 21 d1 and cx,dx +[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx +[ ]*[a-f0-9]+: 21 d1 and ecx,edx +[ ]*[a-f0-9]+: 23 ca and.s ecx,edx +[ ]*[a-f0-9]+: 38 d1 cmp cl,dl +[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl +[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx +[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx +[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx +[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx +[ ]*[a-f0-9]+: 38 d1 cmp cl,dl +[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl +[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx +[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx +[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx +[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx [ ]*[a-f0-9]+: 88 d1 mov cl,dl [ ]*[a-f0-9]+: 8a ca mov.s cl,dl [ ]*[a-f0-9]+: 66 89 d1 mov cx,dx @@ -20,6 +68,54 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx [ ]*[a-f0-9]+: 89 d1 mov ecx,edx [ ]*[a-f0-9]+: 8b ca mov.s ecx,edx +[ ]*[a-f0-9]+: 08 d1 or cl,dl +[ ]*[a-f0-9]+: 0a ca or.s cl,dl +[ ]*[a-f0-9]+: 66 09 d1 or cx,dx +[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx +[ ]*[a-f0-9]+: 09 d1 or ecx,edx +[ ]*[a-f0-9]+: 0b ca or.s ecx,edx +[ ]*[a-f0-9]+: 08 d1 or cl,dl +[ ]*[a-f0-9]+: 0a ca or.s cl,dl +[ ]*[a-f0-9]+: 66 09 d1 or cx,dx +[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx +[ ]*[a-f0-9]+: 09 d1 or ecx,edx +[ ]*[a-f0-9]+: 0b ca or.s ecx,edx +[ ]*[a-f0-9]+: 18 d1 sbb cl,dl +[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl +[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx +[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx +[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx +[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx +[ ]*[a-f0-9]+: 18 d1 sbb cl,dl +[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl +[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx +[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx +[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx +[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx +[ ]*[a-f0-9]+: 28 d1 sub cl,dl +[ ]*[a-f0-9]+: 2a ca sub.s cl,dl +[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx +[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx +[ ]*[a-f0-9]+: 29 d1 sub ecx,edx +[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx +[ ]*[a-f0-9]+: 28 d1 sub cl,dl +[ ]*[a-f0-9]+: 2a ca sub.s cl,dl +[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx +[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx +[ ]*[a-f0-9]+: 29 d1 sub ecx,edx +[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx +[ ]*[a-f0-9]+: 30 d1 xor cl,dl +[ ]*[a-f0-9]+: 32 ca xor.s cl,dl +[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx +[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx +[ ]*[a-f0-9]+: 31 d1 xor ecx,edx +[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx +[ ]*[a-f0-9]+: 30 d1 xor cl,dl +[ ]*[a-f0-9]+: 32 ca xor.s cl,dl +[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx +[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx +[ ]*[a-f0-9]+: 31 d1 xor ecx,edx +[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4 @@ -70,12 +166,60 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 +[ ]*[a-f0-9]+: 00 d1 add cl,dl +[ ]*[a-f0-9]+: 02 ca add.s cl,dl +[ ]*[a-f0-9]+: 66 01 d1 add cx,dx +[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx +[ ]*[a-f0-9]+: 01 d1 add ecx,edx +[ ]*[a-f0-9]+: 03 ca add.s ecx,edx +[ ]*[a-f0-9]+: 10 d1 adc cl,dl +[ ]*[a-f0-9]+: 12 ca adc.s cl,dl +[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx +[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx +[ ]*[a-f0-9]+: 11 d1 adc ecx,edx +[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx +[ ]*[a-f0-9]+: 20 d1 and cl,dl +[ ]*[a-f0-9]+: 22 ca and.s cl,dl +[ ]*[a-f0-9]+: 66 21 d1 and cx,dx +[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx +[ ]*[a-f0-9]+: 21 d1 and ecx,edx +[ ]*[a-f0-9]+: 23 ca and.s ecx,edx +[ ]*[a-f0-9]+: 38 d1 cmp cl,dl +[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl +[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx +[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx +[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx +[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx [ ]*[a-f0-9]+: 88 d1 mov cl,dl [ ]*[a-f0-9]+: 8a ca mov.s cl,dl [ ]*[a-f0-9]+: 66 89 d1 mov cx,dx [ ]*[a-f0-9]+: 66 8b ca mov.s cx,dx [ ]*[a-f0-9]+: 89 d1 mov ecx,edx [ ]*[a-f0-9]+: 8b ca mov.s ecx,edx +[ ]*[a-f0-9]+: 08 d1 or cl,dl +[ ]*[a-f0-9]+: 0a ca or.s cl,dl +[ ]*[a-f0-9]+: 66 09 d1 or cx,dx +[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx +[ ]*[a-f0-9]+: 09 d1 or ecx,edx +[ ]*[a-f0-9]+: 0b ca or.s ecx,edx +[ ]*[a-f0-9]+: 18 d1 sbb cl,dl +[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl +[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx +[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx +[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx +[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx +[ ]*[a-f0-9]+: 28 d1 sub cl,dl +[ ]*[a-f0-9]+: 2a ca sub.s cl,dl +[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx +[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx +[ ]*[a-f0-9]+: 29 d1 sub ecx,edx +[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx +[ ]*[a-f0-9]+: 30 d1 xor cl,dl +[ ]*[a-f0-9]+: 32 ca xor.s cl,dl +[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx +[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx +[ ]*[a-f0-9]+: 31 d1 xor ecx,edx +[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4 diff --git a/gas/testsuite/gas/i386/opts.d b/gas/testsuite/gas/i386/opts.d index 5292ad3d0f..4dc385ac78 100644 --- a/gas/testsuite/gas/i386/opts.d +++ b/gas/testsuite/gas/i386/opts.d @@ -7,6 +7,54 @@ Disassembly of section .text: 0+ <_start>: +[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl +[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl +[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx +[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx +[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx +[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx +[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl +[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl +[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx +[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx +[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx +[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx +[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl +[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl +[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx +[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx +[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx +[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx +[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl +[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl +[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx +[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx +[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx +[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx +[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl +[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl +[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx +[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx +[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx +[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx +[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl +[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl +[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx +[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx +[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx +[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx +[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl +[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl +[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx +[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx +[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx +[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx +[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl +[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl +[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx +[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx +[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx +[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl [ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl [ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx @@ -19,6 +67,54 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx [ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx [ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx +[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl +[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl +[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx +[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx +[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx +[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx +[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl +[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl +[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx +[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx +[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx +[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx +[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl +[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl +[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx +[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx +[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx +[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx +[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl +[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl +[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx +[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx +[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx +[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx +[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl +[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl +[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx +[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx +[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx +[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx +[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl +[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl +[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx +[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx +[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx +[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx +[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl +[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl +[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx +[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx +[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx +[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx +[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl +[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl +[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx +[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx +[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx +[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6 @@ -69,12 +165,60 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 +[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl +[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl +[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx +[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx +[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx +[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx +[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl +[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl +[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx +[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx +[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx +[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx +[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl +[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl +[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx +[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx +[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx +[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx +[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl +[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl +[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx +[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx +[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx +[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl [ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl [ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx [ ]*[a-f0-9]+: 66 8b ca movw.s %dx,%cx [ ]*[a-f0-9]+: 89 d1 movl %edx,%ecx [ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx +[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl +[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl +[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx +[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx +[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx +[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx +[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl +[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl +[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx +[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx +[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx +[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx +[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl +[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl +[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx +[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx +[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx +[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx +[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl +[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl +[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx +[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx +[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx +[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6 diff --git a/gas/testsuite/gas/i386/opts.s b/gas/testsuite/gas/i386/opts.s index dfa773b6b9..4bd8e2c2f0 100644 --- a/gas/testsuite/gas/i386/opts.s +++ b/gas/testsuite/gas/i386/opts.s @@ -5,6 +5,54 @@ _start: # Tests for op reg, reg + add %dl,%cl + add.s %dl,%cl + add %dx,%cx + add.s %dx,%cx + add %edx,%ecx + add.s %edx,%ecx + addb %dl,%cl + addb.s %dl,%cl + addw %dx,%cx + addw.s %dx,%cx + addl %edx,%ecx + addl.s %edx,%ecx + adc %dl,%cl + adc.s %dl,%cl + adc %dx,%cx + adc.s %dx,%cx + adc %edx,%ecx + adc.s %edx,%ecx + adcb %dl,%cl + adcb.s %dl,%cl + adcw %dx,%cx + adcw.s %dx,%cx + adcl %edx,%ecx + adcl.s %edx,%ecx + and %dl,%cl + and.s %dl,%cl + and %dx,%cx + and.s %dx,%cx + and %edx,%ecx + and.s %edx,%ecx + andb %dl,%cl + andb.s %dl,%cl + andw %dx,%cx + andw.s %dx,%cx + andl %edx,%ecx + andl.s %edx,%ecx + cmp %dl,%cl + cmp.s %dl,%cl + cmp %dx,%cx + cmp.s %dx,%cx + cmp %edx,%ecx + cmp.s %edx,%ecx + cmpb %dl,%cl + cmpb.s %dl,%cl + cmpw %dx,%cx + cmpw.s %dx,%cx + cmpl %edx,%ecx + cmpl.s %edx,%ecx mov %dl,%cl mov.s %dl,%cl mov %dx,%cx @@ -17,6 +65,54 @@ _start: movw.s %dx,%cx movl %edx,%ecx movl.s %edx,%ecx + or %dl,%cl + or.s %dl,%cl + or %dx,%cx + or.s %dx,%cx + or %edx,%ecx + or.s %edx,%ecx + orb %dl,%cl + orb.s %dl,%cl + orw %dx,%cx + orw.s %dx,%cx + orl %edx,%ecx + orl.s %edx,%ecx + sbb %dl,%cl + sbb.s %dl,%cl + sbb %dx,%cx + sbb.s %dx,%cx + sbb %edx,%ecx + sbb.s %edx,%ecx + sbbb %dl,%cl + sbbb.s %dl,%cl + sbbw %dx,%cx + sbbw.s %dx,%cx + sbbl %edx,%ecx + sbbl.s %edx,%ecx + sub %dl,%cl + sub.s %dl,%cl + sub %dx,%cx + sub.s %dx,%cx + sub %edx,%ecx + sub.s %edx,%ecx + subb %dl,%cl + subb.s %dl,%cl + subw %dx,%cx + subw.s %dx,%cx + subl %edx,%ecx + subl.s %edx,%ecx + xor %dl,%cl + xor.s %dl,%cl + xor %dx,%cx + xor.s %dx,%cx + xor %edx,%ecx + xor.s %edx,%ecx + xorb %dl,%cl + xorb.s %dl,%cl + xorw %dx,%cx + xorw.s %dx,%cx + xorl %edx,%ecx + xorl.s %edx,%ecx # Tests for op ymm, ymm vmovapd %ymm4,%ymm6 @@ -79,12 +175,60 @@ _start: .intel_syntax noprefix # Tests for op reg, reg + add cl,dl + add.s cl,dl + add cx,dx + add.s cx,dx + add ecx,edx + add.s ecx,edx + adc cl,dl + adc.s cl,dl + adc cx,dx + adc.s cx,dx + adc ecx,edx + adc.s ecx,edx + and cl,dl + and.s cl,dl + and cx,dx + and.s cx,dx + and ecx,edx + and.s ecx,edx + cmp cl,dl + cmp.s cl,dl + cmp cx,dx + cmp.s cx,dx + cmp ecx,edx + cmp.s ecx,edx mov cl,dl mov.s cl,dl mov cx,dx mov.s cx,dx mov ecx,edx mov.s ecx,edx + or cl,dl + or.s cl,dl + or cx,dx + or.s cx,dx + or ecx,edx + or.s ecx,edx + sbb cl,dl + sbb.s cl,dl + sbb cx,dx + sbb.s cx,dx + sbb ecx,edx + sbb.s ecx,edx + sub cl,dl + sub.s cl,dl + sub cx,dx + sub.s cx,dx + sub ecx,edx + sub.s ecx,edx + xor cl,dl + xor.s cl,dl + xor cx,dx + xor.s cx,dx + xor ecx,edx + xor.s ecx,edx # Tests for op ymm, ymm vmovapd ymm6,ymm4 diff --git a/gas/testsuite/gas/i386/x86-64-opts-intel.d b/gas/testsuite/gas/i386/x86-64-opts-intel.d index 779d13542d..5423b72d07 100644 --- a/gas/testsuite/gas/i386/x86-64-opts-intel.d +++ b/gas/testsuite/gas/i386/x86-64-opts-intel.d @@ -8,6 +8,70 @@ Disassembly of section .text: 0+ <_start>: +[ ]*[a-f0-9]+: 00 d1 add cl,dl +[ ]*[a-f0-9]+: 02 ca add.s cl,dl +[ ]*[a-f0-9]+: 66 01 d1 add cx,dx +[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx +[ ]*[a-f0-9]+: 01 d1 add ecx,edx +[ ]*[a-f0-9]+: 03 ca add.s ecx,edx +[ ]*[a-f0-9]+: 00 d1 add cl,dl +[ ]*[a-f0-9]+: 02 ca add.s cl,dl +[ ]*[a-f0-9]+: 66 01 d1 add cx,dx +[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx +[ ]*[a-f0-9]+: 01 d1 add ecx,edx +[ ]*[a-f0-9]+: 03 ca add.s ecx,edx +[ ]*[a-f0-9]+: 48 01 d1 add rcx,rdx +[ ]*[a-f0-9]+: 48 03 ca add.s rcx,rdx +[ ]*[a-f0-9]+: 48 01 d1 add rcx,rdx +[ ]*[a-f0-9]+: 48 03 ca add.s rcx,rdx +[ ]*[a-f0-9]+: 10 d1 adc cl,dl +[ ]*[a-f0-9]+: 12 ca adc.s cl,dl +[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx +[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx +[ ]*[a-f0-9]+: 11 d1 adc ecx,edx +[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx +[ ]*[a-f0-9]+: 10 d1 adc cl,dl +[ ]*[a-f0-9]+: 12 ca adc.s cl,dl +[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx +[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx +[ ]*[a-f0-9]+: 11 d1 adc ecx,edx +[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx +[ ]*[a-f0-9]+: 48 11 d1 adc rcx,rdx +[ ]*[a-f0-9]+: 48 13 ca adc.s rcx,rdx +[ ]*[a-f0-9]+: 48 11 d1 adc rcx,rdx +[ ]*[a-f0-9]+: 48 13 ca adc.s rcx,rdx +[ ]*[a-f0-9]+: 20 d1 and cl,dl +[ ]*[a-f0-9]+: 22 ca and.s cl,dl +[ ]*[a-f0-9]+: 66 21 d1 and cx,dx +[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx +[ ]*[a-f0-9]+: 21 d1 and ecx,edx +[ ]*[a-f0-9]+: 23 ca and.s ecx,edx +[ ]*[a-f0-9]+: 20 d1 and cl,dl +[ ]*[a-f0-9]+: 22 ca and.s cl,dl +[ ]*[a-f0-9]+: 66 21 d1 and cx,dx +[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx +[ ]*[a-f0-9]+: 21 d1 and ecx,edx +[ ]*[a-f0-9]+: 23 ca and.s ecx,edx +[ ]*[a-f0-9]+: 48 21 d1 and rcx,rdx +[ ]*[a-f0-9]+: 48 23 ca and.s rcx,rdx +[ ]*[a-f0-9]+: 48 21 d1 and rcx,rdx +[ ]*[a-f0-9]+: 48 23 ca and.s rcx,rdx +[ ]*[a-f0-9]+: 38 d1 cmp cl,dl +[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl +[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx +[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx +[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx +[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx +[ ]*[a-f0-9]+: 38 d1 cmp cl,dl +[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl +[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx +[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx +[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx +[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx +[ ]*[a-f0-9]+: 48 39 d1 cmp rcx,rdx +[ ]*[a-f0-9]+: 48 3b ca cmp.s rcx,rdx +[ ]*[a-f0-9]+: 48 39 d1 cmp rcx,rdx +[ ]*[a-f0-9]+: 48 3b ca cmp.s rcx,rdx [ ]*[a-f0-9]+: 88 d1 mov cl,dl [ ]*[a-f0-9]+: 8a ca mov.s cl,dl [ ]*[a-f0-9]+: 66 89 d1 mov cx,dx @@ -24,6 +88,70 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx [ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx [ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx +[ ]*[a-f0-9]+: 08 d1 or cl,dl +[ ]*[a-f0-9]+: 0a ca or.s cl,dl +[ ]*[a-f0-9]+: 66 09 d1 or cx,dx +[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx +[ ]*[a-f0-9]+: 09 d1 or ecx,edx +[ ]*[a-f0-9]+: 0b ca or.s ecx,edx +[ ]*[a-f0-9]+: 08 d1 or cl,dl +[ ]*[a-f0-9]+: 0a ca or.s cl,dl +[ ]*[a-f0-9]+: 66 09 d1 or cx,dx +[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx +[ ]*[a-f0-9]+: 09 d1 or ecx,edx +[ ]*[a-f0-9]+: 0b ca or.s ecx,edx +[ ]*[a-f0-9]+: 48 09 d1 or rcx,rdx +[ ]*[a-f0-9]+: 48 0b ca or.s rcx,rdx +[ ]*[a-f0-9]+: 48 09 d1 or rcx,rdx +[ ]*[a-f0-9]+: 48 0b ca or.s rcx,rdx +[ ]*[a-f0-9]+: 18 d1 sbb cl,dl +[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl +[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx +[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx +[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx +[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx +[ ]*[a-f0-9]+: 18 d1 sbb cl,dl +[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl +[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx +[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx +[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx +[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx +[ ]*[a-f0-9]+: 48 19 d1 sbb rcx,rdx +[ ]*[a-f0-9]+: 48 1b ca sbb.s rcx,rdx +[ ]*[a-f0-9]+: 48 19 d1 sbb rcx,rdx +[ ]*[a-f0-9]+: 48 1b ca sbb.s rcx,rdx +[ ]*[a-f0-9]+: 28 d1 sub cl,dl +[ ]*[a-f0-9]+: 2a ca sub.s cl,dl +[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx +[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx +[ ]*[a-f0-9]+: 29 d1 sub ecx,edx +[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx +[ ]*[a-f0-9]+: 28 d1 sub cl,dl +[ ]*[a-f0-9]+: 2a ca sub.s cl,dl +[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx +[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx +[ ]*[a-f0-9]+: 29 d1 sub ecx,edx +[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx +[ ]*[a-f0-9]+: 48 29 d1 sub rcx,rdx +[ ]*[a-f0-9]+: 48 2b ca sub.s rcx,rdx +[ ]*[a-f0-9]+: 48 29 d1 sub rcx,rdx +[ ]*[a-f0-9]+: 48 2b ca sub.s rcx,rdx +[ ]*[a-f0-9]+: 30 d1 xor cl,dl +[ ]*[a-f0-9]+: 32 ca xor.s cl,dl +[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx +[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx +[ ]*[a-f0-9]+: 31 d1 xor ecx,edx +[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx +[ ]*[a-f0-9]+: 30 d1 xor cl,dl +[ ]*[a-f0-9]+: 32 ca xor.s cl,dl +[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx +[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx +[ ]*[a-f0-9]+: 31 d1 xor ecx,edx +[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx +[ ]*[a-f0-9]+: 48 31 d1 xor rcx,rdx +[ ]*[a-f0-9]+: 48 33 ca xor.s rcx,rdx +[ ]*[a-f0-9]+: 48 31 d1 xor rcx,rdx +[ ]*[a-f0-9]+: 48 33 ca xor.s rcx,rdx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4 @@ -74,6 +202,38 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s xmm2,xmm6,xmm4 [ ]*[a-f0-9]+: 0f 6f e0 movq mm4,mm0 [ ]*[a-f0-9]+: 0f 7f c4 movq.s mm4,mm0 +[ ]*[a-f0-9]+: 00 d1 add cl,dl +[ ]*[a-f0-9]+: 02 ca add.s cl,dl +[ ]*[a-f0-9]+: 66 01 d1 add cx,dx +[ ]*[a-f0-9]+: 66 03 ca add.s cx,dx +[ ]*[a-f0-9]+: 01 d1 add ecx,edx +[ ]*[a-f0-9]+: 03 ca add.s ecx,edx +[ ]*[a-f0-9]+: 48 01 d1 add rcx,rdx +[ ]*[a-f0-9]+: 48 03 ca add.s rcx,rdx +[ ]*[a-f0-9]+: 10 d1 adc cl,dl +[ ]*[a-f0-9]+: 12 ca adc.s cl,dl +[ ]*[a-f0-9]+: 66 11 d1 adc cx,dx +[ ]*[a-f0-9]+: 66 13 ca adc.s cx,dx +[ ]*[a-f0-9]+: 11 d1 adc ecx,edx +[ ]*[a-f0-9]+: 13 ca adc.s ecx,edx +[ ]*[a-f0-9]+: 48 11 d1 adc rcx,rdx +[ ]*[a-f0-9]+: 48 13 ca adc.s rcx,rdx +[ ]*[a-f0-9]+: 20 d1 and cl,dl +[ ]*[a-f0-9]+: 22 ca and.s cl,dl +[ ]*[a-f0-9]+: 66 21 d1 and cx,dx +[ ]*[a-f0-9]+: 66 23 ca and.s cx,dx +[ ]*[a-f0-9]+: 21 d1 and ecx,edx +[ ]*[a-f0-9]+: 23 ca and.s ecx,edx +[ ]*[a-f0-9]+: 48 21 d1 and rcx,rdx +[ ]*[a-f0-9]+: 48 23 ca and.s rcx,rdx +[ ]*[a-f0-9]+: 38 d1 cmp cl,dl +[ ]*[a-f0-9]+: 3a ca cmp.s cl,dl +[ ]*[a-f0-9]+: 66 39 d1 cmp cx,dx +[ ]*[a-f0-9]+: 66 3b ca cmp.s cx,dx +[ ]*[a-f0-9]+: 39 d1 cmp ecx,edx +[ ]*[a-f0-9]+: 3b ca cmp.s ecx,edx +[ ]*[a-f0-9]+: 48 39 d1 cmp rcx,rdx +[ ]*[a-f0-9]+: 48 3b ca cmp.s rcx,rdx [ ]*[a-f0-9]+: 88 d1 mov cl,dl [ ]*[a-f0-9]+: 8a ca mov.s cl,dl [ ]*[a-f0-9]+: 66 89 d1 mov cx,dx @@ -82,6 +242,38 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 8b ca mov.s ecx,edx [ ]*[a-f0-9]+: 48 89 d1 mov rcx,rdx [ ]*[a-f0-9]+: 48 8b ca mov.s rcx,rdx +[ ]*[a-f0-9]+: 08 d1 or cl,dl +[ ]*[a-f0-9]+: 0a ca or.s cl,dl +[ ]*[a-f0-9]+: 66 09 d1 or cx,dx +[ ]*[a-f0-9]+: 66 0b ca or.s cx,dx +[ ]*[a-f0-9]+: 09 d1 or ecx,edx +[ ]*[a-f0-9]+: 0b ca or.s ecx,edx +[ ]*[a-f0-9]+: 48 09 d1 or rcx,rdx +[ ]*[a-f0-9]+: 48 0b ca or.s rcx,rdx +[ ]*[a-f0-9]+: 18 d1 sbb cl,dl +[ ]*[a-f0-9]+: 1a ca sbb.s cl,dl +[ ]*[a-f0-9]+: 66 19 d1 sbb cx,dx +[ ]*[a-f0-9]+: 66 1b ca sbb.s cx,dx +[ ]*[a-f0-9]+: 19 d1 sbb ecx,edx +[ ]*[a-f0-9]+: 1b ca sbb.s ecx,edx +[ ]*[a-f0-9]+: 48 19 d1 sbb rcx,rdx +[ ]*[a-f0-9]+: 48 1b ca sbb.s rcx,rdx +[ ]*[a-f0-9]+: 28 d1 sub cl,dl +[ ]*[a-f0-9]+: 2a ca sub.s cl,dl +[ ]*[a-f0-9]+: 66 29 d1 sub cx,dx +[ ]*[a-f0-9]+: 66 2b ca sub.s cx,dx +[ ]*[a-f0-9]+: 29 d1 sub ecx,edx +[ ]*[a-f0-9]+: 2b ca sub.s ecx,edx +[ ]*[a-f0-9]+: 48 29 d1 sub rcx,rdx +[ ]*[a-f0-9]+: 48 2b ca sub.s rcx,rdx +[ ]*[a-f0-9]+: 30 d1 xor cl,dl +[ ]*[a-f0-9]+: 32 ca xor.s cl,dl +[ ]*[a-f0-9]+: 66 31 d1 xor cx,dx +[ ]*[a-f0-9]+: 66 33 ca xor.s cx,dx +[ ]*[a-f0-9]+: 31 d1 xor ecx,edx +[ ]*[a-f0-9]+: 33 ca xor.s ecx,edx +[ ]*[a-f0-9]+: 48 31 d1 xor rcx,rdx +[ ]*[a-f0-9]+: 48 33 ca xor.s rcx,rdx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd ymm6,ymm4 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s ymm6,ymm4 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps ymm6,ymm4 diff --git a/gas/testsuite/gas/i386/x86-64-opts.d b/gas/testsuite/gas/i386/x86-64-opts.d index d50b4e86e0..478f3fb3ef 100644 --- a/gas/testsuite/gas/i386/x86-64-opts.d +++ b/gas/testsuite/gas/i386/x86-64-opts.d @@ -7,6 +7,70 @@ Disassembly of section .text: 0+ <_start>: +[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl +[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl +[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx +[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx +[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx +[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx +[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl +[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl +[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx +[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx +[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx +[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 01 d1 addq %rdx,%rcx +[ ]*[a-f0-9]+: 48 03 ca addq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 01 d1 addq %rdx,%rcx +[ ]*[a-f0-9]+: 48 03 ca addq.s %rdx,%rcx +[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl +[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl +[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx +[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx +[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx +[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx +[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl +[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl +[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx +[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx +[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx +[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 11 d1 adcq %rdx,%rcx +[ ]*[a-f0-9]+: 48 13 ca adcq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 11 d1 adcq %rdx,%rcx +[ ]*[a-f0-9]+: 48 13 ca adcq.s %rdx,%rcx +[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl +[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl +[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx +[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx +[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx +[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx +[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl +[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl +[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx +[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx +[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx +[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 21 d1 andq %rdx,%rcx +[ ]*[a-f0-9]+: 48 23 ca andq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 21 d1 andq %rdx,%rcx +[ ]*[a-f0-9]+: 48 23 ca andq.s %rdx,%rcx +[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl +[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl +[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx +[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx +[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx +[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx +[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl +[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl +[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx +[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx +[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx +[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 39 d1 cmpq %rdx,%rcx +[ ]*[a-f0-9]+: 48 3b ca cmpq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 39 d1 cmpq %rdx,%rcx +[ ]*[a-f0-9]+: 48 3b ca cmpq.s %rdx,%rcx [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl [ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl [ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx @@ -23,6 +87,70 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx [ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx [ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx +[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl +[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl +[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx +[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx +[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx +[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx +[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl +[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl +[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx +[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx +[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx +[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 09 d1 orq %rdx,%rcx +[ ]*[a-f0-9]+: 48 0b ca orq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 09 d1 orq %rdx,%rcx +[ ]*[a-f0-9]+: 48 0b ca orq.s %rdx,%rcx +[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl +[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl +[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx +[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx +[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx +[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx +[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl +[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl +[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx +[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx +[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx +[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 19 d1 sbbq %rdx,%rcx +[ ]*[a-f0-9]+: 48 1b ca sbbq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 19 d1 sbbq %rdx,%rcx +[ ]*[a-f0-9]+: 48 1b ca sbbq.s %rdx,%rcx +[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl +[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl +[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx +[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx +[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx +[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx +[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl +[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl +[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx +[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx +[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx +[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 29 d1 subq %rdx,%rcx +[ ]*[a-f0-9]+: 48 2b ca subq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 29 d1 subq %rdx,%rcx +[ ]*[a-f0-9]+: 48 2b ca subq.s %rdx,%rcx +[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl +[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl +[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx +[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx +[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx +[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx +[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl +[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl +[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx +[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx +[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx +[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 31 d1 xorq %rdx,%rcx +[ ]*[a-f0-9]+: 48 33 ca xorq.s %rdx,%rcx +[ ]*[a-f0-9]+: 48 31 d1 xorq %rdx,%rcx +[ ]*[a-f0-9]+: 48 33 ca xorq.s %rdx,%rcx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6 @@ -73,6 +201,38 @@ Disassembly of section .text: [ ]*[a-f0-9]+: c5 ca 11 e2 vmovss.s %xmm4,%xmm6,%xmm2 [ ]*[a-f0-9]+: 0f 6f e0 movq %mm0,%mm4 [ ]*[a-f0-9]+: 0f 7f c4 movq.s %mm0,%mm4 +[ ]*[a-f0-9]+: 00 d1 addb %dl,%cl +[ ]*[a-f0-9]+: 02 ca addb.s %dl,%cl +[ ]*[a-f0-9]+: 66 01 d1 addw %dx,%cx +[ ]*[a-f0-9]+: 66 03 ca addw.s %dx,%cx +[ ]*[a-f0-9]+: 01 d1 addl %edx,%ecx +[ ]*[a-f0-9]+: 03 ca addl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 01 d1 addq %rdx,%rcx +[ ]*[a-f0-9]+: 48 03 ca addq.s %rdx,%rcx +[ ]*[a-f0-9]+: 10 d1 adcb %dl,%cl +[ ]*[a-f0-9]+: 12 ca adcb.s %dl,%cl +[ ]*[a-f0-9]+: 66 11 d1 adcw %dx,%cx +[ ]*[a-f0-9]+: 66 13 ca adcw.s %dx,%cx +[ ]*[a-f0-9]+: 11 d1 adcl %edx,%ecx +[ ]*[a-f0-9]+: 13 ca adcl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 11 d1 adcq %rdx,%rcx +[ ]*[a-f0-9]+: 48 13 ca adcq.s %rdx,%rcx +[ ]*[a-f0-9]+: 20 d1 andb %dl,%cl +[ ]*[a-f0-9]+: 22 ca andb.s %dl,%cl +[ ]*[a-f0-9]+: 66 21 d1 andw %dx,%cx +[ ]*[a-f0-9]+: 66 23 ca andw.s %dx,%cx +[ ]*[a-f0-9]+: 21 d1 andl %edx,%ecx +[ ]*[a-f0-9]+: 23 ca andl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 21 d1 andq %rdx,%rcx +[ ]*[a-f0-9]+: 48 23 ca andq.s %rdx,%rcx +[ ]*[a-f0-9]+: 38 d1 cmpb %dl,%cl +[ ]*[a-f0-9]+: 3a ca cmpb.s %dl,%cl +[ ]*[a-f0-9]+: 66 39 d1 cmpw %dx,%cx +[ ]*[a-f0-9]+: 66 3b ca cmpw.s %dx,%cx +[ ]*[a-f0-9]+: 39 d1 cmpl %edx,%ecx +[ ]*[a-f0-9]+: 3b ca cmpl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 39 d1 cmpq %rdx,%rcx +[ ]*[a-f0-9]+: 48 3b ca cmpq.s %rdx,%rcx [ ]*[a-f0-9]+: 88 d1 movb %dl,%cl [ ]*[a-f0-9]+: 8a ca movb.s %dl,%cl [ ]*[a-f0-9]+: 66 89 d1 movw %dx,%cx @@ -81,6 +241,38 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 8b ca movl.s %edx,%ecx [ ]*[a-f0-9]+: 48 89 d1 movq %rdx,%rcx [ ]*[a-f0-9]+: 48 8b ca movq.s %rdx,%rcx +[ ]*[a-f0-9]+: 08 d1 orb %dl,%cl +[ ]*[a-f0-9]+: 0a ca orb.s %dl,%cl +[ ]*[a-f0-9]+: 66 09 d1 orw %dx,%cx +[ ]*[a-f0-9]+: 66 0b ca orw.s %dx,%cx +[ ]*[a-f0-9]+: 09 d1 orl %edx,%ecx +[ ]*[a-f0-9]+: 0b ca orl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 09 d1 orq %rdx,%rcx +[ ]*[a-f0-9]+: 48 0b ca orq.s %rdx,%rcx +[ ]*[a-f0-9]+: 18 d1 sbbb %dl,%cl +[ ]*[a-f0-9]+: 1a ca sbbb.s %dl,%cl +[ ]*[a-f0-9]+: 66 19 d1 sbbw %dx,%cx +[ ]*[a-f0-9]+: 66 1b ca sbbw.s %dx,%cx +[ ]*[a-f0-9]+: 19 d1 sbbl %edx,%ecx +[ ]*[a-f0-9]+: 1b ca sbbl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 19 d1 sbbq %rdx,%rcx +[ ]*[a-f0-9]+: 48 1b ca sbbq.s %rdx,%rcx +[ ]*[a-f0-9]+: 28 d1 subb %dl,%cl +[ ]*[a-f0-9]+: 2a ca subb.s %dl,%cl +[ ]*[a-f0-9]+: 66 29 d1 subw %dx,%cx +[ ]*[a-f0-9]+: 66 2b ca subw.s %dx,%cx +[ ]*[a-f0-9]+: 29 d1 subl %edx,%ecx +[ ]*[a-f0-9]+: 2b ca subl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 29 d1 subq %rdx,%rcx +[ ]*[a-f0-9]+: 48 2b ca subq.s %rdx,%rcx +[ ]*[a-f0-9]+: 30 d1 xorb %dl,%cl +[ ]*[a-f0-9]+: 32 ca xorb.s %dl,%cl +[ ]*[a-f0-9]+: 66 31 d1 xorw %dx,%cx +[ ]*[a-f0-9]+: 66 33 ca xorw.s %dx,%cx +[ ]*[a-f0-9]+: 31 d1 xorl %edx,%ecx +[ ]*[a-f0-9]+: 33 ca xorl.s %edx,%ecx +[ ]*[a-f0-9]+: 48 31 d1 xorq %rdx,%rcx +[ ]*[a-f0-9]+: 48 33 ca xorq.s %rdx,%rcx [ ]*[a-f0-9]+: c5 fd 28 f4 vmovapd %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fd 29 e6 vmovapd.s %ymm4,%ymm6 [ ]*[a-f0-9]+: c5 fc 28 f4 vmovaps %ymm4,%ymm6 diff --git a/gas/testsuite/gas/i386/x86-64-opts.s b/gas/testsuite/gas/i386/x86-64-opts.s index aa8e706a66..74c39f0f54 100644 --- a/gas/testsuite/gas/i386/x86-64-opts.s +++ b/gas/testsuite/gas/i386/x86-64-opts.s @@ -5,6 +5,70 @@ _start: # Tests for op reg, reg + add %dl,%cl + add.s %dl,%cl + add %dx,%cx + add.s %dx,%cx + add %edx,%ecx + add.s %edx,%ecx + addb %dl,%cl + addb.s %dl,%cl + addw %dx,%cx + addw.s %dx,%cx + addl %edx,%ecx + addl.s %edx,%ecx + add %rdx,%rcx + add.s %rdx,%rcx + addq %rdx,%rcx + addq.s %rdx,%rcx + adc %dl,%cl + adc.s %dl,%cl + adc %dx,%cx + adc.s %dx,%cx + adc %edx,%ecx + adc.s %edx,%ecx + adcb %dl,%cl + adcb.s %dl,%cl + adcw %dx,%cx + adcw.s %dx,%cx + adcl %edx,%ecx + adcl.s %edx,%ecx + adc %rdx,%rcx + adc.s %rdx,%rcx + adcq %rdx,%rcx + adcq.s %rdx,%rcx + and %dl,%cl + and.s %dl,%cl + and %dx,%cx + and.s %dx,%cx + and %edx,%ecx + and.s %edx,%ecx + andb %dl,%cl + andb.s %dl,%cl + andw %dx,%cx + andw.s %dx,%cx + andl %edx,%ecx + andl.s %edx,%ecx + and %rdx,%rcx + and.s %rdx,%rcx + andq %rdx,%rcx + andq.s %rdx,%rcx + cmp %dl,%cl + cmp.s %dl,%cl + cmp %dx,%cx + cmp.s %dx,%cx + cmp %edx,%ecx + cmp.s %edx,%ecx + cmpb %dl,%cl + cmpb.s %dl,%cl + cmpw %dx,%cx + cmpw.s %dx,%cx + cmpl %edx,%ecx + cmpl.s %edx,%ecx + cmp %rdx,%rcx + cmp.s %rdx,%rcx + cmpq %rdx,%rcx + cmpq.s %rdx,%rcx mov %dl,%cl mov.s %dl,%cl mov %dx,%cx @@ -21,6 +85,70 @@ _start: mov.s %rdx,%rcx movq %rdx,%rcx movq.s %rdx,%rcx + or %dl,%cl + or.s %dl,%cl + or %dx,%cx + or.s %dx,%cx + or %edx,%ecx + or.s %edx,%ecx + orb %dl,%cl + orb.s %dl,%cl + orw %dx,%cx + orw.s %dx,%cx + orl %edx,%ecx + orl.s %edx,%ecx + or %rdx,%rcx + or.s %rdx,%rcx + orq %rdx,%rcx + orq.s %rdx,%rcx + sbb %dl,%cl + sbb.s %dl,%cl + sbb %dx,%cx + sbb.s %dx,%cx + sbb %edx,%ecx + sbb.s %edx,%ecx + sbbb %dl,%cl + sbbb.s %dl,%cl + sbbw %dx,%cx + sbbw.s %dx,%cx + sbbl %edx,%ecx + sbbl.s %edx,%ecx + sbb %rdx,%rcx + sbb.s %rdx,%rcx + sbbq %rdx,%rcx + sbbq.s %rdx,%rcx + sub %dl,%cl + sub.s %dl,%cl + sub %dx,%cx + sub.s %dx,%cx + sub %edx,%ecx + sub.s %edx,%ecx + subb %dl,%cl + subb.s %dl,%cl + subw %dx,%cx + subw.s %dx,%cx + subl %edx,%ecx + subl.s %edx,%ecx + sub %rdx,%rcx + sub.s %rdx,%rcx + subq %rdx,%rcx + subq.s %rdx,%rcx + xor %dl,%cl + xor.s %dl,%cl + xor %dx,%cx + xor.s %dx,%cx + xor %edx,%ecx + xor.s %edx,%ecx + xorb %dl,%cl + xorb.s %dl,%cl + xorw %dx,%cx + xorw.s %dx,%cx + xorl %edx,%ecx + xorl.s %edx,%ecx + xor %rdx,%rcx + xor.s %rdx,%rcx + xorq %rdx,%rcx + xorq.s %rdx,%rcx # Tests for op ymm, ymm vmovapd %ymm4,%ymm6 @@ -83,6 +211,38 @@ _start: .intel_syntax noprefix # Tests for op reg, reg + add cl,dl + add.s cl,dl + add cx,dx + add.s cx,dx + add ecx,edx + add.s ecx,edx + add rcx,rdx + add.s rcx,rdx + adc cl,dl + adc.s cl,dl + adc cx,dx + adc.s cx,dx + adc ecx,edx + adc.s ecx,edx + adc rcx,rdx + adc.s rcx,rdx + and cl,dl + and.s cl,dl + and cx,dx + and.s cx,dx + and ecx,edx + and.s ecx,edx + and rcx,rdx + and.s rcx,rdx + cmp cl,dl + cmp.s cl,dl + cmp cx,dx + cmp.s cx,dx + cmp ecx,edx + cmp.s ecx,edx + cmp rcx,rdx + cmp.s rcx,rdx mov cl,dl mov.s cl,dl mov cx,dx @@ -91,6 +251,38 @@ _start: mov.s ecx,edx mov rcx,rdx mov.s rcx,rdx + or cl,dl + or.s cl,dl + or cx,dx + or.s cx,dx + or ecx,edx + or.s ecx,edx + or rcx,rdx + or.s rcx,rdx + sbb cl,dl + sbb.s cl,dl + sbb cx,dx + sbb.s cx,dx + sbb ecx,edx + sbb.s ecx,edx + sbb rcx,rdx + sbb.s rcx,rdx + sub cl,dl + sub.s cl,dl + sub cx,dx + sub.s cx,dx + sub ecx,edx + sub.s ecx,edx + sub rcx,rdx + sub.s rcx,rdx + xor cl,dl + xor.s cl,dl + xor cx,dx + xor.s cx,dx + xor ecx,edx + xor.s ecx,edx + xor rcx,rdx + xor.s rcx,rdx # Tests for op ymm, ymm vmovapd ymm6,ymm4 diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index ec0952e2be..f8ddf48201 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2009-01-12 H.J. Lu + + * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB, + subB, xorB and cmpB. Use EvS on addS, orS, adcS, sbbS, andS, + subS, xorS and cmpS. + 2009-01-10 H.J. Lu * i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 43119f8a23..434ecfca6b 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1310,8 +1310,8 @@ static const struct dis386 dis386[] = { /* 00 */ { "addB", { Eb, Gb } }, { "addS", { Ev, Gv } }, - { "addB", { Gb, Eb } }, - { "addS", { Gv, Ev } }, + { "addB", { Gb, EbS } }, + { "addS", { Gv, EvS } }, { "addB", { AL, Ib } }, { "addS", { eAX, Iv } }, { X86_64_TABLE (X86_64_06) }, @@ -1319,8 +1319,8 @@ static const struct dis386 dis386[] = { /* 08 */ { "orB", { Eb, Gb } }, { "orS", { Ev, Gv } }, - { "orB", { Gb, Eb } }, - { "orS", { Gv, Ev } }, + { "orB", { Gb, EbS } }, + { "orS", { Gv, EvS } }, { "orB", { AL, Ib } }, { "orS", { eAX, Iv } }, { X86_64_TABLE (X86_64_0D) }, @@ -1328,8 +1328,8 @@ static const struct dis386 dis386[] = { /* 10 */ { "adcB", { Eb, Gb } }, { "adcS", { Ev, Gv } }, - { "adcB", { Gb, Eb } }, - { "adcS", { Gv, Ev } }, + { "adcB", { Gb, EbS } }, + { "adcS", { Gv, EvS } }, { "adcB", { AL, Ib } }, { "adcS", { eAX, Iv } }, { X86_64_TABLE (X86_64_16) }, @@ -1337,8 +1337,8 @@ static const struct dis386 dis386[] = { /* 18 */ { "sbbB", { Eb, Gb } }, { "sbbS", { Ev, Gv } }, - { "sbbB", { Gb, Eb } }, - { "sbbS", { Gv, Ev } }, + { "sbbB", { Gb, EbS } }, + { "sbbS", { Gv, EvS } }, { "sbbB", { AL, Ib } }, { "sbbS", { eAX, Iv } }, { X86_64_TABLE (X86_64_1E) }, @@ -1346,8 +1346,8 @@ static const struct dis386 dis386[] = { /* 20 */ { "andB", { Eb, Gb } }, { "andS", { Ev, Gv } }, - { "andB", { Gb, Eb } }, - { "andS", { Gv, Ev } }, + { "andB", { Gb, EbS } }, + { "andS", { Gv, EvS } }, { "andB", { AL, Ib } }, { "andS", { eAX, Iv } }, { "(bad)", { XX } }, /* SEG ES prefix */ @@ -1355,8 +1355,8 @@ static const struct dis386 dis386[] = { /* 28 */ { "subB", { Eb, Gb } }, { "subS", { Ev, Gv } }, - { "subB", { Gb, Eb } }, - { "subS", { Gv, Ev } }, + { "subB", { Gb, EbS } }, + { "subS", { Gv, EvS } }, { "subB", { AL, Ib } }, { "subS", { eAX, Iv } }, { "(bad)", { XX } }, /* SEG CS prefix */ @@ -1364,8 +1364,8 @@ static const struct dis386 dis386[] = { /* 30 */ { "xorB", { Eb, Gb } }, { "xorS", { Ev, Gv } }, - { "xorB", { Gb, Eb } }, - { "xorS", { Gv, Ev } }, + { "xorB", { Gb, EbS } }, + { "xorS", { Gv, EvS } }, { "xorB", { AL, Ib } }, { "xorS", { eAX, Iv } }, { "(bad)", { XX } }, /* SEG SS prefix */ @@ -1373,8 +1373,8 @@ static const struct dis386 dis386[] = { /* 38 */ { "cmpB", { Eb, Gb } }, { "cmpS", { Ev, Gv } }, - { "cmpB", { Gb, Eb } }, - { "cmpS", { Gv, Ev } }, + { "cmpB", { Gb, EbS } }, + { "cmpS", { Gv, EvS } }, { "cmpB", { AL, Ib } }, { "cmpS", { eAX, Iv } }, { "(bad)", { XX } }, /* SEG DS prefix */ -- 2.11.0