2008-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add .xsave.
	(md_show_usage): Add .xsave.

	* doc/c-i386.texi: Add xsave to -march=.

gas/testsuite/

2008-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/i386/arch-10.s: Add xgetbv.

	* gas/i386/arch-10.d: Updated.
	* gas/i386/arch-10-1.l: Likewise.
	* gas/i386/arch-10-2.l: Likewise.
	* gas/i386/arch-10-3.l: Likewise.
	* gas/i386/arch-10-4.l: Likewise.
	* gas/i386/x86-64-arch-10.d: Likewise.

opcodes/

2008-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-gen.c  (cpu_flag_init): Add CPU_XSAVE_FLAGS.
	* i386-init.h: Updated.
This commit is contained in:
H.J. Lu 2008-02-12 05:35:36 +00:00
parent 9d37b37d37
commit f03fe4c110
14 changed files with 108 additions and 60 deletions

View File

@ -1,3 +1,10 @@
2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (cpu_arch): Add .xsave.
(md_show_usage): Add .xsave.
* doc/c-i386.texi: Add xsave to -march=.
2008-02-07 Alan Modra <amodra@bigpond.net.au>
* read.c (s_weakref): Don't pass unadorned NULL to concat.

View File

@ -623,6 +623,8 @@ static const arch_entry cpu_arch[] =
CPU_VMX_FLAGS },
{ ".smx", PROCESSOR_UNKNOWN,
CPU_SMX_FLAGS },
{ ".xsave", PROCESSOR_UNKNOWN,
CPU_XSAVE_FLAGS },
{ ".3dnow", PROCESSOR_UNKNOWN,
CPU_3DNOW_FLAGS },
{ ".3dnowa", PROCESSOR_UNKNOWN,
@ -7408,8 +7410,8 @@ md_show_usage (stream)
generic32, generic64\n\
EXTENSION is combination of:\n\
mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4,\n\
vmx, smx, 3dnow, 3dnowa, sse4a, sse5, svme, abm,\n\
padlock\n"));
vmx, smx, xsave, 3dnow, 3dnowa, sse4a, sse5, svme,\n\
abm, padlock\n"));
fprintf (stream, _("\
-mtune=CPU optimize for CPU, CPU is one of:\n\
i8086, i186, i286, i386, i486, pentium, pentiumpro,\n\

View File

@ -122,6 +122,7 @@ accept various extension mnemonics. For example,
@code{sse4},
@code{vmx},
@code{smx},
@code{xsave},
@code{3dnow},
@code{3dnowa},
@code{sse4a},

View File

@ -1,3 +1,14 @@
2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.s: Add xgetbv.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/x86-64-arch-10.d: Likewise.
2002-02-11 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run xsave, xsave-intel, x86-64-xsave

View File

@ -16,6 +16,7 @@
.*:32: Error: .*
.*:34: Error: .*
.*:36: Error: .*
.*:38: Error: .*
GAS LISTING .*
@ -42,17 +43,19 @@ GAS LISTING .*
[ ]*20[ ]+vmxoff
[ ]*21[ ]+\# SMX
[ ]*22[ ]+getsec
[ ]*23[ ]+\# 3DNow
[ ]*24[ ]+pmulhrw %mm4,%mm3
[ ]*25[ ]+\# 3DNow Extensions
[ ]*26[ ]+pswapd %mm4,%mm3
[ ]*27[ ]+\# SSE4a
[ ]*28[ ]+insertq %xmm2,%xmm1
[ ]*29[ ]+\# SVME
[ ]*30[ ]+vmload
[ ]*31[ ]+\# ABM
[ ]*32[ ]+lzcnt %ecx,%ebx
[ ]*33[ ]+\# SSE5
[ ]*34[ ]+frczss %xmm2, %xmm1
[ ]*35[ ]+\# PadLock
[ ]*36[ ]+xstorerng
[ ]*23[ ]+\# Xsave
[ ]*24[ ]+xgetbv
[ ]*25[ ]+\# 3DNow
[ ]*26[ ]+pmulhrw %mm4,%mm3
[ ]*27[ ]+\# 3DNow Extensions
[ ]*28[ ]+pswapd %mm4,%mm3
[ ]*29[ ]+\# SSE4a
[ ]*30[ ]+insertq %xmm2,%xmm1
[ ]*31[ ]+\# SVME
[ ]*32[ ]+vmload
[ ]*33[ ]+\# ABM
[ ]*34[ ]+lzcnt %ecx,%ebx
[ ]*35[ ]+\# SSE5
[ ]*36[ ]+frczss %xmm2, %xmm1
[ ]*37[ ]+\# PadLock
[ ]*38[ ]+xstorerng

View File

@ -15,6 +15,7 @@
.*:32: Error: .*
.*:34: Error: .*
.*:36: Error: .*
.*:38: Error: .*
GAS LISTING .*
@ -41,17 +42,19 @@ GAS LISTING .*
[ ]*20[ ]+vmxoff
[ ]*21[ ]+\# SMX
[ ]*22[ ]+getsec
[ ]*23[ ]+\# 3DNow
[ ]*24[ ]+pmulhrw %mm4,%mm3
[ ]*25[ ]+\# 3DNow Extensions
[ ]*26[ ]+pswapd %mm4,%mm3
[ ]*27[ ]+\# SSE4a
[ ]*28[ ]+insertq %xmm2,%xmm1
[ ]*29[ ]+\# SVME
[ ]*30[ ]+vmload
[ ]*31[ ]+\# ABM
[ ]*32[ ]+lzcnt %ecx,%ebx
[ ]*33[ ]+\# SSE5
[ ]*34[ ]+frczss %xmm2, %xmm1
[ ]*35[ ]+\# PadLock
[ ]*36[ ]+xstorerng
[ ]*23[ ]+\# Xsave
[ ]*24[ ]+xgetbv
[ ]*25[ ]+\# 3DNow
[ ]*26[ ]+pmulhrw %mm4,%mm3
[ ]*27[ ]+\# 3DNow Extensions
[ ]*28[ ]+pswapd %mm4,%mm3
[ ]*29[ ]+\# SSE4a
[ ]*30[ ]+insertq %xmm2,%xmm1
[ ]*31[ ]+\# SVME
[ ]*32[ ]+vmload
[ ]*33[ ]+\# ABM
[ ]*34[ ]+lzcnt %ecx,%ebx
[ ]*35[ ]+\# SSE5
[ ]*36[ ]+frczss %xmm2, %xmm1
[ ]*37[ ]+\# PadLock
[ ]*38[ ]+xstorerng

View File

@ -8,6 +8,7 @@
.*:32: Error: .*
.*:34: Error: .*
.*:36: Error: .*
.*:38: Error: .*
GAS LISTING .*
@ -37,17 +38,19 @@ GAS LISTING .*
[ ]*20[ ]+vmxoff
[ ]*21[ ]+\# SMX
[ ]*22[ ]+getsec
[ ]*23[ ]+\# 3DNow
[ ]*24[ ]+pmulhrw %mm4,%mm3
[ ]*25[ ]+\# 3DNow Extensions
[ ]*26[ ]+pswapd %mm4,%mm3
[ ]*27[ ]+\# SSE4a
[ ]*28[ ]+insertq %xmm2,%xmm1
[ ]*29[ ]+\# SVME
[ ]*30[ ]+vmload
[ ]*31[ ]+\# ABM
[ ]*32[ ]+lzcnt %ecx,%ebx
[ ]*33[ ]+\# SSE5
[ ]*34[ ]+frczss %xmm2, %xmm1
[ ]*35[ ]+\# PadLock
[ ]*36[ ]+xstorerng
[ ]*23[ ]+\# Xsave
[ ]*24[ ]+xgetbv
[ ]*25[ ]+\# 3DNow
[ ]*26[ ]+pmulhrw %mm4,%mm3
[ ]*27[ ]+\# 3DNow Extensions
[ ]*28[ ]+pswapd %mm4,%mm3
[ ]*29[ ]+\# SSE4a
[ ]*30[ ]+insertq %xmm2,%xmm1
[ ]*31[ ]+\# SVME
[ ]*32[ ]+vmload
[ ]*33[ ]+\# ABM
[ ]*34[ ]+lzcnt %ecx,%ebx
[ ]*35[ ]+\# SSE5
[ ]*36[ ]+frczss %xmm2, %xmm1
[ ]*37[ ]+\# PadLock
[ ]*38[ ]+xstorerng

View File

@ -6,6 +6,7 @@
.*:32: Error: .*
.*:34: Error: .*
.*:36: Error: .*
.*:38: Error: .*
GAS LISTING .*
@ -35,17 +36,19 @@ GAS LISTING .*
[ ]*20[ ]+\?\?\?\? 0F01C4 vmxoff
[ ]*21[ ]+\# SMX
[ ]*22[ ]+\?\?\?\? 0F37 getsec
[ ]*23[ ]+\# 3DNow
[ ]*24[ ]+pmulhrw %mm4,%mm3
[ ]*25[ ]+\# 3DNow Extensions
[ ]*26[ ]+pswapd %mm4,%mm3
[ ]*27[ ]+\# SSE4a
[ ]*28[ ]+insertq %xmm2,%xmm1
[ ]*29[ ]+\# SVME
[ ]*30[ ]+vmload
[ ]*31[ ]+\# ABM
[ ]*32[ ]+lzcnt %ecx,%ebx
[ ]*33[ ]+\# SSE5
[ ]*34[ ]+frczss %xmm2, %xmm1
[ ]*35[ ]+\# PadLock
[ ]*36[ ]+xstorerng
[ ]*23[ ]+\# Xsave
[ ]*24[ ]+xgetbv
[ ]*25[ ]+\# 3DNow
[ ]*26[ ]+pmulhrw %mm4,%mm3
[ ]*27[ ]+\# 3DNow Extensions
[ ]*28[ ]+pswapd %mm4,%mm3
[ ]*29[ ]+\# SSE4a
[ ]*30[ ]+insertq %xmm2,%xmm1
[ ]*31[ ]+\# SVME
[ ]*32[ ]+vmload
[ ]*33[ ]+\# ABM
[ ]*34[ ]+lzcnt %ecx,%ebx
[ ]*35[ ]+\# SSE5
[ ]*36[ ]+frczss %xmm2, %xmm1
[ ]*37[ ]+\# PadLock
[ ]*38[ ]+xstorerng

View File

@ -1,4 +1,4 @@
#as: -march=i686+sse4+vmx+smx+sse5+3dnowa+svme+padlock
#as: -march=i686+sse4+vmx+smx+xsave+sse5+3dnowa+svme+padlock
#objdump: -dw
#name: i386 arch 10
@ -17,6 +17,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f2 0f 38 f1 d9 crc32l %ecx,%ebx
[ ]*[a-f0-9]+: 0f 01 c4 vmxoff
[ ]*[a-f0-9]+: 0f 37 getsec
[ ]*[a-f0-9]+: 0f 01 d0 xgetbv
[ ]*[a-f0-9]+: 0f 0f dc b7 pmulhrw %mm4,%mm3
[ ]*[a-f0-9]+: 0f 0f dc bb pswapd %mm4,%mm3
[ ]*[a-f0-9]+: f2 0f 79 ca insertq %xmm2,%xmm1

View File

@ -20,6 +20,8 @@ crc32 %ecx,%ebx
vmxoff
# SMX
getsec
# Xsave
xgetbv
# 3DNow
pmulhrw %mm4,%mm3
# 3DNow Extensions

View File

@ -1,5 +1,5 @@
#source: arch-10.s
#as: -march=generic64+sse4+vmx+smx+sse5+3dnowa+svme+padlock
#as: -march=generic64+sse4+vmx+smx+xsave+sse5+3dnowa+svme+padlock
#objdump: -dw
#name: x86-64 arch 10
@ -18,6 +18,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: f2 0f 38 f1 d9 crc32l %ecx,%ebx
[ ]*[a-f0-9]+: 0f 01 c4 vmxoff
[ ]*[a-f0-9]+: 0f 37 getsec
[ ]*[a-f0-9]+: 0f 01 d0 xgetbv
[ ]*[a-f0-9]+: 0f 0f dc b7 pmulhrw %mm4,%mm3
[ ]*[a-f0-9]+: 0f 0f dc bb pswapd %mm4,%mm3
[ ]*[a-f0-9]+: f2 0f 79 ca insertq %xmm2,%xmm1

View File

@ -1,3 +1,8 @@
2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flag_init): Add CPU_XSAVE_FLAGS.
* i386-init.h: Updated.
2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (cpu_flags): Add CpuXsave.

View File

@ -100,6 +100,8 @@ static initializer cpu_flag_init [] =
"CpuVMX" },
{ "CPU_SMX_FLAGS",
"CpuSMX" },
{ "CPU_XSAVE_FLAGS",
"CpuXsave" },
{ "CPU_3DNOW_FLAGS",
"CpuMMX|Cpu3dnow" },
{ "CPU_3DNOWA_FLAGS",

View File

@ -138,6 +138,10 @@
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
#define CPU_XSAVE_FLAGS \
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }
#define CPU_3DNOW_FLAGS \
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }