diff options
author | Amit Pawar <Amit.Pawar@amd.com> | 2015-06-30 12:11:52 +0530 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-06-30 07:50:12 -0700 |
commit | 9916071f8df180400e39d1783d4a878cf57c61fe (patch) | |
tree | 852b09185d1208ac9f77d41e811300d55629fc0e /gas/testsuite | |
parent | 54f66250d79ec304ea427915bfd8b535ec249c3b (diff) | |
download | gdb-9916071f8df180400e39d1783d4a878cf57c61fe.zip gdb-9916071f8df180400e39d1783d4a878cf57c61fe.tar.gz gdb-9916071f8df180400e39d1783d4a878cf57c61fe.tar.bz2 |
Add support for monitorx/mwaitx instructions
gas/
* config/tc-i386.c (cpu_arch): Add .mwaitx.
(process_immext): Check operands for monitorx/mwaitx instructions.
* doc/c-i386.texi: Document mwaitx.
gas/testsuite/
* gas/i386/i386.exp: Add new mwaitx test cases.
* gas/i386/mwaitx.s: New.
* gas/i386/mwaitx-bdver4.d: New.
* gas/i386/x86-64-mwaitx.s: New.
* gas/i386/x86-64-mwaitx-bdver4.d: New.
* gas/i386/mwaitx-reg.s: New.
* gas/i386/mwaitx-reg.l: New.
* gas/i386/x86-64-mwaitx-reg.l: New.
* gas/i386/x86-64-mwaitx-reg.s: New.
* gas/i386/arch-13.s: Updated.
* gas/i386/arch-13.d: Updated.
* gas/i386/arch-13-znver1.d: Updated.
* gas/i386/x86-64-arch-3.s: Updated.
* gas/i386/x86-64-arch-3.d: Updated.
* gas/i386/x86-64-arch-3-znver1.d: Updated.
opcodes/
* i386-dis.c (OP_Mwaitx): New.
(rm_table): Add monitorx/mwaitx.
* i386-gen.c (cpu_flag_init): Add CpuMWAITX to CPU_BDVER4_FLAGS
and CPU_ZNVER1_FLAGS. Add CPU_MWAITX_FLAGS.
(operand_type_init): Add CpuMWAITX.
* i386-opc.h (CpuMWAITX): New.
(i386_cpu_flags): Add cpumwaitx.
* i386-opc.tbl: Add monitorx and mwaitx.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13-znver1.d | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13.d | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/mwaitx-bdver4.d | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/mwaitx-reg.l | 59 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/mwaitx-reg.s | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/mwaitx.s | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3-znver1.d | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3.d | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-mwaitx-bdver4.d | 17 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-mwaitx-reg.l | 123 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-mwaitx-reg.s | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-mwaitx.s | 9 |
16 files changed, 304 insertions, 4 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e7ab1cf..3d4848b 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,21 @@ +2015-06-30 Amit Pawar <Amit.Pawar@amd.com> + + * gas/i386/i386.exp: Add new mwaitx test cases. + * gas/i386/mwaitx.s: New. + * gas/i386/mwaitx-bdver4.d: New. + * gas/i386/x86-64-mwaitx.s: New. + * gas/i386/x86-64-mwaitx-bdver4.d: New. + * gas/i386/mwaitx-reg.s: New. + * gas/i386/mwaitx-reg.l: New. + * gas/i386/x86-64-mwaitx-reg.l: New. + * gas/i386/x86-64-mwaitx-reg.s: New. + * gas/i386/arch-13.s: Updated. + * gas/i386/arch-13.d: Updated. + * gas/i386/arch-13-znver1.d: Updated. + * gas/i386/x86-64-arch-3.s: Updated. + * gas/i386/x86-64-arch-3.d: Updated. + * gas/i386/x86-64-arch-3-znver1.d: Updated. + 2015-06-27 H.J. Lu <hongjiu.lu@intel.com> * gas/ia64/psn.d: Updated. diff --git a/gas/testsuite/gas/i386/arch-13-znver1.d b/gas/testsuite/gas/i386/arch-13-znver1.d index bafe606..b76cfab 100644 --- a/gas/testsuite/gas/i386/arch-13-znver1.d +++ b/gas/testsuite/gas/i386/arch-13-znver1.d @@ -17,4 +17,9 @@ Disassembly of section .text: [ ]*[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\) +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %ax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx #pass diff --git a/gas/testsuite/gas/i386/arch-13.d b/gas/testsuite/gas/i386/arch-13.d index 370e641..6296ab7 100644 --- a/gas/testsuite/gas/i386/arch-13.d +++ b/gas/testsuite/gas/i386/arch-13.d @@ -1,4 +1,4 @@ -#as: -march=i686+smap+adx+rdseed+clzero+xsavec+xsaves+clflushopt +#as: -march=i686+smap+adx+rdseed+clzero+xsavec+xsaves+clflushopt+mwaitx #objdump: -dw #name: i386 arch 13 @@ -16,4 +16,9 @@ Disassembly of section .text: [ ]*[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\) +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %ax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx #pass diff --git a/gas/testsuite/gas/i386/arch-13.s b/gas/testsuite/gas/i386/arch-13.s index 5e1969f..4e82ff6 100644 --- a/gas/testsuite/gas/i386/arch-13.s +++ b/gas/testsuite/gas/i386/arch-13.s @@ -16,4 +16,8 @@ xsavec (%ecx) xsaves (%ecx) #CLFLUSHOPT clflushopt (%ecx) - +monitorx %eax, %ecx, %edx +monitorx %ax, %ecx, %edx +monitorx +mwaitx %eax, %ecx, %ebx +mwaitx diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 9ff38d3..d36d5c6 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -340,6 +340,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "avx512vbmi_vl-intel" run_dump_test "clzero" run_dump_test "disassem" + run_dump_test "mwaitx-bdver4" + run_list_test "mwaitx-reg" # These tests require support for 8 and 16 bit relocs, # so we only run them for ELF and COFF targets. @@ -721,6 +723,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-avx512vbmi_vl" run_dump_test "x86-64-avx512vbmi_vl-intel" run_dump_test "x86-64-clzero" + run_dump_test "x86-64-mwaitx-bdver4" + run_list_test "x86-64-mwaitx-reg" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/mwaitx-bdver4.d b/gas/testsuite/gas/i386/mwaitx-bdver4.d new file mode 100644 index 0000000..7a09db6 --- /dev/null +++ b/gas/testsuite/gas/i386/mwaitx-bdver4.d @@ -0,0 +1,17 @@ +#source: mwaitx.s +#as: -march=bdver4 +#objdump: -dw +#name: i386 monitorx and mwaitx insn + +.*: +file format .* + + +Disassembly of section \.text: + +00000000 <_start>: +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %ax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %eax,%ecx,%edx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %eax,%ecx,%ebx +#pass diff --git a/gas/testsuite/gas/i386/mwaitx-reg.l b/gas/testsuite/gas/i386/mwaitx-reg.l new file mode 100644 index 0000000..68ea6e9 --- /dev/null +++ b/gas/testsuite/gas/i386/mwaitx-reg.l @@ -0,0 +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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* diff --git a/gas/testsuite/gas/i386/mwaitx-reg.s b/gas/testsuite/gas/i386/mwaitx-reg.s new file mode 100644 index 0000000..aa2e229 --- /dev/null +++ b/gas/testsuite/gas/i386/mwaitx-reg.s @@ -0,0 +1,8 @@ +.irp reg ax,bx,cx,dx,sp,bp,si,di + monitorx %e\reg, %ecx, %edx + monitorx %eax, %e\reg, %edx + monitorx %eax, %ecx, %e\reg + mwaitx %e\reg, %ecx, %ebx + mwaitx %eax, %e\reg, %ebx + mwaitx %eax, %ecx, %e\reg +.endr diff --git a/gas/testsuite/gas/i386/mwaitx.s b/gas/testsuite/gas/i386/mwaitx.s new file mode 100644 index 0000000..7bd7a3a --- /dev/null +++ b/gas/testsuite/gas/i386/mwaitx.s @@ -0,0 +1,9 @@ +# Check monitorx and mwaitx instructions + + .text +_start: + monitorx %eax, %ecx, %edx + monitorx %ax, %ecx, %edx + monitorx + mwaitx %eax, %ecx, %ebx + mwaitx diff --git a/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d b/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d index 9066855..2fc0a1f 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d +++ b/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d @@ -18,4 +18,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 48 0f c7 21 xsavec64 \(%rcx\) [ ]*[a-f0-9]+: 48 0f c7 29 xsaves64 \(%rcx\) [ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%rcx\) +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %eax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx #pass diff --git a/gas/testsuite/gas/i386/x86-64-arch-3.d b/gas/testsuite/gas/i386/x86-64-arch-3.d index 7b0792a..6a7fb00 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-3.d +++ b/gas/testsuite/gas/i386/x86-64-arch-3.d @@ -1,4 +1,4 @@ -#as: -march=generic64+smap+adx+rdseed+clzero+sha+xsavec+xsaves+clflushopt +#as: -march=generic64+smap+adx+rdseed+clzero+sha+xsavec+xsaves+clflushopt+mwaitx #objdump: -dw #name: x86-64 arch 3 @@ -17,4 +17,9 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 48 0f c7 21 xsavec64 \(%rcx\) [ ]*[a-f0-9]+: 48 0f c7 29 xsaves64 \(%rcx\) [ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%rcx\) +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %eax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx #pass diff --git a/gas/testsuite/gas/i386/x86-64-arch-3.s b/gas/testsuite/gas/i386/x86-64-arch-3.s index 76c4226..2096efc 100644 --- a/gas/testsuite/gas/i386/x86-64-arch-3.s +++ b/gas/testsuite/gas/i386/x86-64-arch-3.s @@ -18,4 +18,8 @@ xsavec64 (%rcx) xsaves64 (%rcx) #CLFLUSHOPT clflushopt (%rcx) - +monitorx %rax,%rcx,%rdx +monitorx %eax,%rcx,%rdx +monitorx +mwaitx %rax,%rcx,%rbx +mwaitx diff --git a/gas/testsuite/gas/i386/x86-64-mwaitx-bdver4.d b/gas/testsuite/gas/i386/x86-64-mwaitx-bdver4.d new file mode 100644 index 0000000..f35ad11 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-mwaitx-bdver4.d @@ -0,0 +1,17 @@ +#source: x86-64-mwaitx.s +#as: -march=bdver4 +#objdump: -dw +#name: x86_64 monitorx and mwaitx insn + +.*: +file format .* + + +Disassembly of section \.text: + +0000000000000000 <_start>: +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 67 0f 01 fa monitorx %eax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fa monitorx %rax,%rcx,%rdx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +[ ]*[a-f0-9]+: 0f 01 fb mwaitx %rax,%rcx,%rbx +#pass diff --git a/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l b/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l new file mode 100644 index 0000000..ea1fef0 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-mwaitx-reg.l @@ -0,0 +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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* + +#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.* diff --git a/gas/testsuite/gas/i386/x86-64-mwaitx-reg.s b/gas/testsuite/gas/i386/x86-64-mwaitx-reg.s new file mode 100644 index 0000000..5df5f8c --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-mwaitx-reg.s @@ -0,0 +1,8 @@ +.irp reg ax,bx,cx,dx,sp,bp,si,di,8,9,10,11,12,13,14,15 + monitorx %r\reg, %rcx, %rdx + monitorx %rax, %r\reg, %rdx + monitorx %rax, %rcx, %r\reg + mwaitx %r\reg, %rcx, %rbx + mwaitx %rax, %r\reg, %rbx + mwaitx %rax, %rcx, %r\reg +.endr diff --git a/gas/testsuite/gas/i386/x86-64-mwaitx.s b/gas/testsuite/gas/i386/x86-64-mwaitx.s new file mode 100644 index 0000000..0f58d3c --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-mwaitx.s @@ -0,0 +1,9 @@ +# Check monitorx and mwaitx instructions + + .text +_start: + monitorx %rax, %rcx, %rdx + monitorx %eax, %rcx, %rdx + monitorx + mwaitx %rax, %rcx, %rbx + mwaitx |