diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-11-12 09:08:32 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-11-12 09:08:32 +0100 |
commit | 474da251bf92a11a08583080af77fa197570767f (patch) | |
tree | ca55563b2175c86cbb02362e1eb05135da888001 /gas | |
parent | 75e5731b8f10129ef9a0e4202152c391d70375eb (diff) | |
download | gdb-474da251bf92a11a08583080af77fa197570767f.zip gdb-474da251bf92a11a08583080af77fa197570767f.tar.gz gdb-474da251bf92a11a08583080af77fa197570767f.tar.bz2 |
x86: eliminate ImmExt abuse
Drop the remaining instances left in place by commit c3949f432f ("x86:
limit ImmExt abuse), now that we have a way to specify specific GPRs.
Take the opportunity and also introduce proper 16-bit forms of
applicable SVME insns as well as 1-operand forms of CLZERO.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 16 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 50 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/mwaitx-reg.l | 84 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/svme.d | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/svme.s | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-mwaitx-reg.l | 180 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-specific-reg.l | 330 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-specific-reg.s | 5 |
12 files changed, 343 insertions, 352 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index efc5395..65e327d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,21 @@ 2019-11-12 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (process_immext): Remove SSE3, SVME, and + MWAITX special case logic. + (process_suffix): Replace immext field uses by instance ones. + * testsuite/gas/i386/arch-13.s, + testsuite/gas/i386/x86-64-arch-3.s: Add CLZERO with operand + cases. + * testsuite/gas/i386/svme.s: Add 16-bit operand cases. + * testsuite/gas/i386/x86-64-specific-reg.s: Drop FIXME comments. + * testsuite/gas/i386/arch-13.d, + testsuite/gas/i386/mwaitx-reg.l, testsuite/gas/i386/svme.d, + testsuite/gas/i386/x86-64-arch-3.d, + testsuite/gas/i386/x86-64-mwaitx-reg.l, + testsuite/gas/i386/x86-64-specific-reg.l: Adjust expectations. + +2019-11-12 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (operand_type_set, operand_type_and, operand_type_and_not, operand_type_or, operand_type_xor): Handle "instance" field specially. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 75ea225..f3e77d7 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -3850,52 +3850,6 @@ process_immext (void) { expressionS *exp; - if ((i.tm.cpu_flags.bitfield.cpusse3 || i.tm.cpu_flags.bitfield.cpusvme) - && i.operands > 0) - { - /* MONITOR/MWAIT as well as SVME instructions have fixed operands - with an opcode suffix which is coded in the same place as an - 8-bit immediate field would be. - Here we check those operands and remove them afterwards. */ - unsigned int x; - - for (x = 0; x < i.operands; x++) - if (register_number (i.op[x].regs) != x) - as_bad (_("can't use register '%s%s' as operand %d in '%s'."), - register_prefix, i.op[x].regs->reg_name, x + 1, - i.tm.name); - - i.operands = 0; - } - - if (i.tm.cpu_flags.bitfield.cpumwaitx && i.operands > 0) - { - /* MONITORX/MWAITX instructions have fixed operands with an opcode - suffix which is coded in the same place as an 8-bit immediate - field would be. - Here we check those operands and remove them afterwards. */ - unsigned int x; - - if (i.operands != 3) - abort(); - - for (x = 0; x < 2; x++) - if (register_number (i.op[x].regs) != x) - goto bad_register_operand; - - /* Check for third operand for mwaitx/monitorx insn. */ - if (register_number (i.op[x].regs) - != (x + (i.tm.extension_opcode == 0xfb))) - { -bad_register_operand: - as_bad (_("can't use register '%s%s' as operand %d in '%s'."), - register_prefix, i.op[x].regs->reg_name, x+1, - i.tm.name); - } - - i.operands = 0; - } - /* These AMD 3DNow! and SSE2 instructions have an opcode suffix which is coded in the same place as an 8-bit immediate field would be. Here we fake an 8-bit immediate operand from the @@ -6473,7 +6427,7 @@ process_suffix (void) if (i.reg_operands > 0 && i.types[0].bitfield.class == Reg && i.tm.opcode_modifier.addrprefixopreg - && (i.tm.opcode_modifier.immext + && (i.tm.operand_types[0].bitfield.instance == Accum || i.operands == 1)) { /* The address size override prefix changes the size of the @@ -6523,7 +6477,7 @@ process_suffix (void) if (i.reg_operands != 0 && i.operands > 1 && i.tm.opcode_modifier.addrprefixopreg - && !i.tm.opcode_modifier.immext) + && i.tm.operand_types[0].bitfield.instance != Accum) { /* Check invalid register operand when the address size override prefix changes the size of register operands. */ diff --git a/gas/testsuite/gas/i386/arch-13.d b/gas/testsuite/gas/i386/arch-13.d index b9d79b4..7e575bf 100644 --- a/gas/testsuite/gas/i386/arch-13.d +++ b/gas/testsuite/gas/i386/arch-13.d @@ -12,7 +12,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 38 f6 ca adcx %edx,%ecx [ ]*[a-f0-9]+: f3 0f 38 f6 ca adox %edx,%ecx [ ]*[a-f0-9]+: 0f c7 f8 rdseed %eax -[ ]*[a-f0-9]+: 0f 01 fc clzero +[ ]*[a-f0-9]+: 0f 01 fc clzero[ ]* +[ ]*[a-f0-9]+: 0f 01 fc clzero[ ]* +[ ]*[a-f0-9]+: 67 0f 01 fc addr16 clzero[ ]* [ ]*[a-f0-9]+: 0f c7 21 xsavec \(%ecx\) [ ]*[a-f0-9]+: 0f c7 29 xsaves \(%ecx\) [ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%ecx\) diff --git a/gas/testsuite/gas/i386/arch-13.s b/gas/testsuite/gas/i386/arch-13.s index 56d421b..1c20cfe 100644 --- a/gas/testsuite/gas/i386/arch-13.s +++ b/gas/testsuite/gas/i386/arch-13.s @@ -11,6 +11,8 @@ rdseed %eax #CLZERO clzero + clzero %eax + clzero %ax #XSAVEC xsavec (%ecx) #XSAVES diff --git a/gas/testsuite/gas/i386/mwaitx-reg.l b/gas/testsuite/gas/i386/mwaitx-reg.l index 68ea6e9..de2355a 100644 --- a/gas/testsuite/gas/i386/mwaitx-reg.l +++ b/gas/testsuite/gas/i386/mwaitx-reg.l @@ -1,59 +1,59 @@ #as: -march=mwaitx .*: Assembler messages: #eax -.*:[0-9]*: Error: .*eax.* 2 .*monitorx.* -.*:[0-9]*: Error: .*eax.* 3 .*monitorx.* -.*:[0-9]*: Error: .*eax.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*eax.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #ebx -.*:[0-9]*: Error: .*ebx.* 1 .*monitorx.* -.*:[0-9]*: Error: .*ebx.* 2 .*monitorx.* -.*:[0-9]*: Error: .*ebx.* 3 .*monitorx.* -.*:[0-9]*: Error: .*ebx.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*ebx.* 2 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #ecx -.*:[0-9]*: Error: .*ecx.* 1 .*monitorx.* -.*:[0-9]*: Error: .*ecx.* 3 .*monitorx.* -.*:[0-9]*: Error: .*ecx.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*ecx.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #edx -.*:[0-9]*: Error: .*edx.* 1 .*monitorx.* -.*:[0-9]*: Error: .*edx.* 2 .*monitorx.* -.*:[0-9]*: Error: .*edx.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*edx.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*edx.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #esp -.*:[0-9]*: Error: .*esp.* 1 .*monitorx.* -.*:[0-9]*: Error: .*esp.* 2 .*monitorx.* -.*:[0-9]*: Error: .*esp.* 3 .*monitorx.* -.*:[0-9]*: Error: .*esp.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*esp.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*esp.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #ebp -.*:[0-9]*: Error: .*ebp.* 1 .*monitorx.* -.*:[0-9]*: Error: .*ebp.* 2 .*monitorx.* -.*:[0-9]*: Error: .*ebp.* 3 .*monitorx.* -.*:[0-9]*: Error: .*ebp.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*ebp.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*ebp.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #esi -.*:[0-9]*: Error: .*esi.* 1 .*monitorx.* -.*:[0-9]*: Error: .*esi.* 2 .*monitorx.* -.*:[0-9]*: Error: .*esi.* 3 .*monitorx.* -.*:[0-9]*: Error: .*esi.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*esi.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*esi.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #edi -.*:[0-9]*: Error: .*edi.* 1 .*monitorx.* -.*:[0-9]*: Error: .*edi.* 2 .*monitorx.* -.*:[0-9]*: Error: .*edi.* 3 .*monitorx.* -.*:[0-9]*: Error: .*edi.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*edi.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*edi.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* diff --git a/gas/testsuite/gas/i386/svme.d b/gas/testsuite/gas/i386/svme.d index d7682a4..f5c17b7 100644 --- a/gas/testsuite/gas/i386/svme.d +++ b/gas/testsuite/gas/i386/svme.d @@ -20,10 +20,20 @@ Disassembly of section .text: [ ]*[0-9a-f]+:[ ]+0f 01 da[ ]+vmload[ ]* [ ]*[0-9a-f]+:[ ]+0f 01 d8[ ]+vmrun[ ]* [ ]*[0-9a-f]+:[ ]+0f 01 db[ ]+vmsave[ ]* +[0-9a-f]+ <att16>: +[ ]*[0-9a-f]+:[ ]+67 0f 01 df[ ]+addr16 invlpga[ ]* +[ ]*[0-9a-f]+:[ ]+67 0f 01 da[ ]+addr16 vmload[ ]* +[ ]*[0-9a-f]+:[ ]+67 0f 01 d8[ ]+addr16 vmrun[ ]* +[ ]*[0-9a-f]+:[ ]+67 0f 01 db[ ]+addr16 vmsave[ ]* [0-9a-f]+ <intel32>: [ ]*[0-9a-f]+:[ ]+0f 01 de[ ]+skinit[ ]* [ ]*[0-9a-f]+:[ ]+0f 01 df[ ]+invlpga[ ]* [ ]*[0-9a-f]+:[ ]+0f 01 da[ ]+vmload[ ]* [ ]*[0-9a-f]+:[ ]+0f 01 d8[ ]+vmrun[ ]* [ ]*[0-9a-f]+:[ ]+0f 01 db[ ]+vmsave[ ]* +[0-9a-f]+ <intel16>: +[ ]*[0-9a-f]+:[ ]+67 0f 01 df[ ]+addr16 invlpga[ ]* +[ ]*[0-9a-f]+:[ ]+67 0f 01 da[ ]+addr16 vmload[ ]* +[ ]*[0-9a-f]+:[ ]+67 0f 01 d8[ ]+addr16 vmrun[ ]* +[ ]*[0-9a-f]+:[ ]+67 0f 01 db[ ]+addr16 vmsave[ ]* #pass diff --git a/gas/testsuite/gas/i386/svme.s b/gas/testsuite/gas/i386/svme.s index ff1be7c..a721e36 100644 --- a/gas/testsuite/gas/i386/svme.s +++ b/gas/testsuite/gas/i386/svme.s @@ -23,6 +23,10 @@ att64: att32: skinit %eax do_args %eax, %ecx +.ifndef __amd64__ +att16: + do_args %ax, %ecx +.endif .intel_syntax noprefix .ifdef __amd64__ @@ -32,5 +36,9 @@ intel64: intel32: skinit eax do_args eax, ecx +.ifndef __amd64__ +intel16: + do_args ax, ecx +.endif .p2align 4,0 diff --git a/gas/testsuite/gas/i386/x86-64-arch-3.d b/gas/testsuite/gas/i386/x86-64-arch-3.d index 19d34fc..ae14199 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-3.d +++ b/gas/testsuite/gas/i386/x86-64-arch-3.d @@ -12,7 +12,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 66 0f 38 f6 ca adcx %edx,%ecx [ ]*[a-f0-9]+: f3 0f 38 f6 ca adox %edx,%ecx [ ]*[a-f0-9]+: 0f c7 f8 rdseed %eax -[ ]*[a-f0-9]+: 0f 01 fc clzero +[ ]*[a-f0-9]+: 0f 01 fc clzero[ ]* +[ ]*[a-f0-9]+: 0f 01 fc clzero[ ]* +[ ]*[a-f0-9]+: 67 0f 01 fc addr32 clzero[ ]* [ ]*[a-f0-9]+: 44 0f 38 c8 00 sha1nexte \(%rax\),%xmm8 [ ]*[a-f0-9]+: 48 0f c7 21 xsavec64 \(%rcx\) [ ]*[a-f0-9]+: 48 0f c7 29 xsaves64 \(%rcx\) diff --git a/gas/testsuite/gas/i386/x86-64-arch-3.s b/gas/testsuite/gas/i386/x86-64-arch-3.s index e002af4..f7a9f2c 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-3.s +++ b/gas/testsuite/gas/i386/x86-64-arch-3.s @@ -10,6 +10,8 @@ rdseed %eax #CLZERO clzero + clzero %rax + clzero %eax #SHA sha1nexte (%rax), %xmm8 #XSAVEC diff --git a/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l b/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l index ea1fef0..690f04f 100644 --- a/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l +++ b/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l @@ -1,123 +1,123 @@ #as: -march=mwaitx .*: Assembler messages: #rax -.*:[0-9]*: Error: .*rax.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rax.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rax.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*rax.* 3 .*mwaitx.* +.*:[0-9]*: Error:.*monitorx.* +.*:[0-9]*: Error:.*monitorx.* +.*:[0-9]*: Error:.*mwaitx.* +.*:[0-9]*: Error:.*mwaitx.* #rbx -.*:[0-9]*: Error: .*rbx.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rbx.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rbx.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rbx.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rbx.* 2 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #rcx -.*:[0-9]*: Error: .*rcx.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rcx.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rcx.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rcx.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #rdx -.*:[0-9]*: Error: .*rdx.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rdx.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rdx.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rdx.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*rdx.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #rsp -.*:[0-9]*: Error: .*rsp.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rsp.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rsp.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rsp.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rsp.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*rsp.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #rbp -.*:[0-9]*: Error: .*rbp.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rbp.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rbp.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rbp.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rbp.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*rbp.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #rsi -.*:[0-9]*: Error: .*rsi.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rsi.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rsi.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rsi.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rsi.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*rsi.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #rdi -.*:[0-9]*: Error: .*rdi.* 1 .*monitorx.* -.*:[0-9]*: Error: .*rdi.* 2 .*monitorx.* -.*:[0-9]*: Error: .*rdi.* 3 .*monitorx.* -.*:[0-9]*: Error: .*rdi.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*rdi.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*rdi.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r8 -.*:[0-9]*: Error: .*r8.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r8.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r8.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r8.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r8.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r8.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r9 -.*:[0-9]*: Error: .*r9.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r9.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r9.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r9.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r9.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r9.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r10 -.*:[0-9]*: Error: .*r10.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r10.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r10.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r10.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r10.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r10.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r11 -.*:[0-9]*: Error: .*r11.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r11.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r11.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r11.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r11.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r11.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r12 -.*:[0-9]*: Error: .*r12.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r12.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r12.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r12.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r12.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r12.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r13 -.*:[0-9]*: Error: .*r13.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r13.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r13.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r13.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r13.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r13.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r14 -.*:[0-9]*: Error: .*r14.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r14.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r14.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r14.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r14.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r14.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* #r15 -.*:[0-9]*: Error: .*r15.* 1 .*monitorx.* -.*:[0-9]*: Error: .*r15.* 2 .*monitorx.* -.*:[0-9]*: Error: .*r15.* 3 .*monitorx.* -.*:[0-9]*: Error: .*r15.* 1 .*mwaitx.* -.*:[0-9]*: Error: .*r15.* 2 .*mwaitx.* -.*:[0-9]*: Error: .*r15.* 3 .*mwaitx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*monitorx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* +.*:[0-9]*: Error: .*mwaitx.* diff --git a/gas/testsuite/gas/i386/x86-64-specific-reg.l b/gas/testsuite/gas/i386/x86-64-specific-reg.l index fee1ba1..3b01458 100644 --- a/gas/testsuite/gas/i386/x86-64-specific-reg.l +++ b/gas/testsuite/gas/i386/x86-64-specific-reg.l @@ -9,10 +9,10 @@ .*:[0-9]*: Warning: .*rax.*rdi.* .*:[0-9]*: Warning: .*rax.*rdi.* .*:[0-9]*: Warning: .*rax.*rsi.* -.*:[0-9]*: Error: .*rax.* 2 .*mwait.* -.*:[0-9]*: Error: .*rax.* 2 .*monitor.* -.*:[0-9]*: Error: .*rax.* 3 .*monitor.* -.*:[0-9]*: Error: .*eax.* 2 .*invlpga.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*invlpga.* .*:[0-9]*: Warning: .*rcx.*rsi.* .*:[0-9]*: Warning: .*rcx.*rdi.* .*:[0-9]*: Warning: .*rcx.*rdi.* @@ -23,14 +23,14 @@ .*:[0-9]*: Warning: .*rcx.*rdi.* .*:[0-9]*: Warning: .*rcx.*rdi.* .*:[0-9]*: Warning: .*rcx.*rsi.* -.*:[0-9]*: Error: .*rcx.* 1 .*mwait.* -.*:[0-9]*: Error: .*rcx.* 1 .*monitor.* -.*:[0-9]*: Error: .*rcx.* 3 .*monitor.* -.*:[0-9]*: Error: .*rcx.* 1 .*vmload.* -.*:[0-9]*: Error: .*rcx.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rcx.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rcx.* 1 .*invlpga.* -.*:[0-9]*: Error: .*ecx.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*rdx.*rsi.* .*:[0-9]*: Warning: .*rdx.*rdi.* .*:[0-9]*: Warning: .*rdx.*rdi.* @@ -41,16 +41,16 @@ .*:[0-9]*: Warning: .*rdx.*rdi.* .*:[0-9]*: Warning: .*rdx.*rdi.* .*:[0-9]*: Warning: .*rdx.*rsi.* -.*:[0-9]*: Error: .*rdx.* 1 .*mwait.* -.*:[0-9]*: Error: .*rdx.* 2 .*mwait.* -.*:[0-9]*: Error: .*rdx.* 1 .*monitor.* -.*:[0-9]*: Error: .*rdx.* 2 .*monitor.* -.*:[0-9]*: Error: .*rdx.* 1 .*vmload.* -.*:[0-9]*: Error: .*rdx.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rdx.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rdx.* 1 .*invlpga.* -.*:[0-9]*: Error: .*edx.* 2 .*invlpga.* -.*:[0-9]*: Error: .*edx.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*rbx.*rsi.* .*:[0-9]*: Warning: .*rbx.*rdi.* .*:[0-9]*: Warning: .*rbx.*rdi.* @@ -60,17 +60,17 @@ .*:[0-9]*: Warning: .*rbx.*rdi.* .*:[0-9]*: Warning: .*rbx.*rdi.* .*:[0-9]*: Warning: .*rbx.*rsi.* -.*:[0-9]*: Error: .*rbx.* 1 .*mwait.* -.*:[0-9]*: Error: .*rbx.* 2 .*mwait.* -.*:[0-9]*: Error: .*rbx.* 1 .*monitor.* -.*:[0-9]*: Error: .*rbx.* 2 .*monitor.* -.*:[0-9]*: Error: .*rbx.* 3 .*monitor.* -.*:[0-9]*: Error: .*rbx.* 1 .*vmload.* -.*:[0-9]*: Error: .*rbx.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rbx.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rbx.* 1 .*invlpga.* -.*:[0-9]*: Error: .*ebx.* 2 .*invlpga.* -.*:[0-9]*: Error: .*ebx.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*rsp.*rsi.* .*:[0-9]*: Warning: .*rsp.*rdi.* .*:[0-9]*: Warning: .*rsp.*rdi.* @@ -81,17 +81,17 @@ .*:[0-9]*: Warning: .*rsp.*rdi.* .*:[0-9]*: Warning: .*rsp.*rdi.* .*:[0-9]*: Warning: .*rsp.*rsi.* -.*:[0-9]*: Error: .*rsp.* 1 .*mwait.* -.*:[0-9]*: Error: .*rsp.* 2 .*mwait.* -.*:[0-9]*: Error: .*rsp.* 1 .*monitor.* -.*:[0-9]*: Error: .*rsp.* 2 .*monitor.* -.*:[0-9]*: Error: .*rsp.* 3 .*monitor.* -.*:[0-9]*: Error: .*rsp.* 1 .*vmload.* -.*:[0-9]*: Error: .*rsp.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rsp.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rsp.* 1 .*invlpga.* -.*:[0-9]*: Error: .*esp.* 2 .*invlpga.* -.*:[0-9]*: Error: .*esp.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*rbp.*rsi.* .*:[0-9]*: Warning: .*rbp.*rdi.* .*:[0-9]*: Warning: .*rbp.*rdi.* @@ -102,50 +102,50 @@ .*:[0-9]*: Warning: .*rbp.*rdi.* .*:[0-9]*: Warning: .*rbp.*rdi.* .*:[0-9]*: Warning: .*rbp.*rsi.* -.*:[0-9]*: Error: .*rbp.* 1 .*mwait.* -.*:[0-9]*: Error: .*rbp.* 2 .*mwait.* -.*:[0-9]*: Error: .*rbp.* 1 .*monitor.* -.*:[0-9]*: Error: .*rbp.* 2 .*monitor.* -.*:[0-9]*: Error: .*rbp.* 3 .*monitor.* -.*:[0-9]*: Error: .*rbp.* 1 .*vmload.* -.*:[0-9]*: Error: .*rbp.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rbp.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rbp.* 1 .*invlpga.* -.*:[0-9]*: Error: .*ebp.* 2 .*invlpga.* -.*:[0-9]*: Error: .*ebp.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*rsi.*rdi.* .*:[0-9]*: Warning: .*rsi.*rdi.* .*:[0-9]*: Warning: .*rsi.*rdi.* .*:[0-9]*: Warning: .*rsi.*rbx.* .*:[0-9]*: Warning: .*rsi.*rdi.* .*:[0-9]*: Warning: .*rsi.*rdi.* -.*:[0-9]*: Error: .*rsi.* 1 .*mwait.* -.*:[0-9]*: Error: .*rsi.* 2 .*mwait.* -.*:[0-9]*: Error: .*rsi.* 1 .*monitor.* -.*:[0-9]*: Error: .*rsi.* 2 .*monitor.* -.*:[0-9]*: Error: .*rsi.* 3 .*monitor.* -.*:[0-9]*: Error: .*rsi.* 1 .*vmload.* -.*:[0-9]*: Error: .*rsi.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rsi.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rsi.* 1 .*invlpga.* -.*:[0-9]*: Error: .*esi.* 2 .*invlpga.* -.*:[0-9]*: Error: .*esi.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*rdi.*rsi.* .*:[0-9]*: Warning: .*rdi.*rsi.* .*:[0-9]*: Warning: .*rdi.*rbx.* .*:[0-9]*: Warning: .*rdi.*rsi.* .*:[0-9]*: Warning: .*rdi.*rsi.* -.*:[0-9]*: Error: .*rdi.* 1 .*mwait.* -.*:[0-9]*: Error: .*rdi.* 2 .*mwait.* -.*:[0-9]*: Error: .*rdi.* 1 .*monitor.* -.*:[0-9]*: Error: .*rdi.* 2 .*monitor.* -.*:[0-9]*: Error: .*rdi.* 3 .*monitor.* -.*:[0-9]*: Error: .*rdi.* 1 .*vmload.* -.*:[0-9]*: Error: .*rdi.* 1 .*vmrun.* -.*:[0-9]*: Error: .*rdi.* 1 .*vmsave.* -.*:[0-9]*: Error: .*rdi.* 1 .*invlpga.* -.*:[0-9]*: Error: .*edi.* 2 .*invlpga.* -.*:[0-9]*: Error: .*edi.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r8.*rsi.* .*:[0-9]*: Warning: .*r8.*rdi.* .*:[0-9]*: Warning: .*r8.*rdi.* @@ -156,17 +156,17 @@ .*:[0-9]*: Warning: .*r8.*rdi.* .*:[0-9]*: Warning: .*r8.*rdi.* .*:[0-9]*: Warning: .*r8.*rsi.* -.*:[0-9]*: Error: .*r8.* 1 .*mwait.* -.*:[0-9]*: Error: .*r8.* 2 .*mwait.* -.*:[0-9]*: Error: .*r8.* 1 .*monitor.* -.*:[0-9]*: Error: .*r8.* 2 .*monitor.* -.*:[0-9]*: Error: .*r8.* 3 .*monitor.* -.*:[0-9]*: Error: .*r8.* 1 .*vmload.* -.*:[0-9]*: Error: .*r8.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r8.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r8.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r8.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r8.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r9.*rsi.* .*:[0-9]*: Warning: .*r9.*rdi.* .*:[0-9]*: Warning: .*r9.*rdi.* @@ -177,17 +177,17 @@ .*:[0-9]*: Warning: .*r9.*rdi.* .*:[0-9]*: Warning: .*r9.*rdi.* .*:[0-9]*: Warning: .*r9.*rsi.* -.*:[0-9]*: Error: .*r9.* 1 .*mwait.* -.*:[0-9]*: Error: .*r9.* 2 .*mwait.* -.*:[0-9]*: Error: .*r9.* 1 .*monitor.* -.*:[0-9]*: Error: .*r9.* 2 .*monitor.* -.*:[0-9]*: Error: .*r9.* 3 .*monitor.* -.*:[0-9]*: Error: .*r9.* 1 .*vmload.* -.*:[0-9]*: Error: .*r9.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r9.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r9.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r9.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r9.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r10.*rsi.* .*:[0-9]*: Warning: .*r10.*rdi.* .*:[0-9]*: Warning: .*r10.*rdi.* @@ -198,17 +198,17 @@ .*:[0-9]*: Warning: .*r10.*rdi.* .*:[0-9]*: Warning: .*r10.*rdi.* .*:[0-9]*: Warning: .*r10.*rsi.* -.*:[0-9]*: Error: .*r10.* 1 .*mwait.* -.*:[0-9]*: Error: .*r10.* 2 .*mwait.* -.*:[0-9]*: Error: .*r10.* 1 .*monitor.* -.*:[0-9]*: Error: .*r10.* 2 .*monitor.* -.*:[0-9]*: Error: .*r10.* 3 .*monitor.* -.*:[0-9]*: Error: .*r10.* 1 .*vmload.* -.*:[0-9]*: Error: .*r10.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r10.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r10.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r10.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r10.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r11.*rsi.* .*:[0-9]*: Warning: .*r11.*rdi.* .*:[0-9]*: Warning: .*r11.*rdi.* @@ -219,17 +219,17 @@ .*:[0-9]*: Warning: .*r11.*rdi.* .*:[0-9]*: Warning: .*r11.*rdi.* .*:[0-9]*: Warning: .*r11.*rsi.* -.*:[0-9]*: Error: .*r11.* 1 .*mwait.* -.*:[0-9]*: Error: .*r11.* 2 .*mwait.* -.*:[0-9]*: Error: .*r11.* 1 .*monitor.* -.*:[0-9]*: Error: .*r11.* 2 .*monitor.* -.*:[0-9]*: Error: .*r11.* 3 .*monitor.* -.*:[0-9]*: Error: .*r11.* 1 .*vmload.* -.*:[0-9]*: Error: .*r11.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r11.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r11.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r11.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r11.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r12.*rsi.* .*:[0-9]*: Warning: .*r12.*rdi.* .*:[0-9]*: Warning: .*r12.*rdi.* @@ -240,17 +240,17 @@ .*:[0-9]*: Warning: .*r12.*rdi.* .*:[0-9]*: Warning: .*r12.*rdi.* .*:[0-9]*: Warning: .*r12.*rsi.* -.*:[0-9]*: Error: .*r12.* 1 .*mwait.* -.*:[0-9]*: Error: .*r12.* 2 .*mwait.* -.*:[0-9]*: Error: .*r12.* 1 .*monitor.* -.*:[0-9]*: Error: .*r12.* 2 .*monitor.* -.*:[0-9]*: Error: .*r12.* 3 .*monitor.* -.*:[0-9]*: Error: .*r12.* 1 .*vmload.* -.*:[0-9]*: Error: .*r12.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r12.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r12.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r12.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r12.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r13.*rsi.* .*:[0-9]*: Warning: .*r13.*rdi.* .*:[0-9]*: Warning: .*r13.*rdi.* @@ -261,17 +261,17 @@ .*:[0-9]*: Warning: .*r13.*rdi.* .*:[0-9]*: Warning: .*r13.*rdi.* .*:[0-9]*: Warning: .*r13.*rsi.* -.*:[0-9]*: Error: .*r13.* 1 .*mwait.* -.*:[0-9]*: Error: .*r13.* 2 .*mwait.* -.*:[0-9]*: Error: .*r13.* 1 .*monitor.* -.*:[0-9]*: Error: .*r13.* 2 .*monitor.* -.*:[0-9]*: Error: .*r13.* 3 .*monitor.* -.*:[0-9]*: Error: .*r13.* 1 .*vmload.* -.*:[0-9]*: Error: .*r13.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r13.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r13.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r13.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r13.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r14.*rsi.* .*:[0-9]*: Warning: .*r14.*rdi.* .*:[0-9]*: Warning: .*r14.*rdi.* @@ -282,17 +282,17 @@ .*:[0-9]*: Warning: .*r14.*rdi.* .*:[0-9]*: Warning: .*r14.*rdi.* .*:[0-9]*: Warning: .*r14.*rsi.* -.*:[0-9]*: Error: .*r14.* 1 .*mwait.* -.*:[0-9]*: Error: .*r14.* 2 .*mwait.* -.*:[0-9]*: Error: .*r14.* 1 .*monitor.* -.*:[0-9]*: Error: .*r14.* 2 .*monitor.* -.*:[0-9]*: Error: .*r14.* 3 .*monitor.* -.*:[0-9]*: Error: .*r14.* 1 .*vmload.* -.*:[0-9]*: Error: .*r14.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r14.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r14.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r14.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r14.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* .*:[0-9]*: Warning: .*r15.*rsi.* .*:[0-9]*: Warning: .*r15.*rdi.* .*:[0-9]*: Warning: .*r15.*rdi.* @@ -303,17 +303,17 @@ .*:[0-9]*: Warning: .*r15.*rdi.* .*:[0-9]*: Warning: .*r15.*rdi.* .*:[0-9]*: Warning: .*r15.*rsi.* -.*:[0-9]*: Error: .*r15.* 1 .*mwait.* -.*:[0-9]*: Error: .*r15.* 2 .*mwait.* -.*:[0-9]*: Error: .*r15.* 1 .*monitor.* -.*:[0-9]*: Error: .*r15.* 2 .*monitor.* -.*:[0-9]*: Error: .*r15.* 3 .*monitor.* -.*:[0-9]*: Error: .*r15.* 1 .*vmload.* -.*:[0-9]*: Error: .*r15.* 1 .*vmrun.* -.*:[0-9]*: Error: .*r15.* 1 .*vmsave.* -.*:[0-9]*: Error: .*r15.* 1 .*invlpga.* -.*:[0-9]*: Error: .*r15.* 2 .*invlpga.* -.*:[0-9]*: Error: .*r15.* 1 .*skinit.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*mwait.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*monitor.* +.*:[0-9]*: Error: .*vmload.* +.*:[0-9]*: Error: .*vmrun.* +.*:[0-9]*: Error: .*vmsave.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*invlpga.* +.*:[0-9]*: Error: .*skinit.* # xmm1 .*:[0-9]*: Error: .*blendvpd.* .*:[0-9]*: Error: .*blendvps.* diff --git a/gas/testsuite/gas/i386/x86-64-specific-reg.s b/gas/testsuite/gas/i386/x86-64-specific-reg.s index e6b780b..2d8e5a0 100644 --- a/gas/testsuite/gas/i386/x86-64-specific-reg.s +++ b/gas/testsuite/gas/i386/x86-64-specific-reg.s @@ -28,20 +28,15 @@ special: monitor %rax, %r\reg1, %rdx monitor %rax, %rcx, %r\reg1 -# FIXME: Need to ensure only "vmload %[re]ax" is accepted. vmload %r\reg1 -# FIXME: Need to ensure only "vmrun %[re]ax" is accepted. vmrun %r\reg1 -# FIXME: Need to ensure only "vmsave %[re]ax" is accepted. vmsave %r\reg1 -# FIXME: Need to ensure only "invlpga %[re]ax,%ecx" is accepted. invlpga %r\reg1, %ecx invlpga %rax, %e\reg1 -# FIXME: Need to ensure only "skinit %eax" is accepted. skinit %e\reg1 .endr |