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 1286b3a52477d48b5a471f7dc46bd88110256b7f..c55b1928d65dd0a20fd0ae88e501f4bbdaed50ea 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 c68fde75a43bfa49317b83d018a7a83a567ee2ef..2170aed787d08871ed46b8a63cc435128537d507 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 721d857f651cff78de60ee20a9336014d819ad37..838d72e0d781d66f02c87798782e3aa13200614e 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 a24e8bc0d243de713f763eff5fb77712b6661fe8..dde198707ee965d5f1a0bf0818e67e82257b0ce2 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 c5fc40e8295db95f84bf6650174c1465d6174c46..8feaf904a6c19be37a55fd3281845ea74a6b6a65 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 5c174dd8ad56a5e4e6387297177c55d9f34063ae..430b0c209403b5d20beb69daac74c3c804a3b6b4 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 e628e8b2579be218fcf456b339c5041e33b3f5f8..f7320e50b3f7373a90455c341a74ac5ed9301157 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 670f8e70354906f6561a25c374f7c6608211d2aa..3cda861ea5641359086e10ad540e76ac3d6494ff 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 c089b76d7aeb76aef3d5c5f130701e07fff9094d..81e659895f15a5bb81ff28324d7c25f20937c3c2 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 97478ed0d5bd735188d3df5d54b001bf1674c262..e5e799d584259ebf47c5690c03f443eb77ed203b 100644 (file)
@@ -20,6 +20,8 @@ crc32   %ecx,%ebx
 vmxoff
 # SMX
 getsec
+# Xsave
+xgetbv
 # 3DNow
 pmulhrw %mm4,%mm3
 # 3DNow Extensions
index 1e1a31e720bdb1a230ef38cc4ef4afb0611afe7e..dd4689d06a5ac81430ee2475b66c64a71e975a8e 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 69a13a6a4ba0319c3a5b9e2d908f025690749043..1477e8cfbc9bff331a7a9b430f6b7ac507b38d67 100644 (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.
index d4acab1f5a3e20b9c89fd1ab96690ae4d5d2e49c..269759b8b3ee4c0ac919b69ceaa18c6dc64b491b 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 e338099937a24965bf8ff7ee219cacf777008bee..831f7f843c49e7ff41a492490646bbd42e623746 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 } }