Implement RDRSEED, ADX and PRFCHW instructions
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Jul 2012 12:58:29 +0000 (12:58 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 16 Jul 2012 12:58:29 +0000 (12:58 +0000)
commite2e1fcde622f2f6cedfd7fb6615aa6e136f21dec
tree9ddc06661adc2b06aed7031d9eef15c39af4e2ca
parent094b34ac0b0bca39ecc6b7fd8a97934695079729
Implement RDRSEED, ADX and PRFCHW instructions

gas/

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

gas/testsuite/

* 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/

* 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.
37 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/adx-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/adx.d [new file with mode: 0644]
gas/testsuite/gas/i386/adx.s [new file with mode: 0644]
gas/testsuite/gas/i386/arch-10-1.l
gas/testsuite/gas/i386/arch-10-2.l
gas/testsuite/gas/i386/arch-10-3.l
gas/testsuite/gas/i386/arch-10-4.l
gas/testsuite/gas/i386/arch-10-lzcnt.d
gas/testsuite/gas/i386/arch-10-prefetchw.d [new file with mode: 0644]
gas/testsuite/gas/i386/arch-10.d
gas/testsuite/gas/i386/arch-10.s
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/ilp32/x86-64-arch-2.d
gas/testsuite/gas/i386/rdseed-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/rdseed.d [new file with mode: 0644]
gas/testsuite/gas/i386/rdseed.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-adx-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-adx.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-adx.s [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-arch-2-lzcnt.d
gas/testsuite/gas/i386/x86-64-arch-2-prefetchw.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-arch-2.d
gas/testsuite/gas/i386/x86-64-arch-2.s
gas/testsuite/gas/i386/x86-64-rdseed-intel.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-rdseed.d [new file with mode: 0644]
gas/testsuite/gas/i386/x86-64-rdseed.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/i386-dis.c
opcodes/i386-gen.c
opcodes/i386-init.h
opcodes/i386-opc.h
opcodes/i386-opc.tbl
opcodes/i386-tbl.h