* 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
* [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
* 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
* 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
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).