gas/
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 12 Feb 2008 05:35:36 +0000 (05:35 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 12 Feb 2008 05:35:36 +0000 (05:35 +0000)
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.

14 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/doc/c-i386.texi
gas/testsuite/ChangeLog
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.d
gas/testsuite/gas/i386/arch-10.s
gas/testsuite/gas/i386/x86-64-arch-10.d
opcodes/ChangeLog
opcodes/i386-gen.c
opcodes/i386-init.h

index 1286b3a..c55b192 100644 (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.
index c68fde7..2170aed 100644 (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\
index 721d857..838d72e 100644 (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},
index a24e8bc..dde1987 100644 (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
index c5fc40e..8feaf90 100644 (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
index 5c174dd..430b0c2 100644 (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
index e628e8b..f7320e5 100644 (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
index 670f8e7..3cda861 100644 (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
index c089b76..81e6598 100644 (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
index 97478ed..e5e799d 100644 (file)
@@ -20,6 +20,8 @@ crc32   %ecx,%ebx
 vmxoff
 # SMX
 getsec
+# Xsave
+xgetbv
 # 3DNow
 pmulhrw %mm4,%mm3
 # 3DNow Extensions
index 1e1a31e..dd4689d 100644 (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
index 69a13a6..1477e8c 100644 (file)
@@ -1,5 +1,10 @@
 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.
 
        * i386-opc.h (CpuXsave): New.
index d4acab1..269759b 100644 (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",
index e338099..831f7f8 100644 (file)
   { { 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 } }