From 050dfa73dea44eff603e96bcb195113a5e1b2219 Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Thu, 13 Jul 2006 22:25:48 +0000 Subject: Add amdfam10 instructions --- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/i386/amdfam10.d | 22 ++++++++++++++++++++++ gas/testsuite/gas/i386/amdfam10.s | 18 ++++++++++++++++++ gas/testsuite/gas/i386/i386.exp | 2 ++ gas/testsuite/gas/i386/x86-64-amdfam10.d | 26 ++++++++++++++++++++++++++ gas/testsuite/gas/i386/x86-64-amdfam10.s | 22 ++++++++++++++++++++++ 6 files changed, 98 insertions(+) create mode 100644 gas/testsuite/gas/i386/amdfam10.d create mode 100644 gas/testsuite/gas/i386/amdfam10.s create mode 100644 gas/testsuite/gas/i386/x86-64-amdfam10.d create mode 100644 gas/testsuite/gas/i386/x86-64-amdfam10.s (limited to 'gas/testsuite') diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index fcec568..ecf5b43 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2006-07-13 Dwarakanath Rajagopal + Michael Meissner + + * gas/i386/amdfam10.s: New file for amdfam10 instructions. + * gam/i386/amdfam10.d: Ditto. + * gas/i386/x86-64-amdfam10.s: Ditto. + * gam/i386/x86-64-amdfam10.d: Ditto. + 2006-07-12 Nick Clifton * gas/sh/basic.exp: Run "too_large" dump test. diff --git a/gas/testsuite/gas/i386/amdfam10.d b/gas/testsuite/gas/i386/amdfam10.d new file mode 100644 index 0000000..1c664f6 --- /dev/null +++ b/gas/testsuite/gas/i386/amdfam10.d @@ -0,0 +1,22 @@ +#objdump: -dw +#name: i386 amdfam10 + +.*: +file format .* + +Disassembly of section .text: + +0+000 : + 0: f3 0f bd 19[ ]+lzcnt \(%ecx\),%ebx + 4: f3 66 0f bd 19[ ]+lzcnt \(%ecx\),%bx + 9: f3 0f bd d9[ ]+lzcnt %ecx,%ebx + d: f3 66 0f bd d9[ ]+lzcnt %cx,%bx + 12: 0f b8 19[ ]+popcnt \(%ecx\),%ebx + 15: 66 0f b8 19[ ]+popcnt \(%ecx\),%bx + 19: 0f b8 d9[ ]+popcnt %ecx,%ebx + 1c: 66 0f b8 d9[ ]+popcnt %cx,%bx + 20: 66 0f 79 ca[ ]+extrq %xmm2,%xmm1 + 24: 66 0f 78 c1 02 04[ ]*extrq \$0x4,\$0x2,%xmm1 + 2a: f2 0f 79 ca[ ]+insertq %xmm2,%xmm1 + 2e: f2 0f 78 ca 02 04[ ]*insertq \$0x4,\$0x2,%xmm2,%xmm1 + 34: f2 0f 2b 09[ ]+movntsd %xmm1,\(%ecx\) + 38: f3 0f 2b 09[ ]+movntss %xmm1,\(%ecx\) diff --git a/gas/testsuite/gas/i386/amdfam10.s b/gas/testsuite/gas/i386/amdfam10.s new file mode 100644 index 0000000..9b67b9c --- /dev/null +++ b/gas/testsuite/gas/i386/amdfam10.s @@ -0,0 +1,18 @@ +#AMDFAM10 New Instructions + + .text +foo: + lzcnt (%ecx),%ebx + lzcnt (%ecx),%bx + lzcnt %ecx,%ebx + lzcnt %cx,%bx + popcnt (%ecx),%ebx + popcnt (%ecx),%bx + popcnt %ecx,%ebx + popcnt %cx,%bx + extrq %xmm2,%xmm1 + extrq $4,$2,%xmm1 + insertq %xmm2,%xmm1 + insertq $4,$2,%xmm2,%xmm1 + movntsd %xmm1,(%ecx) + movntss %xmm1,(%ecx) diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 71e2ee9..4158b86 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -68,6 +68,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "crx" run_list_test "cr-err" "" run_dump_test "svme" + run_dump_test "amdfam10" run_dump_test "merom" run_dump_test "rep" run_dump_test "rep-suffix" @@ -141,6 +142,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_list_test "x86-64-inval-seg" "-al" run_dump_test "x86-64-branch" run_dump_test "svme64" + run_dump_test "x86-64-amdfam10" run_dump_test "x86-64-vmx" run_dump_test "immed64" run_dump_test "x86-64-prescott" diff --git a/gas/testsuite/gas/i386/x86-64-amdfam10.d b/gas/testsuite/gas/i386/x86-64-amdfam10.d new file mode 100644 index 0000000..84d4d52 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-amdfam10.d @@ -0,0 +1,26 @@ +#objdump: -dw +#name: x86-64 amdfam10 + +.*: +file format .* + +Disassembly of section .text: + +0+000 : + 0: f3 48 0f bd 19[ ]+lzcnt \(%rcx\),%rbx + 5: f3 0f bd 19[ ]+lzcnt \(%rcx\),%ebx + 9: f3 66 0f bd 19[ ]+lzcnt \(%rcx\),%bx + e: f3 48 0f bd d9[ ]+lzcnt %rcx,%rbx + 13: f3 0f bd d9[ ]+lzcnt %ecx,%ebx + 17: f3 66 0f bd d9[ ]+lzcnt %cx,%bx + 1c: 48 0f b8 19[ ]+popcnt \(%rcx\),%rbx + 20: 0f b8 19[ ]+popcnt \(%rcx\),%ebx + 23: 66 0f b8 19[ ]+popcnt \(%rcx\),%bx + 27: 48 0f b8 d9[ ]+popcnt %rcx,%rbx + 2b: 0f b8 d9[ ]+popcnt %ecx,%ebx + 2e: 66 0f b8 d9[ ]+popcnt %cx,%bx + 32: 66 0f 79 ca[ ]+extrq %xmm2,%xmm1 + 36: 66 0f 78 c1 02 04[ ]+extrq \$0x4,\$0x2,%xmm1 + 3c: f2 0f 79 ca[ ]+insertq %xmm2,%xmm1 + 40: f2 0f 78 ca 02 04[ ]+insertq \$0x4,\$0x2,%xmm2,%xmm1 + 46: f2 0f 2b 09[ ]+movntsd %xmm1,\(%rcx\) + 4a: f3 0f 2b 09[ ]+movntss %xmm1,\(%rcx\) diff --git a/gas/testsuite/gas/i386/x86-64-amdfam10.s b/gas/testsuite/gas/i386/x86-64-amdfam10.s new file mode 100644 index 0000000..5a4be49 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-amdfam10.s @@ -0,0 +1,22 @@ +#AMDFAM10 New Instructions + + .text +foo: + lzcnt (%rcx),%rbx + lzcnt (%rcx),%ebx + lzcnt (%rcx),%bx + lzcnt %rcx,%rbx + lzcnt %ecx,%ebx + lzcnt %cx,%bx + popcnt (%rcx),%rbx + popcnt (%rcx),%ebx + popcnt (%rcx),%bx + popcnt %rcx,%rbx + popcnt %ecx,%ebx + popcnt %cx,%bx + extrq %xmm2,%xmm1 + extrq $4,$2,%xmm1 + insertq %xmm2,%xmm1 + insertq $4,$2,%xmm2,%xmm1 + movntsd %xmm1,(%rcx) + movntss %xmm1,(%rcx) -- cgit v1.1