aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-01-10 17:25:52 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-01-10 17:25:52 +0000
commitbd5295b282c09d4aa5ee49b869cb39cd1dc8f02b (patch)
treec76351a57949d22a02b15abcd701fd49ef1b9376 /gas
parent38788b66ed252babb4235e5eb0f483a2da9af280 (diff)
downloadgdb-bd5295b282c09d4aa5ee49b869cb39cd1dc8f02b.zip
gdb-bd5295b282c09d4aa5ee49b869cb39cd1dc8f02b.tar.gz
gdb-bd5295b282c09d4aa5ee49b869cb39cd1dc8f02b.tar.bz2
gas/
2009-01-10 H.J. Lu <hongjiu.lu@intel.com> * gas/config/tc-i386.c (cpu_arch): Add corei7, .clflush and .syscall. (i386_align_code): Handle PROCESSOR_COREI7. (md_show_usage): Add corei7, clflush and syscall. (i386_target_format): Replace cpup4 with cpuclflush. * gas/config/tc-i386.h (processor_type): Add PROCESSOR_COREI7. * doc/c-i386.texi: Document corei7, clflush and syscall. gas/testsuite/ 2009-01-10 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/arch-10.s: Add clflush and syscall. * gas/i386/x86-64-arch-2.s: Likewise. * 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-2.d: Likewise. opcodes/ 2009-01-10 H.J. Lu <hongjiu.lu@intel.com> * i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with CpuClflush and CpuSYSCALL, respectively. Remove CpuK8. Add CPU_COREI7_FLAGS, CPU_CLFLUSH_FLAGS and CPU_SYSCALL_FLAGS. (cpu_flags): Remove CpuP4, CpuK6 and CpuK8. Add CpuClflush and CpuSYSCALL. (lineno): Removed. (set_bitfield): Take an argument, lineno. Don't report lineno on error if it is -1. (process_i386_cpu_flag): Take an argument, lineno. (process_i386_opcode_modifier): Likewise. (process_i386_operand_type): Likewise. (output_i386_opcode): Likewise. (opcode_hash_entry): Add lineno. (process_i386_opcodes): Updated. (process_i386_registers): Likewise. (process_i386_initializers): Likewise. * i386-opc.h (CpuP4): Removed. (CpuK6): Likewise. (CpuK8): Likewise. (CpuClflush): New. (CpuSYSCALL): Likewise. (CpuMMX): Updated. (i386_cpu_flags): Remove cpup4, cpuk6 and cpuk8. Add cpuclflush and cpusyscall. * i386-opc.tbl: Update movnti, clflush, lfence, mfence, pause, syscall and sysret. * i386-init.h: Regenerated. * i386-tbl.h: Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog12
-rw-r--r--gas/config/tc-i386.c24
-rw-r--r--gas/config/tc-i386.h1
-rw-r--r--gas/doc/c-i386.texi9
-rw-r--r--gas/testsuite/ChangeLog12
-rw-r--r--gas/testsuite/gas/i386/arch-10-1.l109
-rw-r--r--gas/testsuite/gas/i386/arch-10-2.l109
-rw-r--r--gas/testsuite/gas/i386/arch-10-3.l116
-rw-r--r--gas/testsuite/gas/i386/arch-10-4.l118
-rw-r--r--gas/testsuite/gas/i386/arch-10.d4
-rw-r--r--gas/testsuite/gas/i386/arch-10.s4
-rw-r--r--gas/testsuite/gas/i386/x86-64-arch-2.d4
-rw-r--r--gas/testsuite/gas/i386/x86-64-arch-2.s4
13 files changed, 302 insertions, 224 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3bbc31c..134ad9e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,15 @@
+2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/config/tc-i386.c (cpu_arch): Add corei7, .clflush and
+ .syscall.
+ (i386_align_code): Handle PROCESSOR_COREI7.
+ (md_show_usage): Add corei7, clflush and syscall.
+ (i386_target_format): Replace cpup4 with cpuclflush.
+
+ * gas/config/tc-i386.h (processor_type): Add PROCESSOR_COREI7.
+
+ * doc/c-i386.texi: Document corei7, clflush and syscall.
+
2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (cpu_arch): Add .rdtscp.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 7222969..f731abb 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -600,6 +600,8 @@ static const arch_entry cpu_arch[] =
CPU_CORE2_FLAGS },
{ "core2", PROCESSOR_CORE2,
CPU_CORE2_FLAGS },
+ { "corei7", PROCESSOR_COREI7,
+ CPU_COREI7_FLAGS },
{ "k6", PROCESSOR_K6,
CPU_K6_FLAGS },
{ "k6_2", PROCESSOR_K6,
@@ -650,6 +652,10 @@ static const arch_entry cpu_arch[] =
CPU_MOVBE_FLAGS },
{ ".ept", PROCESSOR_UNKNOWN,
CPU_EPT_FLAGS },
+ { ".clflush", PROCESSOR_UNKNOWN,
+ CPU_CLFLUSH_FLAGS },
+ { ".syscall", PROCESSOR_UNKNOWN,
+ CPU_SYSCALL_FLAGS },
{ ".rdtscp", PROCESSOR_UNKNOWN,
CPU_RDTSCP_FLAGS },
{ ".3dnow", PROCESSOR_UNKNOWN,
@@ -950,8 +956,8 @@ i386_align_code (fragS *fragP, int count)
1. For PROCESSOR_I386, PROCESSOR_I486, PROCESSOR_PENTIUM and
PROCESSOR_GENERIC32, f32_patt will be used.
2. For PROCESSOR_PENTIUMPRO, PROCESSOR_PENTIUM4, PROCESSOR_NOCONA,
- PROCESSOR_CORE, PROCESSOR_CORE2, and PROCESSOR_GENERIC64,
- alt_long_patt will be used.
+ PROCESSOR_CORE, PROCESSOR_CORE2, PROCESSOR_COREI7, and
+ PROCESSOR_GENERIC64, alt_long_patt will be used.
3. For PROCESSOR_ATHLON, PROCESSOR_K6, PROCESSOR_K8 and
PROCESSOR_AMDFAM10, alt_short_patt will be used.
@@ -997,6 +1003,7 @@ i386_align_code (fragS *fragP, int count)
case PROCESSOR_NOCONA:
case PROCESSOR_CORE:
case PROCESSOR_CORE2:
+ case PROCESSOR_COREI7:
case PROCESSOR_GENERIC64:
patt = alt_long_patt;
break;
@@ -1044,6 +1051,7 @@ i386_align_code (fragS *fragP, int count)
case PROCESSOR_NOCONA:
case PROCESSOR_CORE:
case PROCESSOR_CORE2:
+ case PROCESSOR_COREI7:
if (fragP->tc_frag_data.isa_flags.bitfield.cpui686)
patt = alt_long_patt;
else
@@ -8232,18 +8240,18 @@ md_show_usage (stream)
generate code for CPU and EXTENSION, CPU is one of:\n\
i8086, i186, i286, i386, i486, pentium, pentiumpro,\n\
pentiumii, pentiumiii, pentium4, prescott, nocona,\n\
- core, core2, k6, k6_2, athlon, k8, amdfam10,\n\
+ core, core2, corei7, k6, k6_2, athlon, k8, amdfam10,\n\
generic32, generic64\n\
EXTENSION is combination of:\n\
mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4,\n\
avx, vmx, smx, xsave, movbe, ept, aes, pclmul, fma,\n\
- rdtscp, 3dnow, 3dnowa, sse4a, sse5, svme, abm,\n\
- padlock\n"));
+ clflush, syscall, rdtscp, 3dnow, 3dnowa, sse4a,\n\
+ sse5, svme, abm, padlock\n"));
fprintf (stream, _("\
-mtune=CPU optimize for CPU, CPU is one of:\n\
i8086, i186, i286, i386, i486, pentium, pentiumpro,\n\
pentiumii, pentiumiii, pentium4, prescott, nocona,\n\
- core, core2, k6, k6_2, athlon, k8, amdfam10,\n\
+ core, core2, corei7, k6, k6_2, athlon, k8, amdfam10,\n\
generic32, generic64\n"));
fprintf (stream, _("\
-msse2avx encode SSE instructions with VEX prefix\n"));
@@ -8281,7 +8289,7 @@ i386_target_format (void)
cpu_arch_isa_flags.bitfield.cpui486 = 1;
cpu_arch_isa_flags.bitfield.cpui586 = 1;
cpu_arch_isa_flags.bitfield.cpui686 = 1;
- cpu_arch_isa_flags.bitfield.cpup4 = 1;
+ cpu_arch_isa_flags.bitfield.cpuclflush = 1;
cpu_arch_isa_flags.bitfield.cpummx= 1;
cpu_arch_isa_flags.bitfield.cpusse = 1;
cpu_arch_isa_flags.bitfield.cpusse2 = 1;
@@ -8294,7 +8302,7 @@ i386_target_format (void)
cpu_arch_tune_flags.bitfield.cpui486 = 1;
cpu_arch_tune_flags.bitfield.cpui586 = 1;
cpu_arch_tune_flags.bitfield.cpui686 = 1;
- cpu_arch_tune_flags.bitfield.cpup4 = 1;
+ cpu_arch_tune_flags.bitfield.cpuclflush = 1;
cpu_arch_tune_flags.bitfield.cpummx= 1;
cpu_arch_tune_flags.bitfield.cpusse = 1;
cpu_arch_tune_flags.bitfield.cpusse2 = 1;
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index f7f829c..1670041a 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -198,6 +198,7 @@ enum processor_type
PROCESSOR_NOCONA,
PROCESSOR_CORE,
PROCESSOR_CORE2,
+ PROCESSOR_COREI7,
PROCESSOR_K6,
PROCESSOR_ATHLON,
PROCESSOR_K8,
diff --git a/gas/doc/c-i386.texi b/gas/doc/c-i386.texi
index d07c2d1..8a70523 100644
--- a/gas/doc/c-i386.texi
+++ b/gas/doc/c-i386.texi
@@ -100,6 +100,7 @@ processor names are recognized:
@code{nocona},
@code{core},
@code{core2},
+@code{corei7},
@code{k6},
@code{k6_2},
@code{athlon},
@@ -130,6 +131,8 @@ accept various extension mnemonics. For example,
@code{fma},
@code{movbe},
@code{ept},
+@code{clflush},
+@code{syscall},
@code{rdtscp},
@code{3dnow},
@code{3dnowa},
@@ -873,14 +876,14 @@ supported on the CPU specified. The choices for @var{cpu_type} are:
@item @samp{i486} @tab @samp{i586} @tab @samp{i686} @tab @samp{pentium}
@item @samp{pentiumpro} @tab @samp{pentiumii} @tab @samp{pentiumiii} @tab @samp{pentium4}
@item @samp{prescott} @tab @samp{nocona} @tab @samp{core} @tab @samp{core2}
-@item @samp{k6} @tab @samp{k6_2} @tab @samp{athlon} @tab @samp{k8}
-@item @samp{amdfam10}
+@item @samp{corei7} @tab @samp{k6} @tab @samp{k6_2} @tab @samp{athlon}
+@item @samp{k8} @tab @samp{amdfam10}
@item @samp{generic32} @tab @samp{generic64}
@item @samp{.mmx} @tab @samp{.sse} @tab @samp{.sse2} @tab @samp{.sse3}
@item @samp{.ssse3} @tab @samp{.sse4.1} @tab @samp{.sse4.2} @tab @samp{.sse4}
@item @samp{.avx} @tab @samp{.vmx} @tab @samp{.smx} @tab @samp{.xsave}
@item @samp{.aes} @tab @samp{.pclmul} @tab @samp{.fma} @tab @samp{.movbe}
-@item @samp{.ept} @tab @samp{.rdtscp}
+@item @samp{.ept} @tab @samp{.clflush} @tab @samp{.syscall} @tab @samp{.rdtscp}
@item @samp{.3dnow} @tab @samp{.3dnowa} @tab @samp{.sse4a} @tab @samp{.sse5}
@item @samp{.svme} @tab @samp{.abm}
@item @samp{.padlock}
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 9e41c37..3e422f3 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,15 @@
+2009-01-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/i386/arch-10.s: Add clflush and syscall.
+ * gas/i386/x86-64-arch-2.s: Likewise.
+
+ * 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-2.d: Likewise.
+
2009-01-09 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/arch-10.s: Add rdtscp.
diff --git a/gas/testsuite/gas/i386/arch-10-1.l b/gas/testsuite/gas/i386/arch-10-1.l
index 7dae75f..3d1c9fe 100644
--- a/gas/testsuite/gas/i386/arch-10-1.l
+++ b/gas/testsuite/gas/i386/arch-10-1.l
@@ -25,6 +25,8 @@
.*:50: Error: .*
.*:52: Error: .*
.*:54: Error: .*
+.*:56: Error: .*
+.*:58: Error: .*
GAS LISTING .*
@@ -33,53 +35,60 @@ GAS LISTING .*
[ ]*2[ ]+\.text
[ ]*3[ ]+\# cmov feature
[ ]*4[ ]+cmove %eax,%ebx
-[ ]*5[ ]+\# MMX
-[ ]*6[ ]+paddb %mm4,%mm3
-[ ]*7[ ]+\# SSE
-[ ]*8[ ]+addss %xmm4,%xmm3
-[ ]*9[ ]+\# SSE2
-[ ]*10[ ]+addsd %xmm4,%xmm3
-[ ]*11[ ]+\# SSE3
-[ ]*12[ ]+addsubpd %xmm4,%xmm3
-[ ]*13[ ]+\# SSSE3
-[ ]*14[ ]+phaddw %xmm4,%xmm3
-[ ]*15[ ]+\# SSE4\.1
-[ ]*16[ ]+phminposuw %xmm1,%xmm3
-[ ]*17[ ]+\# SSE4\.2
-[ ]*18[ ]+crc32 %ecx,%ebx
-[ ]*19[ ]+\# AVX
-[ ]*20[ ]+vzeroall
-[ ]*21[ ]+\# VMX
-[ ]*22[ ]+vmxoff
-[ ]*23[ ]+\# SMX
-[ ]*24[ ]+getsec
-[ ]*25[ ]+\# Xsave
-[ ]*26[ ]+xgetbv
-[ ]*27[ ]+\# AES
-[ ]*28[ ]+aesenc \(%ecx\),%xmm0
-[ ]*29[ ]+\# PCLMUL
-[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
-[ ]*31[ ]+\# AES \+ AVX
-[ ]*32[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
-[ ]*33[ ]+\# FMA
-[ ]*34[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[ ]*35[ ]+\# MOVBE
-[ ]*36[ ]+movbe \(%ecx\),%ebx
-[ ]*37[ ]+\# EPT
-[ ]*38[ ]+invept \(%ecx\),%ebx
-[ ]*39[ ]+\# RDTSCP
-[ ]*40[ ]+rdtscp
-[ ]*41[ ]+\# 3DNow
-[ ]*42[ ]+pmulhrw %mm4,%mm3
-[ ]*43[ ]+\# 3DNow Extensions
-[ ]*44[ ]+pswapd %mm4,%mm3
-[ ]*45[ ]+\# SSE4a
-[ ]*46[ ]+insertq %xmm2,%xmm1
-[ ]*47[ ]+\# SVME
-[ ]*48[ ]+vmload
-[ ]*49[ ]+\# ABM
-[ ]*50[ ]+lzcnt %ecx,%ebx
-[ ]*51[ ]+\# SSE5
-[ ]*52[ ]+frczss %xmm2, %xmm1
-[ ]*53[ ]+\# PadLock
-[ ]*54[ ]+xstorerng
+[ ]*5[ ]+\# clflush
+[ ]*6[ ]+clflush \(%eax\)
+[ ]*7[ ]+\# SYSCALL
+[ ]*8[ ]+syscall
+[ ]*9[ ]+\# MMX
+[ ]*10[ ]+paddb %mm4,%mm3
+[ ]*11[ ]+\# SSE
+[ ]*12[ ]+addss %xmm4,%xmm3
+[ ]*13[ ]+\# SSE2
+[ ]*14[ ]+addsd %xmm4,%xmm3
+[ ]*15[ ]+\# SSE3
+[ ]*16[ ]+addsubpd %xmm4,%xmm3
+[ ]*17[ ]+\# SSSE3
+[ ]*18[ ]+phaddw %xmm4,%xmm3
+[ ]*19[ ]+\# SSE4\.1
+[ ]*20[ ]+phminposuw %xmm1,%xmm3
+[ ]*21[ ]+\# SSE4\.2
+[ ]*22[ ]+crc32 %ecx,%ebx
+[ ]*23[ ]+\# AVX
+[ ]*24[ ]+vzeroall
+[ ]*25[ ]+\# VMX
+[ ]*26[ ]+vmxoff
+[ ]*27[ ]+\# SMX
+[ ]*28[ ]+getsec
+[ ]*29[ ]+\# Xsave
+[ ]*30[ ]+xgetbv
+[ ]*31[ ]+\# AES
+[ ]*32[ ]+aesenc \(%ecx\),%xmm0
+[ ]*33[ ]+\# PCLMUL
+[ ]*34[ ]+pclmulqdq \$8,%xmm1,%xmm0
+[ ]*35[ ]+\# AES \+ AVX
+[ ]*36[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
+[ ]*37[ ]+\# FMA
+[ ]*38[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[ ]*39[ ]+\# MOVBE
+[ ]*40[ ]+movbe \(%ecx\),%ebx
+[ ]*41[ ]+\# EPT
+[ ]*42[ ]+invept \(%ecx\),%ebx
+[ ]*43[ ]+\# RDTSCP
+[ ]*44[ ]+rdtscp
+[ ]*45[ ]+\# 3DNow
+[ ]*46[ ]+pmulhrw %mm4,%mm3
+[ ]*47[ ]+\# 3DNow Extensions
+[ ]*48[ ]+pswapd %mm4,%mm3
+[ ]*49[ ]+\# SSE4a
+[ ]*50[ ]+insertq %xmm2,%xmm1
+[ ]*51[ ]+\# SVME
+[ ]*52[ ]+vmload
+[ ]*53[ ]+\# ABM
+[ ]*54[ ]+lzcnt %ecx,%ebx
+[ ]*55[ ]+\# SSE5
+[ ]*56[ ]+frczss %xmm2, %xmm1
+ GAS LISTING .*
+
+
+[ ]*57[ ]+\# PadLock
+[ ]*58[ ]+xstorerng
diff --git a/gas/testsuite/gas/i386/arch-10-2.l b/gas/testsuite/gas/i386/arch-10-2.l
index 0a0c0f7..6c0eb59 100644
--- a/gas/testsuite/gas/i386/arch-10-2.l
+++ b/gas/testsuite/gas/i386/arch-10-2.l
@@ -24,6 +24,8 @@
.*:50: Error: .*
.*:52: Error: .*
.*:54: Error: .*
+.*:56: Error: .*
+.*:58: Error: .*
GAS LISTING .*
@@ -32,53 +34,60 @@ GAS LISTING .*
[ ]*2[ ]+\.text
[ ]*3[ ]+\# cmov feature
[ ]*4[ ]+\?\?\?\? 0F44D8 cmove %eax,%ebx
-[ ]*5[ ]+\# MMX
-[ ]*6[ ]+paddb %mm4,%mm3
-[ ]*7[ ]+\# SSE
-[ ]*8[ ]+addss %xmm4,%xmm3
-[ ]*9[ ]+\# SSE2
-[ ]*10[ ]+addsd %xmm4,%xmm3
-[ ]*11[ ]+\# SSE3
-[ ]*12[ ]+addsubpd %xmm4,%xmm3
-[ ]*13[ ]+\# SSSE3
-[ ]*14[ ]+phaddw %xmm4,%xmm3
-[ ]*15[ ]+\# SSE4\.1
-[ ]*16[ ]+phminposuw %xmm1,%xmm3
-[ ]*17[ ]+\# SSE4\.2
-[ ]*18[ ]+crc32 %ecx,%ebx
-[ ]*19[ ]+\# AVX
-[ ]*20[ ]+vzeroall
-[ ]*21[ ]+\# VMX
-[ ]*22[ ]+vmxoff
-[ ]*23[ ]+\# SMX
-[ ]*24[ ]+getsec
-[ ]*25[ ]+\# Xsave
-[ ]*26[ ]+xgetbv
-[ ]*27[ ]+\# AES
-[ ]*28[ ]+aesenc \(%ecx\),%xmm0
-[ ]*29[ ]+\# PCLMUL
-[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
-[ ]*31[ ]+\# AES \+ AVX
-[ ]*32[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
-[ ]*33[ ]+\# FMA
-[ ]*34[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[ ]*35[ ]+\# MOVBE
-[ ]*36[ ]+movbe \(%ecx\),%ebx
-[ ]*37[ ]+\# EPT
-[ ]*38[ ]+invept \(%ecx\),%ebx
-[ ]*39[ ]+\# RDTSCP
-[ ]*40[ ]+rdtscp
-[ ]*41[ ]+\# 3DNow
-[ ]*42[ ]+pmulhrw %mm4,%mm3
-[ ]*43[ ]+\# 3DNow Extensions
-[ ]*44[ ]+pswapd %mm4,%mm3
-[ ]*45[ ]+\# SSE4a
-[ ]*46[ ]+insertq %xmm2,%xmm1
-[ ]*47[ ]+\# SVME
-[ ]*48[ ]+vmload
-[ ]*49[ ]+\# ABM
-[ ]*50[ ]+lzcnt %ecx,%ebx
-[ ]*51[ ]+\# SSE5
-[ ]*52[ ]+frczss %xmm2, %xmm1
-[ ]*53[ ]+\# PadLock
-[ ]*54[ ]+xstorerng
+[ ]*5[ ]+\# clflush
+[ ]*6[ ]+clflush \(%eax\)
+[ ]*7[ ]+\# SYSCALL
+[ ]*8[ ]+syscall
+[ ]*9[ ]+\# MMX
+[ ]*10[ ]+paddb %mm4,%mm3
+[ ]*11[ ]+\# SSE
+[ ]*12[ ]+addss %xmm4,%xmm3
+[ ]*13[ ]+\# SSE2
+[ ]*14[ ]+addsd %xmm4,%xmm3
+[ ]*15[ ]+\# SSE3
+[ ]*16[ ]+addsubpd %xmm4,%xmm3
+[ ]*17[ ]+\# SSSE3
+[ ]*18[ ]+phaddw %xmm4,%xmm3
+[ ]*19[ ]+\# SSE4\.1
+[ ]*20[ ]+phminposuw %xmm1,%xmm3
+[ ]*21[ ]+\# SSE4\.2
+[ ]*22[ ]+crc32 %ecx,%ebx
+[ ]*23[ ]+\# AVX
+[ ]*24[ ]+vzeroall
+[ ]*25[ ]+\# VMX
+[ ]*26[ ]+vmxoff
+[ ]*27[ ]+\# SMX
+[ ]*28[ ]+getsec
+[ ]*29[ ]+\# Xsave
+[ ]*30[ ]+xgetbv
+[ ]*31[ ]+\# AES
+[ ]*32[ ]+aesenc \(%ecx\),%xmm0
+[ ]*33[ ]+\# PCLMUL
+[ ]*34[ ]+pclmulqdq \$8,%xmm1,%xmm0
+[ ]*35[ ]+\# AES \+ AVX
+[ ]*36[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
+[ ]*37[ ]+\# FMA
+[ ]*38[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[ ]*39[ ]+\# MOVBE
+[ ]*40[ ]+movbe \(%ecx\),%ebx
+[ ]*41[ ]+\# EPT
+[ ]*42[ ]+invept \(%ecx\),%ebx
+[ ]*43[ ]+\# RDTSCP
+[ ]*44[ ]+rdtscp
+[ ]*45[ ]+\# 3DNow
+[ ]*46[ ]+pmulhrw %mm4,%mm3
+[ ]*47[ ]+\# 3DNow Extensions
+[ ]*48[ ]+pswapd %mm4,%mm3
+[ ]*49[ ]+\# SSE4a
+[ ]*50[ ]+insertq %xmm2,%xmm1
+[ ]*51[ ]+\# SVME
+[ ]*52[ ]+vmload
+[ ]*53[ ]+\# ABM
+[ ]*54[ ]+lzcnt %ecx,%ebx
+[ ]*55[ ]+\# SSE5
+[ ]*56[ ]+frczss %xmm2, %xmm1
+ GAS LISTING .*
+
+
+[ ]*57[ ]+\# PadLock
+[ ]*58[ ]+xstorerng
diff --git a/gas/testsuite/gas/i386/arch-10-3.l b/gas/testsuite/gas/i386/arch-10-3.l
index 7284804..4a638ff 100644
--- a/gas/testsuite/gas/i386/arch-10-3.l
+++ b/gas/testsuite/gas/i386/arch-10-3.l
@@ -1,6 +1,6 @@
.*: Assembler messages:
-.*:20: Error: .*
-.*:22: Error: .*
+.*:6: Error: .*
+.*:8: Error: .*
.*:24: Error: .*
.*:26: Error: .*
.*:28: Error: .*
@@ -17,6 +17,8 @@
.*:50: Error: .*
.*:52: Error: .*
.*:54: Error: .*
+.*:56: Error: .*
+.*:58: Error: .*
GAS LISTING .*
@@ -25,59 +27,63 @@ GAS LISTING .*
[ ]*2[ ]+\.text
[ ]*3[ ]+\# cmov feature
[ ]*4[ ]+\?\?\?\? 0F44D8 cmove %eax,%ebx
-[ ]*5[ ]+\# MMX
-[ ]*6[ ]+\?\?\?\? 0FFCDC paddb %mm4,%mm3
-[ ]*7[ ]+\# SSE
-[ ]*8[ ]+\?\?\?\? F30F58DC addss %xmm4,%xmm3
-[ ]*9[ ]+\# SSE2
-[ ]*10[ ]+\?\?\?\? F20F58DC addsd %xmm4,%xmm3
-[ ]*11[ ]+\# SSE3
-[ ]*12[ ]+\?\?\?\? 660FD0DC addsubpd %xmm4,%xmm3
-[ ]*13[ ]+\# SSSE3
-[ ]*14[ ]+\?\?\?\? 660F3801 phaddw %xmm4,%xmm3
-[ ]*14[ ]+DC
-[ ]*15[ ]+\# SSE4\.1
-[ ]*16[ ]+\?\?\?\? 660F3841 phminposuw %xmm1,%xmm3
-[ ]*16[ ]+D9
-[ ]*17[ ]+\# SSE4\.2
-[ ]*18[ ]+\?\?\?\? F20F38F1 crc32 %ecx,%ebx
-[ ]*18[ ]+D9
-[ ]*19[ ]+\# AVX
-[ ]*20[ ]+vzeroall
-[ ]*21[ ]+\# VMX
-[ ]*22[ ]+vmxoff
-[ ]*23[ ]+\# SMX
-[ ]*24[ ]+getsec
-[ ]*25[ ]+\# Xsave
-[ ]*26[ ]+xgetbv
-[ ]*27[ ]+\# AES
-[ ]*28[ ]+aesenc \(%ecx\),%xmm0
-[ ]*29[ ]+\# PCLMUL
-[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
-[ ]*31[ ]+\# AES \+ AVX
-[ ]*32[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
-[ ]*33[ ]+\# FMA
-[ ]*34[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[ ]*35[ ]+\# MOVBE
-[ ]*36[ ]+movbe \(%ecx\),%ebx
-[ ]*37[ ]+\# EPT
-[ ]*38[ ]+invept \(%ecx\),%ebx
-[ ]*39[ ]+\# RDTSCP
-[ ]*40[ ]+rdtscp
-[ ]*41[ ]+\# 3DNow
-[ ]*42[ ]+pmulhrw %mm4,%mm3
-[ ]*43[ ]+\# 3DNow Extensions
-[ ]*44[ ]+pswapd %mm4,%mm3
-[ ]*45[ ]+\# SSE4a
-[ ]*46[ ]+insertq %xmm2,%xmm1
-[ ]*47[ ]+\# SVME
-[ ]*48[ ]+vmload
-[ ]*49[ ]+\# ABM
-[ ]*50[ ]+lzcnt %ecx,%ebx
-[ ]*51[ ]+\# SSE5
-[ ]*52[ ]+frczss %xmm2, %xmm1
-[ ]*53[ ]+\# PadLock
+[ ]*5[ ]+\# clflush
+[ ]*6[ ]+clflush \(%eax\)
+[ ]*7[ ]+\# SYSCALL
+[ ]*8[ ]+syscall
+[ ]*9[ ]+\# MMX
+[ ]*10[ ]+\?\?\?\? 0FFCDC paddb %mm4,%mm3
+[ ]*11[ ]+\# SSE
+[ ]*12[ ]+\?\?\?\? F30F58DC addss %xmm4,%xmm3
+[ ]*13[ ]+\# SSE2
+[ ]*14[ ]+\?\?\?\? F20F58DC addsd %xmm4,%xmm3
+[ ]*15[ ]+\# SSE3
+[ ]*16[ ]+\?\?\?\? 660FD0DC addsubpd %xmm4,%xmm3
+[ ]*17[ ]+\# SSSE3
+[ ]*18[ ]+\?\?\?\? 660F3801 phaddw %xmm4,%xmm3
+[ ]*18[ ]+DC
+[ ]*19[ ]+\# SSE4\.1
+[ ]*20[ ]+\?\?\?\? 660F3841 phminposuw %xmm1,%xmm3
+[ ]*20[ ]+D9
+[ ]*21[ ]+\# SSE4\.2
+[ ]*22[ ]+\?\?\?\? F20F38F1 crc32 %ecx,%ebx
+[ ]*22[ ]+D9
+[ ]*23[ ]+\# AVX
+[ ]*24[ ]+vzeroall
+[ ]*25[ ]+\# VMX
+[ ]*26[ ]+vmxoff
+[ ]*27[ ]+\# SMX
+[ ]*28[ ]+getsec
+[ ]*29[ ]+\# Xsave
+[ ]*30[ ]+xgetbv
+[ ]*31[ ]+\# AES
+[ ]*32[ ]+aesenc \(%ecx\),%xmm0
+[ ]*33[ ]+\# PCLMUL
+[ ]*34[ ]+pclmulqdq \$8,%xmm1,%xmm0
+[ ]*35[ ]+\# AES \+ AVX
+[ ]*36[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
+[ ]*37[ ]+\# FMA
+[ ]*38[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[ ]*39[ ]+\# MOVBE
+[ ]*40[ ]+movbe \(%ecx\),%ebx
+[ ]*41[ ]+\# EPT
+[ ]*42[ ]+invept \(%ecx\),%ebx
+[ ]*43[ ]+\# RDTSCP
+[ ]*44[ ]+rdtscp
+[ ]*45[ ]+\# 3DNow
+[ ]*46[ ]+pmulhrw %mm4,%mm3
+[ ]*47[ ]+\# 3DNow Extensions
+[ ]*48[ ]+pswapd %mm4,%mm3
+[ ]*49[ ]+\# SSE4a
+[ ]*50[ ]+insertq %xmm2,%xmm1
+[ ]*51[ ]+\# SVME
+[ ]*52[ ]+vmload
+[ ]*53[ ]+\# ABM
GAS LISTING .*
-[ ]*54[ ]+xstorerng
+[ ]*54[ ]+lzcnt %ecx,%ebx
+[ ]*55[ ]+\# SSE5
+[ ]*56[ ]+frczss %xmm2, %xmm1
+[ ]*57[ ]+\# PadLock
+[ ]*58[ ]+xstorerng
diff --git a/gas/testsuite/gas/i386/arch-10-4.l b/gas/testsuite/gas/i386/arch-10-4.l
index c541d05..559efaf 100644
--- a/gas/testsuite/gas/i386/arch-10-4.l
+++ b/gas/testsuite/gas/i386/arch-10-4.l
@@ -1,7 +1,7 @@
.*: Assembler messages:
-.*:20: Error: .*
-.*:26: Error: .*
-.*:28: Error: .*
+.*:6: Error: .*
+.*:8: Error: .*
+.*:24: Error: .*
.*:30: Error: .*
.*:32: Error: .*
.*:34: Error: .*
@@ -15,6 +15,8 @@
.*:50: Error: .*
.*:52: Error: .*
.*:54: Error: .*
+.*:56: Error: .*
+.*:58: Error: .*
GAS LISTING .*
@@ -23,59 +25,63 @@ GAS LISTING .*
[ ]*2[ ]+\.text
[ ]*3[ ]+\# cmov feature
[ ]*4[ ]+\?\?\?\? 0F44D8 cmove %eax,%ebx
-[ ]*5[ ]+\# MMX
-[ ]*6[ ]+\?\?\?\? 0FFCDC paddb %mm4,%mm3
-[ ]*7[ ]+\# SSE
-[ ]*8[ ]+\?\?\?\? F30F58DC addss %xmm4,%xmm3
-[ ]*9[ ]+\# SSE2
-[ ]*10[ ]+\?\?\?\? F20F58DC addsd %xmm4,%xmm3
-[ ]*11[ ]+\# SSE3
-[ ]*12[ ]+\?\?\?\? 660FD0DC addsubpd %xmm4,%xmm3
-[ ]*13[ ]+\# SSSE3
-[ ]*14[ ]+\?\?\?\? 660F3801 phaddw %xmm4,%xmm3
-[ ]*14[ ]+DC
-[ ]*15[ ]+\# SSE4\.1
-[ ]*16[ ]+\?\?\?\? 660F3841 phminposuw %xmm1,%xmm3
-[ ]*16[ ]+D9
-[ ]*17[ ]+\# SSE4\.2
-[ ]*18[ ]+\?\?\?\? F20F38F1 crc32 %ecx,%ebx
-[ ]*18[ ]+D9
-[ ]*19[ ]+\# AVX
-[ ]*20[ ]+vzeroall
-[ ]*21[ ]+\# VMX
-[ ]*22[ ]+\?\?\?\? 0F01C4 vmxoff
-[ ]*23[ ]+\# SMX
-[ ]*24[ ]+\?\?\?\? 0F37 getsec
-[ ]*25[ ]+\# Xsave
-[ ]*26[ ]+xgetbv
-[ ]*27[ ]+\# AES
-[ ]*28[ ]+aesenc \(%ecx\),%xmm0
-[ ]*29[ ]+\# PCLMUL
-[ ]*30[ ]+pclmulqdq \$8,%xmm1,%xmm0
-[ ]*31[ ]+\# AES \+ AVX
-[ ]*32[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
-[ ]*33[ ]+\# FMA
-[ ]*34[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
-[ ]*35[ ]+\# MOVBE
-[ ]*36[ ]+movbe \(%ecx\),%ebx
-[ ]*37[ ]+\# EPT
-[ ]*38[ ]+invept \(%ecx\),%ebx
-[ ]*39[ ]+\# RDTSCP
-[ ]*40[ ]+rdtscp
-[ ]*41[ ]+\# 3DNow
-[ ]*42[ ]+pmulhrw %mm4,%mm3
-[ ]*43[ ]+\# 3DNow Extensions
-[ ]*44[ ]+pswapd %mm4,%mm3
-[ ]*45[ ]+\# SSE4a
-[ ]*46[ ]+insertq %xmm2,%xmm1
-[ ]*47[ ]+\# SVME
-[ ]*48[ ]+vmload
-[ ]*49[ ]+\# ABM
-[ ]*50[ ]+lzcnt %ecx,%ebx
-[ ]*51[ ]+\# SSE5
-[ ]*52[ ]+frczss %xmm2, %xmm1
-[ ]*53[ ]+\# PadLock
+[ ]*5[ ]+\# clflush
+[ ]*6[ ]+clflush \(%eax\)
+[ ]*7[ ]+\# SYSCALL
+[ ]*8[ ]+syscall
+[ ]*9[ ]+\# MMX
+[ ]*10[ ]+\?\?\?\? 0FFCDC paddb %mm4,%mm3
+[ ]*11[ ]+\# SSE
+[ ]*12[ ]+\?\?\?\? F30F58DC addss %xmm4,%xmm3
+[ ]*13[ ]+\# SSE2
+[ ]*14[ ]+\?\?\?\? F20F58DC addsd %xmm4,%xmm3
+[ ]*15[ ]+\# SSE3
+[ ]*16[ ]+\?\?\?\? 660FD0DC addsubpd %xmm4,%xmm3
+[ ]*17[ ]+\# SSSE3
+[ ]*18[ ]+\?\?\?\? 660F3801 phaddw %xmm4,%xmm3
+[ ]*18[ ]+DC
+[ ]*19[ ]+\# SSE4\.1
+[ ]*20[ ]+\?\?\?\? 660F3841 phminposuw %xmm1,%xmm3
+[ ]*20[ ]+D9
+[ ]*21[ ]+\# SSE4\.2
+[ ]*22[ ]+\?\?\?\? F20F38F1 crc32 %ecx,%ebx
+[ ]*22[ ]+D9
+[ ]*23[ ]+\# AVX
+[ ]*24[ ]+vzeroall
+[ ]*25[ ]+\# VMX
+[ ]*26[ ]+\?\?\?\? 0F01C4 vmxoff
+[ ]*27[ ]+\# SMX
+[ ]*28[ ]+\?\?\?\? 0F37 getsec
+[ ]*29[ ]+\# Xsave
+[ ]*30[ ]+xgetbv
+[ ]*31[ ]+\# AES
+[ ]*32[ ]+aesenc \(%ecx\),%xmm0
+[ ]*33[ ]+\# PCLMUL
+[ ]*34[ ]+pclmulqdq \$8,%xmm1,%xmm0
+[ ]*35[ ]+\# AES \+ AVX
+[ ]*36[ ]+vaesenc \(%ecx\),%xmm0,%xmm2
+[ ]*37[ ]+\# FMA
+[ ]*38[ ]+vfmadd132pd %xmm4,%xmm6,%xmm2
+[ ]*39[ ]+\# MOVBE
+[ ]*40[ ]+movbe \(%ecx\),%ebx
+[ ]*41[ ]+\# EPT
+[ ]*42[ ]+invept \(%ecx\),%ebx
+[ ]*43[ ]+\# RDTSCP
+[ ]*44[ ]+rdtscp
+[ ]*45[ ]+\# 3DNow
+[ ]*46[ ]+pmulhrw %mm4,%mm3
+[ ]*47[ ]+\# 3DNow Extensions
+[ ]*48[ ]+pswapd %mm4,%mm3
+[ ]*49[ ]+\# SSE4a
+[ ]*50[ ]+insertq %xmm2,%xmm1
+[ ]*51[ ]+\# SVME
+[ ]*52[ ]+vmload
+[ ]*53[ ]+\# ABM
GAS LISTING .*
-[ ]*54[ ]+xstorerng
+[ ]*54[ ]+lzcnt %ecx,%ebx
+[ ]*55[ ]+\# SSE5
+[ ]*56[ ]+frczss %xmm2, %xmm1
+[ ]*57[ ]+\# PadLock
+[ ]*58[ ]+xstorerng
diff --git a/gas/testsuite/gas/i386/arch-10.d b/gas/testsuite/gas/i386/arch-10.d
index 274ea08..409d8fc 100644
--- a/gas/testsuite/gas/i386/arch-10.d
+++ b/gas/testsuite/gas/i386/arch-10.d
@@ -1,4 +1,4 @@
-#as: -march=i686+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+rdtscp+sse5+3dnowa+svme+padlock
+#as: -march=i686+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse5+3dnowa+svme+padlock
#objdump: -dw
#name: i386 arch 10
@@ -8,6 +8,8 @@ Disassembly of section .text:
0+ <.text>:
[ ]*[a-f0-9]+: 0f 44 d8 cmove %eax,%ebx
+[ ]*[a-f0-9]+: 0f ae 38 clflush \(%eax\)
+[ ]*[a-f0-9]+: 0f 05 syscall
[ ]*[a-f0-9]+: 0f fc dc paddb %mm4,%mm3
[ ]*[a-f0-9]+: f3 0f 58 dc addss %xmm4,%xmm3
[ ]*[a-f0-9]+: f2 0f 58 dc addsd %xmm4,%xmm3
diff --git a/gas/testsuite/gas/i386/arch-10.s b/gas/testsuite/gas/i386/arch-10.s
index 1aeae59..998ba2e 100644
--- a/gas/testsuite/gas/i386/arch-10.s
+++ b/gas/testsuite/gas/i386/arch-10.s
@@ -2,6 +2,10 @@
.text
# cmov feature
cmove %eax,%ebx
+# clflush
+clflush (%eax)
+# SYSCALL
+syscall
# MMX
paddb %mm4,%mm3
# SSE
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2.d b/gas/testsuite/gas/i386/x86-64-arch-2.d
index cb02711..a811d76 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2.d
+++ b/gas/testsuite/gas/i386/x86-64-arch-2.d
@@ -1,4 +1,4 @@
-#as: -march=generic64+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+rdtscp+sse5+3dnowa+svme+padlock
+#as: -march=generic64+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse5+3dnowa+svme+padlock
#objdump: -dw
#name: x86-64 arch 2
@@ -8,6 +8,8 @@ Disassembly of section .text:
0+ <.text>:
[ ]*[a-f0-9]+: 0f 44 d8 cmove %eax,%ebx
+[ ]*[a-f0-9]+: 0f ae 38 clflush \(%rax\)
+[ ]*[a-f0-9]+: 0f 05 syscall
[ ]*[a-f0-9]+: 0f fc dc paddb %mm4,%mm3
[ ]*[a-f0-9]+: f3 0f 58 dc addss %xmm4,%xmm3
[ ]*[a-f0-9]+: f2 0f 58 dc addsd %xmm4,%xmm3
diff --git a/gas/testsuite/gas/i386/x86-64-arch-2.s b/gas/testsuite/gas/i386/x86-64-arch-2.s
index 89e6114..e0dafea 100644
--- a/gas/testsuite/gas/i386/x86-64-arch-2.s
+++ b/gas/testsuite/gas/i386/x86-64-arch-2.s
@@ -2,6 +2,10 @@
.text
# cmov feature
cmove %eax,%ebx
+# clflush
+clflush (%rax)
+# SYSCALL
+syscall
# MMX
paddb %mm4,%mm3
# SSE