From 475a2301db23da20a59a59814f8b1a9eebce7855 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 12 Feb 2008 00:04:45 +0000 Subject: gas/testsuite/ 2002-02-11 H.J. Lu * gas/i386/i386.exp: Run xsave, xsave-intel, x86-64-xsave and x86-64-xsave-intel. * gas/i386/x86-64-xsave-intel.d: New file. * gas/i386/x86-64-xsave.d: Likewise. * gas/i386/x86-64-xsave.s: Likewise. * gas/i386/xsave-intel.d: Likewise. * gas/i386/xsave.d: Likewise. * gas/i386/xsave.s: Likewise. opcodes/ 2008-02-11 H.J. Lu * i386-gen.c (cpu_flags): Add CpuXsave. * i386-opc.h (CpuXsave): New. (Cpu64): Updated. (i386_cpu_flags): Add cpuxsave. * i386-dis.c (MOD_0FAE_REG_4): New. (RM_0F01_REG_2): Likewise. (MOD_0FAE_REG_5): Updated. (RM_0F01_REG_3): Likewise. (reg_table): Use MOD_0FAE_REG_4. (mod_table): Use RM_0F01_REG_2. Add MOD_0FAE_REG_4. Updated for xrstor. (rm_table): Add RM_0F01_REG_2. * i386-opc.tbl: Add xsave, xrstor, xgetbv and xsetbv. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. --- gas/testsuite/ChangeLog | 12 ++++++++++++ gas/testsuite/gas/i386/i386.exp | 4 ++++ gas/testsuite/gas/i386/x86-64-xsave-intel.d | 17 +++++++++++++++++ gas/testsuite/gas/i386/x86-64-xsave.d | 15 +++++++++++++++ gas/testsuite/gas/i386/x86-64-xsave.s | 11 +++++++++++ gas/testsuite/gas/i386/xsave-intel.d | 17 +++++++++++++++++ gas/testsuite/gas/i386/xsave.d | 15 +++++++++++++++ gas/testsuite/gas/i386/xsave.s | 11 +++++++++++ 8 files changed, 102 insertions(+) create mode 100644 gas/testsuite/gas/i386/x86-64-xsave-intel.d create mode 100644 gas/testsuite/gas/i386/x86-64-xsave.d create mode 100644 gas/testsuite/gas/i386/x86-64-xsave.s create mode 100644 gas/testsuite/gas/i386/xsave-intel.d create mode 100644 gas/testsuite/gas/i386/xsave.d create mode 100644 gas/testsuite/gas/i386/xsave.s (limited to 'gas') diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 2e44122..a24e8bc 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2002-02-11 H.J. Lu + + * gas/i386/i386.exp: Run xsave, xsave-intel, x86-64-xsave + and x86-64-xsave-intel. + + * gas/i386/x86-64-xsave-intel.d: New file. + * gas/i386/x86-64-xsave.d: Likewise. + * gas/i386/x86-64-xsave.s: Likewise. + * gas/i386/xsave-intel.d: Likewise. + * gas/i386/xsave.d: Likewise. + * gas/i386/xsave.s: Likewise. + 2008-02-05 Adam Nemet * gas/mips/mips.exp: Invoke the tests smartmips, mips32-dsp, diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index 14583dd..8ccb567 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -114,6 +114,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_list_test "arch-10-4" "-march=i686+sse4+vmx+smx -I${srcdir}/$subdir -al" run_dump_test "arch-11" run_dump_test "arch-12" + run_dump_test "xsave" + run_dump_test "xsave-intel" # These tests require support for 8 and 16 bit relocs, # so we only run them for ELF and COFF targets. @@ -226,6 +228,8 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "rexw" run_dump_test "x86-64-arch-1" run_dump_test "x86-64-arch-10" + run_dump_test "x86-64-xsave" + run_dump_test "x86-64-xsave-intel" if { ![istarget "*-*-aix*"] && ![istarget "*-*-beos*"] diff --git a/gas/testsuite/gas/i386/x86-64-xsave-intel.d b/gas/testsuite/gas/i386/x86-64-xsave-intel.d new file mode 100644 index 0000000..4659a2e --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-xsave-intel.d @@ -0,0 +1,17 @@ +#source: x86-64-xsave.s +#as: -J +#objdump: -dw -Mintel +#name: x86-64 xsave (Intel mode) + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: 41 0f ae 29 xrstor \[r9\] +[ ]*[a-f0-9]+: 41 0f ae 21 xsave \[r9\] +[ ]*[a-f0-9]+: 0f 01 d0 xgetbv +[ ]*[a-f0-9]+: 0f 01 d1 xsetbv +[ ]*[a-f0-9]+: 0f ae 29 xrstor \[rcx\] +[ ]*[a-f0-9]+: 0f ae 21 xsave \[rcx\] +#pass diff --git a/gas/testsuite/gas/i386/x86-64-xsave.d b/gas/testsuite/gas/i386/x86-64-xsave.d new file mode 100644 index 0000000..88b58f1 --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-xsave.d @@ -0,0 +1,15 @@ +#objdump: -dw +#name: x86-64 xsave prefix + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: 41 0f ae 29 xrstor \(%r9\) +[ ]*[a-f0-9]+: 41 0f ae 21 xsave \(%r9\) +[ ]*[a-f0-9]+: 0f 01 d0 xgetbv +[ ]*[a-f0-9]+: 0f 01 d1 xsetbv +[ ]*[a-f0-9]+: 0f ae 29 xrstor \(%rcx\) +[ ]*[a-f0-9]+: 0f ae 21 xsave \(%rcx\) +#pass diff --git a/gas/testsuite/gas/i386/x86-64-xsave.s b/gas/testsuite/gas/i386/x86-64-xsave.s new file mode 100644 index 0000000..076706f --- /dev/null +++ b/gas/testsuite/gas/i386/x86-64-xsave.s @@ -0,0 +1,11 @@ +# Check 64bit xsave/xrstor + .text +_start: + xrstor (%r9) + xsave (%r9) + xgetbv + xsetbv + + .intel_syntax noprefix + xrstor [rcx] + xsave [rcx] diff --git a/gas/testsuite/gas/i386/xsave-intel.d b/gas/testsuite/gas/i386/xsave-intel.d new file mode 100644 index 0000000..246d0cf --- /dev/null +++ b/gas/testsuite/gas/i386/xsave-intel.d @@ -0,0 +1,17 @@ +#source: xsave.s +#as: -J +#objdump: -dw -Mintel +#name: i386 xsave (Intel mode) + +.*: +file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: 0f ae 2b xrstor \[ebx\] +[ ]*[a-f0-9]+: 0f ae 23 xsave \[ebx\] +[ ]*[a-f0-9]+: 0f 01 d0 xgetbv +[ ]*[a-f0-9]+: 0f 01 d1 xsetbv +[ ]*[a-f0-9]+: 0f ae 29 xrstor \[ecx\] +[ ]*[a-f0-9]+: 0f ae 21 xsave \[ecx\] +#pass diff --git a/gas/testsuite/gas/i386/xsave.d b/gas/testsuite/gas/i386/xsave.d new file mode 100644 index 0000000..4aedff5 --- /dev/null +++ b/gas/testsuite/gas/i386/xsave.d @@ -0,0 +1,15 @@ +#objdump: -dw +#name: i386 xsave + +.*: file format .* + +Disassembly of section .text: + +0+ <_start>: +[ ]*[a-f0-9]+: 0f ae 2b xrstor \(%ebx\) +[ ]*[a-f0-9]+: 0f ae 23 xsave \(%ebx\) +[ ]*[a-f0-9]+: 0f 01 d0 xgetbv +[ ]*[a-f0-9]+: 0f 01 d1 xsetbv +[ ]*[a-f0-9]+: 0f ae 29 xrstor \(%ecx\) +[ ]*[a-f0-9]+: 0f ae 21 xsave \(%ecx\) +#pass diff --git a/gas/testsuite/gas/i386/xsave.s b/gas/testsuite/gas/i386/xsave.s new file mode 100644 index 0000000..5ed3ca5 --- /dev/null +++ b/gas/testsuite/gas/i386/xsave.s @@ -0,0 +1,11 @@ +# Check xsave/xrstor + .text +_start: + xrstor (%ebx) + xsave (%ebx) + xgetbv + xsetbv + + .intel_syntax noprefix + xrstor [ecx] + xsave [ecx] -- cgit v1.1