This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Add xsave to -march=


I am checking this patch to add xsave to -march=

H.J.
----
gas/

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.

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.

--- binutils/gas/config/tc-i386.c.xsave	2008-02-08 05:46:40.000000000 -0800
+++ binutils/gas/config/tc-i386.c	2008-02-11 19:44:46.000000000 -0800
@@ -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\
--- binutils/gas/doc/c-i386.texi.xsave	2008-01-22 12:28:57.000000000 -0800
+++ binutils/gas/doc/c-i386.texi	2008-02-11 19:42:29.000000000 -0800
@@ -122,6 +122,7 @@ accept various extension mnemonics.  For
 @code{sse4},
 @code{vmx},
 @code{smx},
+@code{xsave},
 @code{3dnow},
 @code{3dnowa},
 @code{sse4a},
--- binutils/gas/testsuite/gas/i386/arch-10-1.l.xsave	2008-01-22 11:16:44.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-1.l	2008-02-11 19:55:54.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/arch-10-2.l.xsave	2008-01-22 11:16:45.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-2.l	2008-02-11 19:56:15.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/arch-10-3.l.xsave	2008-01-22 11:16:45.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-3.l	2008-02-11 19:56:27.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/arch-10-4.l.xsave	2008-01-22 11:16:45.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10-4.l	2008-02-11 19:56:39.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/arch-10.d.xsave	2008-01-22 11:16:45.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10.d	2008-02-11 19:59:26.000000000 -0800
@@ -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
--- binutils/gas/testsuite/gas/i386/arch-10.s.xsave	2008-01-22 11:16:45.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/arch-10.s	2008-02-11 19:43:12.000000000 -0800
@@ -20,6 +20,8 @@ crc32   %ecx,%ebx
 vmxoff
 # SMX
 getsec
+# Xsave
+xgetbv
 # 3DNow
 pmulhrw %mm4,%mm3
 # 3DNow Extensions
--- binutils/gas/testsuite/gas/i386/x86-64-arch-10.d.xsave	2008-01-23 11:05:12.000000000 -0800
+++ binutils/gas/testsuite/gas/i386/x86-64-arch-10.d	2008-02-11 20:03:44.000000000 -0800
@@ -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
--- binutils/opcodes/i386-gen.c.xsave	2008-02-11 19:03:26.000000000 -0800
+++ binutils/opcodes/i386-gen.c	2008-02-11 19:45:14.000000000 -0800
@@ -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",
--- binutils/opcodes/i386-init.h.xsave	2008-02-11 19:03:26.000000000 -0800
+++ binutils/opcodes/i386-init.h	2008-02-11 19:45:49.000000000 -0800
@@ -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 } }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]