From 7918206c559f06d25e8fdd6894cfc3000f1cb22e Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Mon, 23 Oct 2006 22:53:29 +0000 Subject: Fix AMDFAM10 POPCNT instruction --- gas/ChangeLog | 4 ++++ gas/doc/c-i386.texi | 5 +++-- gas/testsuite/ChangeLog | 6 ++++++ gas/testsuite/gas/i386/amdfam10.d | 23 +++++++++++------------ gas/testsuite/gas/i386/x86-64-amdfam10.d | 24 ++++++++++++------------ 5 files changed, 36 insertions(+), 26 deletions(-) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index 267763b..0346ef5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +2006-10-23 Dwarakanath Rajagopal + + * doc/c-i386.texi : Document amdfam10,.sse4a and .abm in cpu_type. + 2006-10-23 Alan Modra * config/tc-m68hc11.c (md_assemble): Quiet warning. diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi index 23c869e..45505f5 100644 --- a/gas/doc/c-i386.texi +++ b/gas/doc/c-i386.texi @@ -753,10 +753,11 @@ supported on the CPU specified. The choices for @var{cpu_type} are: @item @samp{i486} @tab @samp{i586} @tab @samp{i686} @tab @samp{pentium} @item @samp{pentiumpro} @tab @samp{pentiumii} @tab @samp{pentiumiii} @tab @samp{pentium4} @item @samp{prescott} @tab @samp{nocona} @tab @samp{core} @tab @samp{core2} +@item @samp{amdfam10} @item @samp{k6} @tab @samp{athlon} @tab @samp{sledgehammer} @tab @samp{k8} @item @samp{.mmx} @tab @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3} -@item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.padlock} @tab @samp{.pacifica} -@item @samp{.svme} +@item @samp{.sse4a} @tab @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.padlock} +@item @samp{.pacifica} @tab @samp{.svme} @tab @samp{.abm} @end multitable Apart from the warning, there are only two other effects on diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index b5fa684..b6b8003 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2006-10-23 Dwarakanath Rajagopal + + * gas/i386/amdfam10.d : Modify to support for the change in POPCNT + opcode in amdfam10 architecture. + * gas/i386/x86-64-amdfam10.d : Ditto. + 2006-10-21 Kaz Kojima * gas/sh/sh64/syntax-1.d: Update. diff --git a/gas/testsuite/gas/i386/amdfam10.d b/gas/testsuite/gas/i386/amdfam10.d index 79cd764..3d569b5 100644 --- a/gas/testsuite/gas/i386/amdfam10.d +++ b/gas/testsuite/gas/i386/amdfam10.d @@ -10,15 +10,14 @@ Disassembly of section .text: 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\) - 3c: 00 00 [ ]+add %al,\(%eax\) - ... + 12: f3 0f b8 19[ ]+popcnt \(%ecx\),%ebx + 16: f3 66 0f b8 19[ ]+popcnt \(%ecx\),%bx + 1b: f3 0f b8 d9[ ]+popcnt %ecx,%ebx + 1f: f3 66 0f b8 d9[ ]+popcnt %cx,%bx + 24: 66 0f 79 ca[ ]+extrq %xmm2,%xmm1 + 28: 66 0f 78 c1 02 04[ ]*extrq \$0x4,\$0x2,%xmm1 + 2e: f2 0f 79 ca[ ]+insertq %xmm2,%xmm1 + 32: f2 0f 78 ca 02 04[ ]*insertq \$0x4,\$0x2,%xmm2,%xmm1 + 38: f2 0f 2b 09[ ]+movntsd %xmm1,\(%ecx\) + 3c: f3 0f 2b 09[ ]+movntss %xmm1,\(%ecx\) + diff --git a/gas/testsuite/gas/i386/x86-64-amdfam10.d b/gas/testsuite/gas/i386/x86-64-amdfam10.d index 3f00d19..c81f011 100644 --- a/gas/testsuite/gas/i386/x86-64-amdfam10.d +++ b/gas/testsuite/gas/i386/x86-64-amdfam10.d @@ -12,16 +12,16 @@ Disassembly of section .text: 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\) + 1c: f3 48 0f b8 19[ ]+popcnt \(%rcx\),%rbx + 21: f3 0f b8 19[ ]+popcnt \(%rcx\),%ebx + 25: f3 66 0f b8 19[ ]+popcnt \(%rcx\),%bx + 2a: f3 48 0f b8 d9[ ]+popcnt %rcx,%rbx + 2f: f3 0f b8 d9[ ]+popcnt %ecx,%ebx + 33: f3 66 0f b8 d9[ ]+popcnt %cx,%bx + 38: 66 0f 79 ca[ ]+extrq %xmm2,%xmm1 + 3c: 66 0f 78 c1 02 04[ ]+extrq \$0x4,\$0x2,%xmm1 + 42: f2 0f 79 ca[ ]+insertq %xmm2,%xmm1 + 46: f2 0f 78 ca 02 04[ ]+insertq \$0x4,\$0x2,%xmm2,%xmm1 + 4c: f2 0f 2b 09[ ]+movntsd %xmm1,\(%rcx\) + 50: f3 0f 2b 09[ ]+movntss %xmm1,\(%rcx\) ... -- cgit v1.1