[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCInstrAltivec.td

Chris Lattner lattner at cs.uiuc.edu
Sat Apr 1 14:42:00 PST 2006



Changes in directory llvm/lib/Target/PowerPC:

PPCInstrAltivec.td updated: 1.29 -> 1.30
---
Log message:

Implement vnot using VNOR instead of using 'vspltisb v0, -1' and vxor


---
Diffs of the changes:  (+4 -0)

 PPCInstrAltivec.td |    4 ++++
 1 files changed, 4 insertions(+)


Index: llvm/lib/Target/PowerPC/PPCInstrAltivec.td
diff -u llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.29 llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.30
--- llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.29	Fri Mar 31 16:41:56 2006
+++ llvm/lib/Target/PowerPC/PPCInstrAltivec.td	Sat Apr  1 16:41:47 2006
@@ -445,6 +445,10 @@
 def : Pat<(v4i32 vecspltisw:$invec), (v4i32 (VSPLTISW vecspltisw:$invec))>;
 
 // Logical Operations
+def : Pat<(v16i8 (vnot VRRC:$vA)), (v16i8 (VNOR VRRC:$vA, VRRC:$vA))>;
+def : Pat<(v8i16 (vnot VRRC:$vA)), (v8i16 (VNOR VRRC:$vA, VRRC:$vA))>;
+def : Pat<(v4i32 (vnot VRRC:$vA)), (v4i32 (VNOR VRRC:$vA, VRRC:$vA))>;
+
 def : Pat<(v16i8 (and VRRC:$A, VRRC:$B)), (v16i8 (VAND VRRC:$A, VRRC:$B))>;
 def : Pat<(v8i16 (and VRRC:$A, VRRC:$B)), (v8i16 (VAND VRRC:$A, VRRC:$B))>;
 def : Pat<(v16i8 (or  VRRC:$A, VRRC:$B)), (v16i8 (VOR  VRRC:$A, VRRC:$B))>;






More information about the llvm-commits mailing list