diff options
author | Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> | 2015-03-17 21:49:15 +0530 |
---|---|---|
committer | Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> | 2015-03-17 21:49:15 +0530 |
commit | 029f3522619e8b77a7b848be23f4c13e50087d8b (patch) | |
tree | 484cbee2753ca7c12d2d0db7a28864e2e45e7456 /gas | |
parent | 393bd0c06b64ff6076f28053cbd2fce352023c70 (diff) | |
download | gdb-029f3522619e8b77a7b848be23f4c13e50087d8b.zip gdb-029f3522619e8b77a7b848be23f4c13e50087d8b.tar.gz gdb-029f3522619e8b77a7b848be23f4c13e50087d8b.tar.bz2 |
Add znver1 processor
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 6 | ||||
-rw-r--r-- | gas/config/tc-i386.h | 1 | ||||
-rw-r--r-- | gas/doc/c-i386.texi | 6 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13-znver1.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13.d | 19 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/arch-13.s | 19 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/clzero.d | 11 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/clzero.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/i386.exp | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/nops-1-znver1.d | 162 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3-znver1.d | 21 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-arch-3.s | 21 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-clzero.d | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-nops-1-znver1.d | 162 |
17 files changed, 514 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d449c4a..bccf7b30 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2015-03-17 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> + + * config/tc-i386.c (cpu_arch): Add PROCESSOR_ZNVER flags. + (i386_align_code): Add PROCESSOR_ZNVER cases. + * config/tc-i386.h (processor_type): Add PROCESSOR_ZNVER. + * doc/c-i386.texi: Add znver1 and clzero. + 2015-03-16 Nick Clifton <nickc@redhat.com> * dwarf2dbg.c (out_header): Remove spurious #if 1. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 45b815c..b6e8f5c 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -788,6 +788,8 @@ static const arch_entry cpu_arch[] = CPU_BDVER3_FLAGS, 0, 0 }, { STRING_COMMA_LEN ("bdver4"), PROCESSOR_BD, CPU_BDVER4_FLAGS, 0, 0 }, + { STRING_COMMA_LEN ("znver1"), PROCESSOR_ZNVER, + CPU_ZNVER1_FLAGS, 0, 0 }, { STRING_COMMA_LEN ("btver1"), PROCESSOR_BT, CPU_BTVER1_FLAGS, 0, 0 }, { STRING_COMMA_LEN ("btver2"), PROCESSOR_BT, @@ -942,6 +944,8 @@ static const arch_entry cpu_arch[] = CPU_AVX512IFMA_FLAGS, 0, 0 }, { STRING_COMMA_LEN (".avx512vbmi"), PROCESSOR_UNKNOWN, CPU_AVX512VBMI_FLAGS, 0, 0 }, + { STRING_COMMA_LEN (".clzero"), PROCESSOR_UNKNOWN, + CPU_CLZERO_FLAGS, 0, 0 }, }; #ifdef I386COFF @@ -1283,6 +1287,7 @@ i386_align_code (fragS *fragP, int count) case PROCESSOR_K8: case PROCESSOR_AMDFAM10: case PROCESSOR_BD: + case PROCESSOR_ZNVER: case PROCESSOR_BT: patt = alt_short_patt; break; @@ -1313,6 +1318,7 @@ i386_align_code (fragS *fragP, int count) case PROCESSOR_K8: case PROCESSOR_AMDFAM10: case PROCESSOR_BD: + case PROCESSOR_ZNVER: case PROCESSOR_BT: case PROCESSOR_GENERIC32: /* We use cpu_arch_isa_flags to check if we CAN optimize diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index f84e449..f645754 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -245,6 +245,7 @@ enum processor_type PROCESSOR_GENERIC64, PROCESSOR_AMDFAM10, PROCESSOR_BD, + PROCESSOR_ZNVER, PROCESSOR_BT }; diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi index d9dfbdd..e57b2c1 100644 --- a/gas/doc/c-i386.texi +++ b/gas/doc/c-i386.texi @@ -120,6 +120,7 @@ processor names are recognized: @code{bdver2}, @code{bdver3}, @code{bdver4}, +@code{znver1}, @code{btver1}, @code{btver2}, @code{generic32} and @@ -187,6 +188,7 @@ accept various extension mnemonics. For example, @code{rtm}, @code{invpcid}, @code{clflush}, +@code{clzero}, @code{lwp}, @code{fma4}, @code{xop}, @@ -1072,7 +1074,7 @@ supported on the CPU specified. The choices for @var{cpu_type} are: @item @samp{corei7} @tab @samp{l1om} @tab @samp{k1om} @item @samp{k6} @tab @samp{k6_2} @tab @samp{athlon} @tab @samp{k8} @item @samp{amdfam10} @tab @samp{bdver1} @tab @samp{bdver2} @tab @samp{bdver3} -@item @samp{bdver4} @tab @samp{btver1} @tab @samp{btver2} +@item @samp{bdver4} @tab @samp{znver1} @tab @samp{btver1} @tab @samp{btver2} @item @samp{generic32} @tab @samp{generic64} @item @samp{.mmx} @tab @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3} @item @samp{.ssse3} @tab @samp{.sse4.1} @tab @samp{.sse4.2} @tab @samp{.sse4} @@ -1090,7 +1092,7 @@ supported on the CPU specified. The choices for @var{cpu_type} are: @item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5} @item @samp{.syscall} @tab @samp{.rdtscp} @tab @samp{.svme} @tab @samp{.abm} @item @samp{.lwp} @tab @samp{.fma4} @tab @samp{.xop} @tab @samp{.cx16} -@item @samp{.padlock} +@item @samp{.padlock} @tab @samp{.clzero} @end multitable Apart from the warning, there are only two other effects on diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 0054afd..3b58c97 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2015-03-17 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com> + + * gas/i386/i386.exp: Add new znver1 test cases. + * gas/i386/arch-13-znver1.d: New. + * gas/i386/arch-13.d: New. + * gas/i386/arch-13.s: New. + * gas/i386/clzero.d: New. + * gas/i386/clzero.s: New. + * gas/i386/nops-1-znver1.d: New. + * gas/i386/x86-64-arch-3-znver1.d: New. + * gas/i386/x86-64-arch-3.d: New. + * gas/i386/x86-64-arch-3.s: New. + * gas/i386/x86-64-clzero.d: New. + * gas/i386/x86-64-nops-1-znver1.d: New. + 2015-03-13 Andrew Bennett <andrew.bennett@imgtec.com> * gas/mips/mips.exp: Added branch constraints testcase. diff --git a/gas/testsuite/gas/i386/arch-13-znver1.d b/gas/testsuite/gas/i386/arch-13-znver1.d new file mode 100644 index 0000000..bafe606 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-13-znver1.d @@ -0,0 +1,20 @@ +#source: arch-13.s +#as: -march=znver1 +#objdump: -dw +#name: i386 arch 13 (znver1) + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: 0f 01 ca clac +[ ]*[a-f0-9]+: 0f 01 cb stac +[ ]*[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 c7 21 xsavec \(%ecx\) +[ ]*[a-f0-9]+: 0f c7 29 xsaves \(%ecx\) +[ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%ecx\) +#pass diff --git a/gas/testsuite/gas/i386/arch-13.d b/gas/testsuite/gas/i386/arch-13.d new file mode 100644 index 0000000..370e641 --- /dev/null +++ b/gas/testsuite/gas/i386/arch-13.d @@ -0,0 +1,19 @@ +#as: -march=i686+smap+adx+rdseed+clzero+xsavec+xsaves+clflushopt +#objdump: -dw +#name: i386 arch 13 + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: 0f 01 ca clac +[ ]*[a-f0-9]+: 0f 01 cb stac +[ ]*[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 c7 21 xsavec \(%ecx\) +[ ]*[a-f0-9]+: 0f c7 29 xsaves \(%ecx\) +[ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%ecx\) +#pass diff --git a/gas/testsuite/gas/i386/arch-13.s b/gas/testsuite/gas/i386/arch-13.s new file mode 100644 index 0000000..5e1969f --- /dev/null +++ b/gas/testsuite/gas/i386/arch-13.s @@ -0,0 +1,19 @@ +# Test -march= + .text +#SMAP feature +clac +stac +#ADCX ADOX +adcx %edx, %ecx +adox %edx, %ecx +#RDSEED +rdseed %eax +#CLZERO +clzero +#XSAVEC +xsavec (%ecx) +#XSAVES +xsaves (%ecx) +#CLFLUSHOPT +clflushopt (%ecx) + diff --git a/gas/testsuite/gas/i386/clzero.d b/gas/testsuite/gas/i386/clzero.d new file mode 100644 index 0000000..369873f --- /dev/null +++ b/gas/testsuite/gas/i386/clzero.d @@ -0,0 +1,11 @@ +#objdump: -dw +#name: i386 CLZERO insn + +.*: +file format .* + + +Disassembly of section \.text: + +00000000 <_start>: +[ ]*[a-f0-9]+: 0f 01 fc clzero +#pass diff --git a/gas/testsuite/gas/i386/clzero.s b/gas/testsuite/gas/i386/clzero.s new file mode 100644 index 0000000..49cdca0 --- /dev/null +++ b/gas/testsuite/gas/i386/clzero.s @@ -0,0 +1,6 @@ +# Check CLZERO instructions + + .text +_start: + clzero + diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index a607f6b..381a1e3 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -106,6 +106,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "nops-1-bdver2" run_dump_test "nops-1-bdver3" run_dump_test "nops-1-bdver4" + run_dump_test "nops-1-znver1" run_dump_test "nops-1-btver1" run_dump_test "nops-1-btver2" run_dump_test "nops-2" @@ -155,6 +156,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "arch-10-bdver2" run_dump_test "arch-10-bdver3" run_dump_test "arch-10-bdver4" + run_dump_test "arch-13-znver1" run_dump_test "arch-10-btver1" run_dump_test "arch-10-btver2" run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al" @@ -163,6 +165,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_list_test "arch-10-4" "-march=i686+sse4+vmx+smx -I${srcdir}/$subdir -al" run_dump_test "arch-11" run_dump_test "arch-12" + run_dump_test "arch-13" run_dump_test "8087" run_dump_test "287" run_dump_test "387" @@ -342,6 +345,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "avx512vbmi-intel" run_dump_test "avx512vbmi_vl" run_dump_test "avx512vbmi_vl-intel" + run_dump_test "clzero" run_dump_test "disassem" # These tests require support for 8 and 16 bit relocs, @@ -490,6 +494,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-nops-1-bdver2" run_dump_test "x86-64-nops-1-bdver3" run_dump_test "x86-64-nops-1-bdver4" + run_dump_test "x86-64-nops-1-znver1" run_dump_test "x86-64-nops-1-btver1" run_dump_test "x86-64-nops-1-btver2" run_dump_test "x86-64-nops-2" @@ -525,12 +530,14 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-fxsave-intel" run_dump_test "x86-64-arch-1" run_dump_test "x86-64-arch-2" + run_dump_test "x86-64-arch-3" run_dump_test "x86-64-arch-2-lzcnt" run_dump_test "x86-64-arch-2-prefetchw" run_dump_test "x86-64-arch-2-bdver1" run_dump_test "x86-64-arch-2-bdver2" run_dump_test "x86-64-arch-2-bdver3" run_dump_test "x86-64-arch-2-bdver4" + run_dump_test "x86-64-arch-3-znver1" run_dump_test "x86-64-arch-2-btver1" run_dump_test "x86-64-arch-2-btver2" run_list_test "x86-64-arch-2-1" "-march=generic64 -I${srcdir}/$subdir -al" @@ -705,6 +712,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-avx512vbmi-intel" run_dump_test "x86-64-avx512vbmi_vl" run_dump_test "x86-64-avx512vbmi_vl-intel" + run_dump_test "x86-64-clzero" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/nops-1-znver1.d b/gas/testsuite/gas/i386/nops-1-znver1.d new file mode 100644 index 0000000..8624573 --- /dev/null +++ b/gas/testsuite/gas/i386/nops-1-znver1.d @@ -0,0 +1,162 @@ +#as: -mtune=znver1 +#source: nops-1.s +#objdump: -drw +#name: i386 -mtune=znver1 nops 1 + +.*: +file format .* + + +Disassembly of section .text: + +0+ <nop15>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\) +[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\) + +0+10 <nop14>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\) +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\) + +0+20 <nop13>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\) + +0+30 <nop12>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) + +0+40 <nop11>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\) +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) + +0+50 <nop10>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0\(%eax,%eax,1\) + +0+60 <nop9>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%eax,%eax,1\) + +0+70 <nop8>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\) + +0+80 <nop7>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\) + +0+90 <nop6>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\) + +0+a0 <nop5>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\) + +0+b0 <nop4>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\) + +0+c0 <nop3>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\) + +0+d0 <nop2>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +#pass diff --git a/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d b/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d new file mode 100644 index 0000000..9066855 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-arch-3-znver1.d @@ -0,0 +1,21 @@ +#source: x86-64-arch-3.s +#as: -march=znver1 +#objdump: -dw +#name: x86-64 arch 3 (znver1) + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: 0f 01 ca clac +[ ]*[a-f0-9]+: 0f 01 cb stac +[ ]*[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]+: 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\) +[ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%rcx\) +#pass diff --git a/gas/testsuite/gas/i386/x86-64-arch-3.d b/gas/testsuite/gas/i386/x86-64-arch-3.d new file mode 100644 index 0000000..7b0792a --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-arch-3.d @@ -0,0 +1,20 @@ +#as: -march=generic64+smap+adx+rdseed+clzero+sha+xsavec+xsaves+clflushopt +#objdump: -dw +#name: x86-64 arch 3 + +.*: file format .* + +Disassembly of section .text: + +0+ <.text>: +[ ]*[a-f0-9]+: 0f 01 ca clac +[ ]*[a-f0-9]+: 0f 01 cb stac +[ ]*[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]+: 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\) +[ ]*[a-f0-9]+: 66 0f ae 39 clflushopt \(%rcx\) +#pass diff --git a/gas/testsuite/gas/i386/x86-64-arch-3.s b/gas/testsuite/gas/i386/x86-64-arch-3.s new file mode 100644 index 0000000..76c4226 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-arch-3.s @@ -0,0 +1,21 @@ +# Test -march= + .text +#SMAP +clac +stac +#ADCX ADOX +adcx %edx, %ecx +adox %edx, %ecx +#RDSEED +rdseed %eax +#CLZERO +clzero +#SHA +sha1nexte (%rax), %xmm8 +#XSAVEC +xsavec64 (%rcx) +#XSAVES +xsaves64 (%rcx) +#CLFLUSHOPT +clflushopt (%rcx) + diff --git a/gas/testsuite/gas/i386/x86-64-clzero.d b/gas/testsuite/gas/i386/x86-64-clzero.d new file mode 100644 index 0000000..9c0d35f --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-clzero.d @@ -0,0 +1,12 @@ +#objdump: -dw +#name: x86_64 CLZERO insn +#source: clzero.s + +.*: +file format .* + + +Disassembly of section \.text: + +0+ <_start>: +[ ]*[a-f0-9]+: 0f 01 fc clzero +#pass diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-znver1.d b/gas/testsuite/gas/i386/x86-64-nops-1-znver1.d new file mode 100644 index 0000000..5c7086e --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-nops-1-znver1.d @@ -0,0 +1,162 @@ +#as: -mtune=znver1 +#source: nops-1.s +#objdump: -drw +#name: x86-64 -mtune=znver1 nops 1 + +.*: +file format .* + + +Disassembly of section .text: + +0+ <nop15>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) + +0+10 <nop14>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) + +0+20 <nop13>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) + +0+30 <nop12>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) + +0+40 <nop11>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) + +0+50 <nop10>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0\(%rax,%rax,1\) + +0+60 <nop9>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\) + +0+70 <nop8>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\) + +0+80 <nop7>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) + +0+90 <nop6>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) + +0+a0 <nop5>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) + +0+b0 <nop4>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\) + +0+c0 <nop3>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) + +0+d0 <nop2>: +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax +#pass |