diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2006-04-13 18:11:28 +0000 | 
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2006-04-13 18:11:28 +0000 | 
| commit | a84319719ce3b9856bb82a86257ff82758eac44e (patch) | |
| tree | 211edb70472914771e7241af7abb129a1900c8d3 /llvm | |
| parent | 4819ab573d402fa4c3ceda79dafedc4e5001cb6e (diff) | |
| download | bcm5719-llvm-a84319719ce3b9856bb82a86257ff82758eac44e.tar.gz bcm5719-llvm-a84319719ce3b9856bb82a86257ff82758eac44e.zip  | |
Doh. PANDrm, etc. are not commutable.
llvm-svn: 27668
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrSSE.td | 16 | 
1 files changed, 7 insertions, 9 deletions
diff --git a/llvm/lib/Target/X86/X86InstrSSE.td b/llvm/lib/Target/X86/X86InstrSSE.td index f07f9adb754..45093bcaa14 100644 --- a/llvm/lib/Target/X86/X86InstrSSE.td +++ b/llvm/lib/Target/X86/X86InstrSSE.td @@ -1534,28 +1534,26 @@ let isCommutable = 1 in {  def PANDrr : PDI<0xDB, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2),                   "pand {$src2, $dst|$dst, $src2}",                   [(set VR128:$dst, (v2i64 (and VR128:$src1, VR128:$src2)))]>; +def PORrr  : PDI<0xEB, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +                 "por {$src2, $dst|$dst, $src2}", +                 [(set VR128:$dst, (v2i64 (or VR128:$src1, VR128:$src2)))]>; +def PXORrr : PDI<0xEF, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), +                 "pxor {$src2, $dst|$dst, $src2}", +                 [(set VR128:$dst, (v2i64 (xor VR128:$src1, VR128:$src2)))]>; +}  def PANDrm : PDI<0xDB, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2),                   "pand {$src2, $dst|$dst, $src2}",                   [(set VR128:$dst, (v2i64 (and VR128:$src1,                                             (load addr:$src2))))]>; -def PORrr  : PDI<0xEB, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), -                 "por {$src2, $dst|$dst, $src2}", -                 [(set VR128:$dst, (v2i64 (or VR128:$src1, VR128:$src2)))]>; -  def PORrm  : PDI<0xEB, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2),                   "por {$src2, $dst|$dst, $src2}",                   [(set VR128:$dst, (v2i64 (or VR128:$src1,                                             (load addr:$src2))))]>; -def PXORrr : PDI<0xEF, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2), -                 "pxor {$src2, $dst|$dst, $src2}", -                 [(set VR128:$dst, (v2i64 (xor VR128:$src1, VR128:$src2)))]>; -  def PXORrm : PDI<0xEF, MRMSrcMem, (ops VR128:$dst, VR128:$src1, i128mem:$src2),                   "pxor {$src2, $dst|$dst, $src2}",                   [(set VR128:$dst, (v2i64 (xor VR128:$src1,                                             (load addr:$src2))))]>; -}  def PANDNrr : PDI<0xDF, MRMSrcReg, (ops VR128:$dst, VR128:$src1, VR128:$src2),                    "pandn {$src2, $dst|$dst, $src2}",  | 

