diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2009-02-10 22:06:28 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2009-02-10 22:06:28 +0000 |
| commit | 589a539423d8ccd3621cb2d92cb99de528c2edf7 (patch) | |
| tree | e32c08f2ab402b47d7f3b31ea1cd8c25bd376c1d | |
| parent | 09cfcff492ca37167a37dca2a31e0032ed834663 (diff) | |
| download | bcm5719-llvm-589a539423d8ccd3621cb2d92cb99de528c2edf7.tar.gz bcm5719-llvm-589a539423d8ccd3621cb2d92cb99de528c2edf7.zip | |
Handle llvm.x86.sse2.maskmov.dqu in 64-bit.
llvm-svn: 64240
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 5 | ||||
| -rw-r--r-- | llvm/test/CodeGen/X86/maskmovdqu.ll | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index 472bc75c283..2b685a704c5 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -2231,6 +2231,11 @@ def MASKMOVDQU : PDI<0xF7, MRMSrcReg, (outs), (ins VR128:$src, VR128:$mask), "maskmovdqu\t{$mask, $src|$src, $mask}", [(int_x86_sse2_maskmov_dqu VR128:$src, VR128:$mask, EDI)]>; +let Uses = [RDI] in +def MASKMOVDQU64 : PDI<0xF7, MRMSrcReg, (outs), (ins VR128:$src, VR128:$mask), + "maskmovdqu\t{$mask, $src|$src, $mask}", + [(int_x86_sse2_maskmov_dqu VR128:$src, VR128:$mask, RDI)]>; + // Non-temporal stores def MOVNTPDmr : PDI<0x2B, MRMDestMem, (outs), (ins i128mem:$dst, VR128:$src), "movntpd\t{$src, $dst|$dst, $src}", diff --git a/llvm/test/CodeGen/X86/maskmovdqu.ll b/llvm/test/CodeGen/X86/maskmovdqu.ll new file mode 100644 index 00000000000..4d1ed1dc226 --- /dev/null +++ b/llvm/test/CodeGen/X86/maskmovdqu.ll @@ -0,0 +1,11 @@ +; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep -i EDI +; RUN: llvm-as < %s | llc -march=x86-64 -mattr=+sse2 | grep -i RDI +; rdar://6573467 + +define void @test(<16 x i8> %a, <16 x i8> %b, i32 %dummy, i8* %c) nounwind { +entry: + tail call void @llvm.x86.sse2.maskmov.dqu( <16 x i8> %a, <16 x i8> %b, i8* %c ) + ret void +} + +declare void @llvm.x86.sse2.maskmov.dqu(<16 x i8>, <16 x i8>, i8*) nounwind |

