From c1ec187589024917a40062613a6569bc8083c8f5 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 13 Jan 2009 00:00:35 +0000 Subject: [PATCH] gas/testsuite/ 2009-01-12 H.J. Lu * gas/i386/sse-noavx.s: Add tests for lfence, mfence and movnti. * gas/i386/x86-64-sse-noavx.s: Likewise. * gas/i386/sse-noavx.d: Updated. * gas/i386/x86-64-sse-noavx.d: Likewise. opcodes/ 2009-01-12 H.J. Lu * i386-opc.tbl: Add NoAVX to movnti, lfence and mfence. * i386-tbl.h: Regenerated. --- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/i386/sse-noavx.d | 3 +++ gas/testsuite/gas/i386/sse-noavx.s | 3 +++ gas/testsuite/gas/i386/x86-64-sse-noavx.d | 3 +++ gas/testsuite/gas/i386/x86-64-sse-noavx.s | 3 +++ opcodes/ChangeLog | 5 +++++ opcodes/i386-opc.tbl | 6 +++--- opcodes/i386-tbl.h | 6 +++--- 8 files changed, 31 insertions(+), 6 deletions(-) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index d3913b01cc5..b468eca5897 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2009-01-12 H.J. Lu + + * gas/i386/sse-noavx.s: Add tests for lfence, mfence and movnti. + * gas/i386/x86-64-sse-noavx.s: Likewise. + + * gas/i386/sse-noavx.d: Updated. + * gas/i386/x86-64-sse-noavx.d: Likewise. + 2009-01-12 H.J. Lu * gas/i386/opts.s: Add tests for add, adc, and, cmp, or, sbb, diff --git a/gas/testsuite/gas/i386/sse-noavx.d b/gas/testsuite/gas/i386/sse-noavx.d index 518e9d5598b..dbf6224a538 100644 --- a/gas/testsuite/gas/i386/sse-noavx.d +++ b/gas/testsuite/gas/i386/sse-noavx.d @@ -16,9 +16,12 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 2c dc cvttps2pi %xmm4,%mm3 [ ]*[a-f0-9]+: df 08 fisttp \(%eax\) [ ]*[a-f0-9]+: dd 08 fisttpll \(%eax\) +[ ]*[a-f0-9]+: 0f ae e8 lfence [ ]*[a-f0-9]+: 0f f7 c7 maskmovq %mm7,%mm0 +[ ]*[a-f0-9]+: 0f ae f0 mfence [ ]*[a-f0-9]+: 0f 01 c8 monitor %eax,%ecx,%edx [ ]*[a-f0-9]+: f2 0f d6 c8 movdq2q %xmm0,%mm1 +[ ]*[a-f0-9]+: 0f c3 00 movnti %eax,\(%eax\) [ ]*[a-f0-9]+: 0f e7 10 movntq %mm2,\(%eax\) [ ]*[a-f0-9]+: f3 0f d6 c8 movq2dq %mm0,%xmm1 [ ]*[a-f0-9]+: 0f 01 c9 mwait %eax,%ecx diff --git a/gas/testsuite/gas/i386/sse-noavx.s b/gas/testsuite/gas/i386/sse-noavx.s index e0a5b541188..900c9e5122d 100644 --- a/gas/testsuite/gas/i386/sse-noavx.s +++ b/gas/testsuite/gas/i386/sse-noavx.s @@ -11,9 +11,12 @@ _start: cvttps2pi %xmm4,%mm3 fisttp (%eax) fisttpll (%eax) + lfence maskmovq %mm7,%mm0 + mfence monitor movdq2q %xmm0, %mm1 + movnti %eax, (%eax) movntq %mm2,(%eax) movq2dq %mm0, %xmm1 mwait diff --git a/gas/testsuite/gas/i386/x86-64-sse-noavx.d b/gas/testsuite/gas/i386/x86-64-sse-noavx.d index 32846a68cb5..5fa1fea7008 100644 --- a/gas/testsuite/gas/i386/x86-64-sse-noavx.d +++ b/gas/testsuite/gas/i386/x86-64-sse-noavx.d @@ -17,9 +17,12 @@ Disassembly of section .text: [ ]*[a-f0-9]+: 0f 2c dc cvttps2pi %xmm4,%mm3 [ ]*[a-f0-9]+: df 08 fisttp \(%rax\) [ ]*[a-f0-9]+: dd 08 fisttpll \(%rax\) +[ ]*[a-f0-9]+: 0f ae e8 lfence [ ]*[a-f0-9]+: 0f f7 c7 maskmovq %mm7,%mm0 +[ ]*[a-f0-9]+: 0f ae f0 mfence [ ]*[a-f0-9]+: 0f 01 c8 monitor %rax,%rcx,%rdx [ ]*[a-f0-9]+: f2 0f d6 c8 movdq2q %xmm0,%mm1 +[ ]*[a-f0-9]+: 0f c3 00 movnti %eax,\(%rax\) [ ]*[a-f0-9]+: 0f e7 10 movntq %mm2,\(%rax\) [ ]*[a-f0-9]+: f3 0f d6 c8 movq2dq %mm0,%xmm1 [ ]*[a-f0-9]+: 0f 01 c9 mwait %rax,%rcx diff --git a/gas/testsuite/gas/i386/x86-64-sse-noavx.s b/gas/testsuite/gas/i386/x86-64-sse-noavx.s index 08a8c22e3c0..69e7e967927 100644 --- a/gas/testsuite/gas/i386/x86-64-sse-noavx.s +++ b/gas/testsuite/gas/i386/x86-64-sse-noavx.s @@ -12,9 +12,12 @@ _start: cvttps2pi %xmm4,%mm3 fisttp (%rax) fisttpll (%rax) + lfence maskmovq %mm7,%mm0 + mfence monitor movdq2q %xmm0, %mm1 + movnti %eax, (%rax) movntq %mm2,(%rax) movq2dq %mm0, %xmm1 mwait diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index f8ddf482017..f4631ef95a1 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2009-01-12 H.J. Lu + + * i386-opc.tbl: Add NoAVX to movnti, lfence and mfence. + * i386-tbl.h: Regenerated. + 2009-01-12 H.J. Lu * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB, diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl index e644a391415..2666de0443e 100644 --- a/opcodes/i386-opc.tbl +++ b/opcodes/i386-opc.tbl @@ -909,10 +909,10 @@ fucompi, 1, 0xdfe8, None, 2, Cpu686, ShortForm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|N // Pentium4 extensions. -movnti, 2, 0xfc3, None, 2, CpuSSE2, Modrm|No_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S } +movnti, 2, 0xfc3, None, 2, CpuSSE2, Modrm|No_bSuf|No_wSuf|No_sSuf|No_ldSuf|NoAVX, { Reg32|Reg64, Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S } clflush, 1, 0xfae, 0x7, 2, CpuClflush, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Byte|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S } -lfence, 0, 0xfae, 0xe8, 2, CpuSSE2, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 } -mfence, 0, 0xfae, 0xf0, 2, CpuSSE2, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { 0 } +lfence, 0, 0xfae, 0xe8, 2, CpuSSE2, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoAVX, { 0 } +mfence, 0, 0xfae, 0xf0, 2, CpuSSE2, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt|NoAVX, { 0 } // Processors that do not support PAUSE treat this opcode as a NOP instruction. pause, 0, 0xf390, None, 2, Cpu186, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { 0 } diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h index 55991b2c75f..d6e6851f349 100644 --- a/opcodes/i386-tbl.h +++ b/opcodes/i386-tbl.h @@ -6910,7 +6910,7 @@ const template i386_optab[] = 0, 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, 0, 0, 1, 1, 0, 1, 0, 1, 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, 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 }, { { { 0, 0, 1, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, @@ -6931,7 +6931,7 @@ const template i386_optab[] = 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 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 } } } }, @@ -6940,7 +6940,7 @@ const template i386_optab[] = 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 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 } } } }, -- 2.30.2