From 044be39090a702504c62fc0544fc977a6caa7112 Mon Sep 17 00:00:00 2001 From: Kevin Enderby Date: Wed, 24 Mar 2010 22:28:42 +0000 Subject: [PATCH] Fixed the SS42AI template for the SSE 4.2 instructions with TA prefix so it does not get an "Unknown immediate size" assert failure when used. All instructions of this form have an 8-bit immediate. Also added a test case of an example instruction that is of this form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99435 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86InstrFormats.td | 2 +- test/MC/AsmParser/X86/x86_32-encoding.s | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/Target/X86/X86InstrFormats.td b/lib/Target/X86/X86InstrFormats.td index bb81cbf8ac1..c06b81b10a1 100644 --- a/lib/Target/X86/X86InstrFormats.td +++ b/lib/Target/X86/X86InstrFormats.td @@ -286,7 +286,7 @@ class SS42FI o, Format F, dag outs, dag ins, string asm, // SS42AI = SSE 4.2 instructions with TA prefix class SS42AI o, Format F, dag outs, dag ins, string asm, list pattern> - : I, TA, Requires<[HasSSE42]>; + : Ii8, TA, Requires<[HasSSE42]>; // X86-64 Instruction templates... // diff --git a/test/MC/AsmParser/X86/x86_32-encoding.s b/test/MC/AsmParser/X86/x86_32-encoding.s index 2088aa7bd55..95f04e24e57 100644 --- a/test/MC/AsmParser/X86/x86_32-encoding.s +++ b/test/MC/AsmParser/X86/x86_32-encoding.s @@ -9905,3 +9905,11 @@ // CHECK: crc32l %ecx, %ecx // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xc9] crc32l %ecx,%ecx + +// CHECK: pcmpistrm $125, %xmm1, %xmm2 +// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0xd1,0x7d] + pcmpistrm $125, %xmm1, %xmm2 + +// CHECK: pcmpistrm $125, (%edx,%eax,4), %xmm2 +// CHECK: encoding: [0x66,0x0f,0x3a,0x62,0x14,0x82,0x7d] + pcmpistrm $125, (%edx,%eax,4), %xmm2 -- 2.34.1