diff options
author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-06-30 02:21:09 +0000 |
---|---|---|
committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2010-06-30 02:21:09 +0000 |
commit | 2686ea455573eb42c973c96e372ac88a7dc57380 (patch) | |
tree | 92da5f4c44a4e200b0aabd4a25c30dae07c9272f /llvm/lib | |
parent | 0e783c2e8672605dcf6d964696ec23050bce0608 (diff) | |
download | bcm5719-llvm-2686ea455573eb42c973c96e372ac88a7dc57380.tar.gz bcm5719-llvm-2686ea455573eb42c973c96e372ac88a7dc57380.zip |
Add AVX SSE2 integer packed compare instructions
llvm-svn: 107240
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index 0b3621469dc..db2b5324590 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -2576,6 +2576,23 @@ let Predicates = [HasSSE2] in { // SSE2 - Packed Integer Comparison Instructions //===---------------------------------------------------------------------===// +let isAsmParserOnly = 1, Predicates = [HasAVX, HasSSE2] in { + let isCommutable = 1 in { + defm VPCMPEQB : PDI_binop_rm_int<0x74, "vpcmpeqb", int_x86_sse2_pcmpeq_b, 0>, + VEX_4V; + defm VPCMPEQW : PDI_binop_rm_int<0x75, "vpcmpeqw", int_x86_sse2_pcmpeq_w, 0>, + VEX_4V; + defm VPCMPEQD : PDI_binop_rm_int<0x76, "vpcmpeqd", int_x86_sse2_pcmpeq_d, 0>, + VEX_4V; + } + defm VPCMPGTB : PDI_binop_rm_int<0x64, "vpcmpgtb", int_x86_sse2_pcmpgt_b, 0>, + VEX_4V; + defm VPCMPGTW : PDI_binop_rm_int<0x65, "vpcmpgtw", int_x86_sse2_pcmpgt_w, 0>, + VEX_4V; + defm VPCMPGTD : PDI_binop_rm_int<0x66, "vpcmpgtd", int_x86_sse2_pcmpgt_d, 0>, + VEX_4V; +} + let Constraints = "$src1 = $dst" in { let isCommutable = 1 in { defm PCMPEQB : PDI_binop_rm_int<0x74, "pcmpeqb", int_x86_sse2_pcmpeq_b>; |