public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Re: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
@ 2012-08-10 11:07 Ekanathan, Saravanan
  2012-08-10 17:22 ` H.J. Lu
  0 siblings, 1 reply; 7+ messages in thread
From: Ekanathan, Saravanan @ 2012-08-10 11:07 UTC (permalink / raw)
  To: binutils

Hi,
  Below has removed pswapd instruction from some of i386 tests especially arch-10.d and x86-64-arch-2.d.
This was existing to test one of 3DNOWA instruction (pswapd) with "-march=3dnowa".
One can also see '3dnowa' being passed explicitly in -march option in these dump files to test this combination. 
Could you please include them back?

Regards,
Saravanan

On Mon, Jul 16, 2012 at 4:10 AM, Michael Zolotukhin
<michael.v.zolotukhin@gmail.com> wrote:
> Hi,
> This patch enables in binutils (namely, in asm and objdump) new ADCX,
> ADOX, RDSEED and PREFETCHW instructions, introduced here:
> http://software.intel.com/en-us/avx/
>
> Is it ok for trunk?
>
> gas/Changelog entry:
> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>
>         * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
>         * doc/c-i386.texi: Document the new directives.
>
> gas/testsuite/Changelog entry:
> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>
>         * gas/i386/i386.exp: Run adx, rdseed and prefetchw tests.
>         * gas/i386/x86-64-arch-2.s: Use prefetchw as 3dnow and Prfchw tests.
>         * gas/i386/arch-10.s: Likewise.
>         * gas/i386/arch-10-1.l: Changed correspondingly.
>         * gas/i386/arch-10-2.l: Likewise.
>         * gas/i386/arch-10-3.l: Likewise.
>         * gas/i386/arch-10-4.l: Likewise.
>         * gas/i386/arch-10.d: Likewise.
>         * gas/i386/arch-10-lzcnt.d: Likewise.
>         * gas/i386/x86-64-arch-2.d: Likewise.
>         * gas/i386/x86-64-arch-2-lzcnt.d: Likewise.
>         * gas/i386/ilp32/x86-64-arch-2.d: Likewise.
>         * gas/i386/arch-10-prefetchw.d: New file.
>         * gas/i386/x86-64-arch-2-prefetchw.d: Likewise.
>         * gas/i386/rdseed.s: Likewise.
>         * gas/i386/rdseed.d: Likewise.
>         * gas/i386/rdseed-intel.d: Likewise.
>         * gas/i386/adx.s: Likewise.
>         * gas/i386/adx.d: Likewise.
>         * gas/i386/adx-intel.d: Likewise.
>         * gas/i386/x86-64-rdseed.s: Likewise.
>         * gas/i386/x86-64-rdseed.d: Likewise.
>         * gas/i386/x86-64-rdseed-intel.d: Likewise.
>         * gas/i386/x86-64-adx.s: Likewise.
>         * gas/i386/x86-64-adx.d: Likewise.
>         * gas/i386/x86-64-adx-intel.d: Likewise.
>
> opcodes/ChangeLog entry:
> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>
>         * i386-dis.c (PREFIX_0F38F6): New.
>         (prefix_table): Add adcx, adox instructions.
>         (three_byte_table): Use PREFIX_0F38F6.
>         (mod_table): Add rdseed instruction.
>         * i386-gen.c (cpu_flag_init): Add CpuADX, CpuRDSEED, CpuPRFCHW.
>         (cpu_flags): Likewise.
>         * i386-opc.h: Add CpuADX, CpuRDSEED, CpuPRFCHW.
>         (i386_cpu_flags): Add fields cpurdseed, cpuadx, cpuprfchw.
>         * i386-opc.tbl: Add instrcutions adcx, adox, rdseed. Extend prefetchw.
>         * i386-tbl.h: Regenerate.
>         * i386-init.h: Likewise.
>

It is OK.  I checked it in for you.

Thanks.


-- 
H.J.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
  2012-08-10 11:07 [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump Ekanathan, Saravanan
@ 2012-08-10 17:22 ` H.J. Lu
  2012-08-17 13:05   ` Ekanathan, Saravanan
  0 siblings, 1 reply; 7+ messages in thread
From: H.J. Lu @ 2012-08-10 17:22 UTC (permalink / raw)
  To: Ekanathan, Saravanan; +Cc: binutils

On Thu, Aug 9, 2012 at 11:48 PM, Ekanathan, Saravanan
<Saravanan.Ekanathan@amd.com> wrote:
> Hi,
>   Below has removed pswapd instruction from some of i386 tests especially arch-10.d and x86-64-arch-2.d.
> This was existing to test one of 3DNOWA instruction (pswapd) with "-march=3dnowa".
> One can also see '3dnowa' being passed explicitly in -march option in these dump files to test this combination.
> Could you please include them back?

It was removed due to prefetchw conflict.  Please feel free
to add a separate test for 3dnowa.

Thanks.

-- 
H.J.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
  2012-08-10 17:22 ` H.J. Lu
@ 2012-08-17 13:05   ` Ekanathan, Saravanan
  2012-08-17 13:33     ` H.J. Lu
  0 siblings, 1 reply; 7+ messages in thread
From: Ekanathan, Saravanan @ 2012-08-17 13:05 UTC (permalink / raw)
  To: H.J. Lu; +Cc: binutils

[-- Attachment #1: Type: text/plain, Size: 1061 bytes --]

Hi,
I have re-introduced 3dnowa instruction back into the testsuites. PFA, the  'git diff' of testsuites and the ChangeLog in plain text file.
If everything is fine, can someone  please check it into the trunk.
Regards,
Saravanan

-----Original Message-----
From: H.J. Lu [mailto:hjl.tools@gmail.com] 
Sent: Friday, August 10, 2012 10:15 PM
To: Ekanathan, Saravanan
Cc: binutils@sourceware.org
Subject: Re: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump

On Thu, Aug 9, 2012 at 11:48 PM, Ekanathan, Saravanan <Saravanan.Ekanathan@amd.com> wrote:
> Hi,
>   Below has removed pswapd instruction from some of i386 tests especially arch-10.d and x86-64-arch-2.d.
> This was existing to test one of 3DNOWA instruction (pswapd) with "-march=3dnowa".
> One can also see '3dnowa' being passed explicitly in -march option in these dump files to test this combination.
> Could you please include them back?

It was removed due to prefetchw conflict.  Please feel free to add a separate test for 3dnowa.

Thanks.

--
H.J.


[-- Attachment #2: 3dnowa_testsuite.patch --]
[-- Type: application/octet-stream, Size: 12898 bytes --]

diff --git a/gas/testsuite/gas/i386/arch-10-1.l b/gas/testsuite/gas/i386/arch-10-1.l
index c47d01d..17f7b37 100644
--- a/gas/testsuite/gas/i386/arch-10-1.l
+++ b/gas/testsuite/gas/i386/arch-10-1.l
@@ -30,6 +30,7 @@
 .*:60: Error: .*
 .*:62: Error: .*
 .*:64: Error: .*
+.*:66: Error: .*
 GAS LISTING .*
 
 
@@ -84,20 +85,22 @@ GAS LISTING .*
 [ 	]*48[ 	]+rdtscp
 [ 	]*49[ 	]+\# 3DNow or PRFCHW
 [ 	]*50[ 	]+prefetchw 0x1000\(,%esi,2\)
-[ 	]*51[ 	]+\# SSE4a
-[ 	]*52[ 	]+insertq %xmm2,%xmm1
-[ 	]*53[ 	]+\# SVME
-[ 	]*54[ 	]+vmload
-[ 	]*55[ 	]+\# ABM/LZCNT
-[ 	]*56[ 	]+lzcnt %ecx,%ebx
+[ 	]*51[ 	]+\# 3DNow Extensions
+[ 	]*52[ 	]+pswapd %mm4,%mm3
+[ 	]*53[ 	]+\# SSE4a
+[ 	]*54[ 	]+insertq %xmm2,%xmm1
+[ 	]*55[ 	]+\# SVME
+[ 	]*56[ 	]+vmload
 \fGAS LISTING .*
 
 
-[ 	]*57[ 	]+\# PadLock
-[ 	]*58[ 	]+xstorerng
-[ 	]*59[ 	]+\# nop
-[ 	]*60[ 	]+nopl \(%eax\)
-[ 	]*61[ 	]+\# BMI
-[ 	]*62[ 	]+blsr %ecx,%ebx
-[ 	]*63[ 	]+\# TBM
-[ 	]*64[ 	]+blcfill %ecx,%ebx
+[ 	]*57[ 	]+\# ABM/LZCNT
+[ 	]*58[ 	]+lzcnt %ecx,%ebx
+[ 	]*59[ 	]+\# PadLock
+[ 	]*60[ 	]+xstorerng
+[ 	]*61[ 	]+\# nop
+[ 	]*62[ 	]+nopl \(%eax\)
+[ 	]*63[ 	]+\# BMI
+[ 	]*64[ 	]+blsr %ecx,%ebx
+[ 	]*65[ 	]+\# TBM
+[ 	]*66[ 	]+blcfill %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10-2.l b/gas/testsuite/gas/i386/arch-10-2.l
index 65f09a5..265e97a 100644
--- a/gas/testsuite/gas/i386/arch-10-2.l
+++ b/gas/testsuite/gas/i386/arch-10-2.l
@@ -29,6 +29,7 @@
 .*:60: Error: .*
 .*:62: Error: .*
 .*:64: Error: .*
+.*:66: Error: .*
 GAS LISTING .*
 
 
@@ -83,20 +84,22 @@ GAS LISTING .*
 [ 	]*48[ 	]+rdtscp
 [ 	]*49[ 	]+\# 3DNow or PRFCHW
 [ 	]*50[ 	]+prefetchw 0x1000\(,%esi,2\)
-[ 	]*51[ 	]+\# SSE4a
-[ 	]*52[ 	]+insertq %xmm2,%xmm1
-[ 	]*53[ 	]+\# SVME
-[ 	]*54[ 	]+vmload
-[ 	]*55[ 	]+\# ABM/LZCNT
-[ 	]*56[ 	]+lzcnt %ecx,%ebx
+[ 	]*51[ 	]+\# 3DNow Extensions
+[ 	]*52[ 	]+pswapd %mm4,%mm3
+[ 	]*53[ 	]+\# SSE4a
+[ 	]*54[ 	]+insertq %xmm2,%xmm1
+[ 	]*55[ 	]+\# SVME
+[ 	]*56[ 	]+vmload
 \fGAS LISTING .*
 
 
-[ 	]*57[ 	]+\# PadLock
-[ 	]*58[ 	]+xstorerng
-[ 	]*59[ 	]+\# nop
-[ 	]*60[ 	]+nopl \(%eax\)
-[ 	]*61[ 	]+\# BMI
-[ 	]*62[ 	]+blsr %ecx,%ebx
-[ 	]*63[ 	]+\# TBM
-[ 	]*64[ 	]+blcfill %ecx,%ebx
+[ 	]*57[ 	]+\# ABM/LZCNT
+[ 	]*58[ 	]+lzcnt %ecx,%ebx
+[ 	]*59[ 	]+\# PadLock
+[ 	]*60[ 	]+xstorerng
+[ 	]*61[ 	]+\# nop
+[ 	]*62[ 	]+nopl \(%eax\)
+[ 	]*63[ 	]+\# BMI
+[ 	]*64[ 	]+blsr %ecx,%ebx
+[ 	]*65[ 	]+\# TBM
+[ 	]*66[ 	]+blcfill %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10-3.l b/gas/testsuite/gas/i386/arch-10-3.l
index 13ff5db..20dd103 100644
--- a/gas/testsuite/gas/i386/arch-10-3.l
+++ b/gas/testsuite/gas/i386/arch-10-3.l
@@ -22,6 +22,7 @@
 .*:60: Error: .*
 .*:62: Error: .*
 .*:64: Error: .*
+.*:66: Error: .*
 GAS LISTING .*
 
 
@@ -79,20 +80,22 @@ GAS LISTING .*
 [ 	]*48[ 	]+rdtscp
 [ 	]*49[ 	]+\# 3DNow or PRFCHW
 [ 	]*50[ 	]+prefetchw 0x1000\(,%esi,2\)
-[ 	]*51[ 	]+\# SSE4a
-[ 	]*52[ 	]+insertq %xmm2,%xmm1
-[ 	]*53[ 	]+\# SVME
+[ 	]*51[ 	]+\# 3DNow Extensions
+[ 	]*52[ 	]+pswapd %mm4,%mm3
+[ 	]*53[ 	]+\# SSE4a
 \fGAS LISTING .*
 
 
-[ 	]*54[ 	]+vmload
-[ 	]*55[ 	]+\# ABM/LZCNT
-[ 	]*56[ 	]+lzcnt %ecx,%ebx
-[ 	]*57[ 	]+\# PadLock
-[ 	]*58[ 	]+xstorerng
-[ 	]*59[ 	]+\# nop
-[ 	]*60[ 	]+nopl \(%eax\)
-[ 	]*61[ 	]+\# BMI
-[ 	]*62[ 	]+blsr %ecx,%ebx
-[ 	]*63[ 	]+\# TBM
-[ 	]*64[ 	]+blcfill %ecx,%ebx
+[ 	]*54[ 	]+insertq %xmm2,%xmm1
+[ 	]*55[ 	]+\# SVME
+[ 	]*56[ 	]+vmload
+[ 	]*57[ 	]+\# ABM/LZCNT
+[ 	]*58[ 	]+lzcnt %ecx,%ebx
+[ 	]*59[ 	]+\# PadLock
+[ 	]*60[ 	]+xstorerng
+[ 	]*61[ 	]+\# nop
+[ 	]*62[ 	]+nopl \(%eax\)
+[ 	]*63[ 	]+\# BMI
+[ 	]*64[ 	]+blsr %ecx,%ebx
+[ 	]*65[ 	]+\# TBM
+[ 	]*66[ 	]+blcfill %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10-4.l b/gas/testsuite/gas/i386/arch-10-4.l
index df795ba..8aa2414 100644
--- a/gas/testsuite/gas/i386/arch-10-4.l
+++ b/gas/testsuite/gas/i386/arch-10-4.l
@@ -20,6 +20,7 @@
 .*:60: Error: .*
 .*:62: Error: .*
 .*:64: Error: .*
+.*:66: Error: .*
 GAS LISTING .*
 
 
@@ -77,20 +78,22 @@ GAS LISTING .*
 [ 	]*48[ 	]+rdtscp
 [ 	]*49[ 	]+\# 3DNow or PRFCHW
 [ 	]*50[ 	]+prefetchw 0x1000\(,%esi,2\)
-[ 	]*51[ 	]+\# SSE4a
-[ 	]*52[ 	]+insertq %xmm2,%xmm1
-[ 	]*53[ 	]+\# SVME
+[ 	]*51[ 	]+\# 3DNow Extensions
+[ 	]*52[ 	]+pswapd %mm4,%mm3
+[ 	]*53[ 	]+\# SSE4a
 \fGAS LISTING .*
 
 
-[ 	]*54[ 	]+vmload
-[ 	]*55[ 	]+\# ABM/LZCNT
-[ 	]*56[ 	]+lzcnt %ecx,%ebx
-[ 	]*57[ 	]+\# PadLock
-[ 	]*58[ 	]+xstorerng
-[ 	]*59[ 	]+\# nop
-[ 	]*60[ 	]+nopl \(%eax\)
-[ 	]*61[ 	]+\# BMI
-[ 	]*62[ 	]+blsr %ecx,%ebx
-[ 	]*63[ 	]+\# TBM
-[ 	]*64[ 	]+blcfill %ecx,%ebx
+[ 	]*54[ 	]+insertq %xmm2,%xmm1
+[ 	]*55[ 	]+\# SVME
+[ 	]*56[ 	]+vmload
+[ 	]*57[ 	]+\# ABM/LZCNT
+[ 	]*58[ 	]+lzcnt %ecx,%ebx
+[ 	]*59[ 	]+\# PadLock
+[ 	]*60[ 	]+xstorerng
+[ 	]*61[ 	]+\# nop
+[ 	]*62[ 	]+nopl \(%eax\)
+[ 	]*63[ 	]+\# BMI
+[ 	]*64[ 	]+blsr %ecx,%ebx
+[ 	]*65[ 	]+\# TBM
+[ 	]*66[ 	]+blcfill %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10-bdver2.d b/gas/testsuite/gas/i386/arch-10-bdver2.d
index 50d1302..c3c4835 100644
--- a/gas/testsuite/gas/i386/arch-10-bdver2.d
+++ b/gas/testsuite/gas/i386/arch-10-bdver2.d
@@ -1,5 +1,5 @@
 #source: arch-10.s
-#as: -march=bdver2+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+movbe+ept+clflush+svme+padlock+prfchw
+#as: -march=bdver2+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+movbe+ept+clflush+svme+padlock+prfchw+3dnowa
 #objdump: -dw
 #name: i386 arch 10 (bdver2)
 
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%ecx\),%ebx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%esi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10-lzcnt.d b/gas/testsuite/gas/i386/arch-10-lzcnt.d
index a1e040d..6ebcc18 100644
--- a/gas/testsuite/gas/i386/arch-10-lzcnt.d
+++ b/gas/testsuite/gas/i386/arch-10-lzcnt.d
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%ecx\),%ebx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%esi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10-prefetchw.d b/gas/testsuite/gas/i386/arch-10-prefetchw.d
index 1129edf..fde728b 100644
--- a/gas/testsuite/gas/i386/arch-10-prefetchw.d
+++ b/gas/testsuite/gas/i386/arch-10-prefetchw.d
@@ -1,5 +1,5 @@
 #source: arch-10.s
-#as: -march=i686+nop+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse4a+svme+lzcnt+padlock+bmi+tbm+prfchw
+#as: -march=i686+nop+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse4a+svme+lzcnt+padlock+bmi+tbm+prfchw+3dnowa
 #objdump: -dw
 #name: i386 arch 10 (prefetchw)
 
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%ecx\),%ebx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%esi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10.d b/gas/testsuite/gas/i386/arch-10.d
index 3e2a7f1..800506c 100644
--- a/gas/testsuite/gas/i386/arch-10.d
+++ b/gas/testsuite/gas/i386/arch-10.d
@@ -31,6 +31,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%ecx\),%ebx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%esi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/arch-10.s b/gas/testsuite/gas/i386/arch-10.s
index 39989d1..9e6f965 100644
--- a/gas/testsuite/gas/i386/arch-10.s
+++ b/gas/testsuite/gas/i386/arch-10.s
@@ -48,6 +48,8 @@ invept  (%ecx),%ebx
 rdtscp
 # 3DNow or PRFCHW
 prefetchw 0x1000(,%esi,2)
+# 3DNow Extensions
+pswapd %mm4,%mm3
 # SSE4a
 insertq %xmm2,%xmm1
 # SVME
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-arch-2.d b/gas/testsuite/gas/i386/ilp32/x86-64-arch-2.d
index e6e55b3..24d00ad 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-arch-2.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-arch-2.d
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%rcx\),%rbx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%rsi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2-bdver2.d b/gas/testsuite/gas/i386/x86-64-arch-2-bdver2.d
index eadcad2..7950b5c 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2-bdver2.d
+++ b/gas/testsuite/gas/i386/x86-64-arch-2-bdver2.d
@@ -1,5 +1,5 @@
 #source: x86-64-arch-2.s
-#as: -march=bdver2+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+movbe+ept+clflush+svme+padlock+prfchw
+#as: -march=bdver2+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+movbe+ept+clflush+svme+padlock+prfchw+3dnowa
 #objdump: -dw
 #name: x86-64 arch 2 (bdver2)
 
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%rcx\),%rbx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%rsi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d b/gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d
index 02cfc47..6ce70ae 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d
+++ b/gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%rcx\),%rbx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%rsi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d b/gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d
index c7ea055..daeb228 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d
+++ b/gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d
@@ -1,5 +1,5 @@
 #source: x86-64-arch-2.s
-#as: -march=generic64+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse4a+svme+lzcnt+padlock+bmi+tbm+prfchw
+#as: -march=generic64+avx+vmx+smx+xsave+xsaveopt+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse4a+svme+lzcnt+padlock+bmi+tbm+prfchw+3dnowa
 #objdump: -dw
 #name: x86-64 arch 2 (prefetchw)
 
@@ -32,6 +32,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%rcx\),%rbx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%rsi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2.d b/gas/testsuite/gas/i386/x86-64-arch-2.d
index 0081687..425bcb4 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2.d
+++ b/gas/testsuite/gas/i386/x86-64-arch-2.d
@@ -31,6 +31,7 @@ Disassembly of section .text:
 [ 	]*[a-f0-9]+:	66 0f 38 80 19       	invept \(%rcx\),%rbx
 [ 	]*[a-f0-9]+:	0f 01 f9             	rdtscp 
 [ 	]*[a-f0-9]+:	0f 0d 0c 75 00 10 00 00 	prefetchw 0x1000\(,%rsi,2\)
+[ 	]*[a-f0-9]+:	0f 0f dc bb          	pswapd %mm4,%mm3
 [ 	]*[a-f0-9]+:	f2 0f 79 ca          	insertq %xmm2,%xmm1
 [ 	]*[a-f0-9]+:	0f 01 da             	vmload 
 [ 	]*[a-f0-9]+:	f3 0f bd d9          	lzcnt  %ecx,%ebx
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2.s b/gas/testsuite/gas/i386/x86-64-arch-2.s
index 7292e0a..ba5c182 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2.s
+++ b/gas/testsuite/gas/i386/x86-64-arch-2.s
@@ -48,6 +48,8 @@ invept  (%rcx),%rbx
 rdtscp
 # 3DNow or PRFCHW
 prefetchw   0x1000(,%rsi,2)
+# 3DNow Extensions
+pswapd %mm4,%mm3
 # SSE4a
 insertq %xmm2,%xmm1
 # SVME

[-- Attachment #3: GasTest.ChangeLog.txt --]
[-- Type: text/plain, Size: 819 bytes --]

2012-08-17  Saravanan Ekanathan <saravanan.ekanathan@amd.com>

        * gas/i386/arch-10-1.l : Reintroduced 3dnowa instruction in testsuites.
        * gas/i386/arch-10-2.l : Likewise.
        * gas/i386/arch-10-3.l : Likewise.
        * gas/i386/arch-10-4.l : Likewise.
        * gas/i386/arch-10-bdver2.d : Likewise.
        * gas/i386/arch-10-lzcnt.d : Likewise
        * gas/i386/arch-10-prefetchw.d : Likewise.
        * gas/i386/arch-10.d : Likewise
        * gas/i386/arch-10.s : Likewise
        * gas/i386/x86-64-arch-2-bdver2.d : Likewise
        * gas/i386/x86-64-arch-2-lzcnt.d : Likewise
        * gas/i386/x86-64-arch-2-prefetchw.d : Likewise
        * gas/i386/x86-64-arch-2.d : Likewise
        * gas/i386/x86-64-arch-2.s : Likewise
        * gas/i386/ilp32/x86-64-arch-2.d : Likewise

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
  2012-08-17 13:05   ` Ekanathan, Saravanan
@ 2012-08-17 13:33     ` H.J. Lu
  0 siblings, 0 replies; 7+ messages in thread
From: H.J. Lu @ 2012-08-17 13:33 UTC (permalink / raw)
  To: Ekanathan, Saravanan; +Cc: binutils

On Fri, Aug 17, 2012 at 2:32 AM, Ekanathan, Saravanan
<Saravanan.Ekanathan@amd.com> wrote:
> Hi,
> I have re-introduced 3dnowa instruction back into the testsuites. PFA, the  'git diff' of testsuites and the ChangeLog in plain text file.
> If everything is fine, can someone  please check it into the trunk.
> Regards,
> Saravanan

Your change disables prfchw test since prefetchw is also enabled
by 3dnowa.  Even if prfchw doesn't enable prefetchw, the test will
still pass.  You need to add a separate 3dnowa test.

-- 
H.J.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
  2012-07-16 12:59 ` H.J. Lu
@ 2012-07-16 13:00   ` Michael Zolotukhin
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Zolotukhin @ 2012-07-16 13:00 UTC (permalink / raw)
  To: H.J. Lu; +Cc: binutils, Kirill Yukhin

Thanks!

On 16 July 2012 16:59, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Jul 16, 2012 at 4:10 AM, Michael Zolotukhin
> <michael.v.zolotukhin@gmail.com> wrote:
>> Hi,
>> This patch enables in binutils (namely, in asm and objdump) new ADCX,
>> ADOX, RDSEED and PREFETCHW instructions, introduced here:
>> http://software.intel.com/en-us/avx/
>>
>> Is it ok for trunk?
>>
>> gas/Changelog entry:
>> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>>
>>         * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
>>         * doc/c-i386.texi: Document the new directives.
>>
>> gas/testsuite/Changelog entry:
>> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>>
>>         * gas/i386/i386.exp: Run adx, rdseed and prefetchw tests.
>>         * gas/i386/x86-64-arch-2.s: Use prefetchw as 3dnow and Prfchw tests.
>>         * gas/i386/arch-10.s: Likewise.
>>         * gas/i386/arch-10-1.l: Changed correspondingly.
>>         * gas/i386/arch-10-2.l: Likewise.
>>         * gas/i386/arch-10-3.l: Likewise.
>>         * gas/i386/arch-10-4.l: Likewise.
>>         * gas/i386/arch-10.d: Likewise.
>>         * gas/i386/arch-10-lzcnt.d: Likewise.
>>         * gas/i386/x86-64-arch-2.d: Likewise.
>>         * gas/i386/x86-64-arch-2-lzcnt.d: Likewise.
>>         * gas/i386/ilp32/x86-64-arch-2.d: Likewise.
>>         * gas/i386/arch-10-prefetchw.d: New file.
>>         * gas/i386/x86-64-arch-2-prefetchw.d: Likewise.
>>         * gas/i386/rdseed.s: Likewise.
>>         * gas/i386/rdseed.d: Likewise.
>>         * gas/i386/rdseed-intel.d: Likewise.
>>         * gas/i386/adx.s: Likewise.
>>         * gas/i386/adx.d: Likewise.
>>         * gas/i386/adx-intel.d: Likewise.
>>         * gas/i386/x86-64-rdseed.s: Likewise.
>>         * gas/i386/x86-64-rdseed.d: Likewise.
>>         * gas/i386/x86-64-rdseed-intel.d: Likewise.
>>         * gas/i386/x86-64-adx.s: Likewise.
>>         * gas/i386/x86-64-adx.d: Likewise.
>>         * gas/i386/x86-64-adx-intel.d: Likewise.
>>
>> opcodes/ChangeLog entry:
>> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>>
>>         * i386-dis.c (PREFIX_0F38F6): New.
>>         (prefix_table): Add adcx, adox instructions.
>>         (three_byte_table): Use PREFIX_0F38F6.
>>         (mod_table): Add rdseed instruction.
>>         * i386-gen.c (cpu_flag_init): Add CpuADX, CpuRDSEED, CpuPRFCHW.
>>         (cpu_flags): Likewise.
>>         * i386-opc.h: Add CpuADX, CpuRDSEED, CpuPRFCHW.
>>         (i386_cpu_flags): Add fields cpurdseed, cpuadx, cpuprfchw.
>>         * i386-opc.tbl: Add instrcutions adcx, adox, rdseed. Extend prefetchw.
>>         * i386-tbl.h: Regenerate.
>>         * i386-init.h: Likewise.
>>
>
> It is OK.  I checked it in for you.
>
> Thanks.
>
>
> --
> H.J.



-- 
---
Best regards,
Michael V. Zolotukhin,
Software Engineer
Intel Corporation.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
  2012-07-16 11:10 Michael Zolotukhin
@ 2012-07-16 12:59 ` H.J. Lu
  2012-07-16 13:00   ` Michael Zolotukhin
  0 siblings, 1 reply; 7+ messages in thread
From: H.J. Lu @ 2012-07-16 12:59 UTC (permalink / raw)
  To: Michael Zolotukhin; +Cc: binutils, Kirill Yukhin

On Mon, Jul 16, 2012 at 4:10 AM, Michael Zolotukhin
<michael.v.zolotukhin@gmail.com> wrote:
> Hi,
> This patch enables in binutils (namely, in asm and objdump) new ADCX,
> ADOX, RDSEED and PREFETCHW instructions, introduced here:
> http://software.intel.com/en-us/avx/
>
> Is it ok for trunk?
>
> gas/Changelog entry:
> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>
>         * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
>         * doc/c-i386.texi: Document the new directives.
>
> gas/testsuite/Changelog entry:
> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>
>         * gas/i386/i386.exp: Run adx, rdseed and prefetchw tests.
>         * gas/i386/x86-64-arch-2.s: Use prefetchw as 3dnow and Prfchw tests.
>         * gas/i386/arch-10.s: Likewise.
>         * gas/i386/arch-10-1.l: Changed correspondingly.
>         * gas/i386/arch-10-2.l: Likewise.
>         * gas/i386/arch-10-3.l: Likewise.
>         * gas/i386/arch-10-4.l: Likewise.
>         * gas/i386/arch-10.d: Likewise.
>         * gas/i386/arch-10-lzcnt.d: Likewise.
>         * gas/i386/x86-64-arch-2.d: Likewise.
>         * gas/i386/x86-64-arch-2-lzcnt.d: Likewise.
>         * gas/i386/ilp32/x86-64-arch-2.d: Likewise.
>         * gas/i386/arch-10-prefetchw.d: New file.
>         * gas/i386/x86-64-arch-2-prefetchw.d: Likewise.
>         * gas/i386/rdseed.s: Likewise.
>         * gas/i386/rdseed.d: Likewise.
>         * gas/i386/rdseed-intel.d: Likewise.
>         * gas/i386/adx.s: Likewise.
>         * gas/i386/adx.d: Likewise.
>         * gas/i386/adx-intel.d: Likewise.
>         * gas/i386/x86-64-rdseed.s: Likewise.
>         * gas/i386/x86-64-rdseed.d: Likewise.
>         * gas/i386/x86-64-rdseed-intel.d: Likewise.
>         * gas/i386/x86-64-adx.s: Likewise.
>         * gas/i386/x86-64-adx.d: Likewise.
>         * gas/i386/x86-64-adx-intel.d: Likewise.
>
> opcodes/ChangeLog entry:
> 2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>
>
>         * i386-dis.c (PREFIX_0F38F6): New.
>         (prefix_table): Add adcx, adox instructions.
>         (three_byte_table): Use PREFIX_0F38F6.
>         (mod_table): Add rdseed instruction.
>         * i386-gen.c (cpu_flag_init): Add CpuADX, CpuRDSEED, CpuPRFCHW.
>         (cpu_flags): Likewise.
>         * i386-opc.h: Add CpuADX, CpuRDSEED, CpuPRFCHW.
>         (i386_cpu_flags): Add fields cpurdseed, cpuadx, cpuprfchw.
>         * i386-opc.tbl: Add instrcutions adcx, adox, rdseed. Extend prefetchw.
>         * i386-tbl.h: Regenerate.
>         * i386-init.h: Likewise.
>

It is OK.  I checked it in for you.

Thanks.


-- 
H.J.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump
@ 2012-07-16 11:10 Michael Zolotukhin
  2012-07-16 12:59 ` H.J. Lu
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Zolotukhin @ 2012-07-16 11:10 UTC (permalink / raw)
  To: binutils; +Cc: Kirill Yukhin, H.J. Lu

[-- Attachment #1: Type: text/plain, Size: 2462 bytes --]

Hi,
This patch enables in binutils (namely, in asm and objdump) new ADCX,
ADOX, RDSEED and PREFETCHW instructions, introduced here:
http://software.intel.com/en-us/avx/

Is it ok for trunk?

gas/Changelog entry:
2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

        * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
        * doc/c-i386.texi: Document the new directives.

gas/testsuite/Changelog entry:
2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

        * gas/i386/i386.exp: Run adx, rdseed and prefetchw tests.
        * gas/i386/x86-64-arch-2.s: Use prefetchw as 3dnow and Prfchw tests.
        * gas/i386/arch-10.s: Likewise.
        * gas/i386/arch-10-1.l: Changed correspondingly.
        * gas/i386/arch-10-2.l: Likewise.
        * gas/i386/arch-10-3.l: Likewise.
        * gas/i386/arch-10-4.l: Likewise.
        * gas/i386/arch-10.d: Likewise.
        * gas/i386/arch-10-lzcnt.d: Likewise.
        * gas/i386/x86-64-arch-2.d: Likewise.
        * gas/i386/x86-64-arch-2-lzcnt.d: Likewise.
        * gas/i386/ilp32/x86-64-arch-2.d: Likewise.
        * gas/i386/arch-10-prefetchw.d: New file.
        * gas/i386/x86-64-arch-2-prefetchw.d: Likewise.
        * gas/i386/rdseed.s: Likewise.
        * gas/i386/rdseed.d: Likewise.
        * gas/i386/rdseed-intel.d: Likewise.
        * gas/i386/adx.s: Likewise.
        * gas/i386/adx.d: Likewise.
        * gas/i386/adx-intel.d: Likewise.
        * gas/i386/x86-64-rdseed.s: Likewise.
        * gas/i386/x86-64-rdseed.d: Likewise.
        * gas/i386/x86-64-rdseed-intel.d: Likewise.
        * gas/i386/x86-64-adx.s: Likewise.
        * gas/i386/x86-64-adx.d: Likewise.
        * gas/i386/x86-64-adx-intel.d: Likewise.

opcodes/ChangeLog entry:
2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

        * i386-dis.c (PREFIX_0F38F6): New.
        (prefix_table): Add adcx, adox instructions.
        (three_byte_table): Use PREFIX_0F38F6.
        (mod_table): Add rdseed instruction.
        * i386-gen.c (cpu_flag_init): Add CpuADX, CpuRDSEED, CpuPRFCHW.
        (cpu_flags): Likewise.
        * i386-opc.h: Add CpuADX, CpuRDSEED, CpuPRFCHW.
        (i386_cpu_flags): Add fields cpurdseed, cpuadx, cpuprfchw.
        * i386-opc.tbl: Add instrcutions adcx, adox, rdseed. Extend prefetchw.
        * i386-tbl.h: Regenerate.
        * i386-init.h: Likewise.


--
---
Best regards,
Michael V. Zolotukhin,
Software Engineer
Intel Corporation.

[-- Attachment #2: Adx_Rdseed_Prefetchw.patch.tgz --]
[-- Type: application/x-gzip, Size: 59316 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-08-17 13:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-10 11:07 [PATCH] Enabling ADCX, ADOX, RDSEED and PREFETCHW in asm and objdump Ekanathan, Saravanan
2012-08-10 17:22 ` H.J. Lu
2012-08-17 13:05   ` Ekanathan, Saravanan
2012-08-17 13:33     ` H.J. Lu
  -- strict thread matches above, loose matches on Subject: below --
2012-07-16 11:10 Michael Zolotukhin
2012-07-16 12:59 ` H.J. Lu
2012-07-16 13:00   ` Michael Zolotukhin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).