[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCInstrInfo.td
Nate Begeman
natebegeman at mac.com
Thu Dec 29 16:13:08 PST 2005
Changes in directory llvm/lib/Target/PowerPC:
PPCInstrInfo.td updated: 1.166 -> 1.167
---
Log message:
Add support for generating v4i32 altivec code
---
Diffs of the changes: (+10 -2)
PPCInstrInfo.td | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.166 llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.167
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.166 Mon Dec 26 03:11:45 2005
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td Thu Dec 29 18:12:56 2005
@@ -447,7 +447,7 @@
[]>;
def LVX : XForm_1<31, 103, (ops VRRC:$vD, memrr:$src),
"lvx $vD, $src", LdStGeneral,
- [(set VRRC:$vD, (load xoaddr:$src))]>;
+ [(set VRRC:$vD, (v4f32 (load xoaddr:$src)))]>;
}
def LVSL : XForm_1<31, 6, (ops VRRC:$vD, GPRC:$base, GPRC:$rA),
"lvsl $vD, $base, $rA", LdStGeneral,
@@ -542,7 +542,7 @@
[]>;
def STVX : XForm_8<31, 231, (ops VRRC:$rS, memrr:$dst),
"stvx $rS, $dst", LdStGeneral,
- [(store VRRC:$rS, xoaddr:$dst)]>;
+ [(store (v4f32 VRRC:$rS), xoaddr:$dst)]>;
}
def SRAWI : XForm_10<31, 824, (ops GPRC:$rA, GPRC:$rS, u5imm:$SH),
"srawi $rA, $rS, $SH", IntShift,
@@ -892,6 +892,9 @@
def VADDFP : VXForm_1<10, (ops VRRC:$vD, VRRC:$vA, VRRC:$vB),
"vaddfp $vD, $vA, $vB", VecFP,
[(set VRRC:$vD, (fadd VRRC:$vA, VRRC:$vB))]>;
+def VADDUWM : VXForm_1<128, (ops VRRC:$vD, VRRC:$vA, VRRC:$vB),
+ "vadduwm $vD, $vA, $vB", VecGeneral,
+ [(set VRRC:$vD, (add VRRC:$vA, VRRC:$vB))]>;
def VCFSX : VXForm_1<842, (ops VRRC:$vD, u5imm:$UIMM, VRRC:$vB),
"vcfsx $vD, $vB, $UIMM", VecFP,
[]>;
@@ -1060,6 +1063,11 @@
def : Pat<(f64 (extload xaddr:$src, f32)),
(FMRSD (LFSX xaddr:$src))>;
+def : Pat<(v4i32 (load xoaddr:$src)),
+ (v4i32 (LVX xoaddr:$src))>;
+def : Pat<(store (v4i32 VRRC:$rS), xoaddr:$dst),
+ (STVX (v4i32 VRRC:$rS), xoaddr:$dst)>;
+
def : Pat<(retflag), (BLR)>;
// Same as above, but using a temporary. FIXME: implement temporaries :)
More information about the llvm-commits
mailing list