[llvm-commits] [llvm] r97959 - in /llvm/trunk/lib/Target/CellSPU: CellSDKIntrinsics.td SPUInstrInfo.td SPUMathInstr.td SPUNodes.td
Chris Lattner
sabre at nondot.org
Mon Mar 8 10:59:49 PST 2010
Author: lattner
Date: Mon Mar 8 12:59:49 2010
New Revision: 97959
URL: http://llvm.org/viewvc/llvm-project?rev=97959&view=rev
Log:
disambiguate some types, add a fixme about some
inconsistent intrinsics.
Modified:
llvm/trunk/lib/Target/CellSPU/CellSDKIntrinsics.td
llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
llvm/trunk/lib/Target/CellSPU/SPUMathInstr.td
llvm/trunk/lib/Target/CellSPU/SPUNodes.td
Modified: llvm/trunk/lib/Target/CellSPU/CellSDKIntrinsics.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/CellSDKIntrinsics.td?rev=97959&r1=97958&r2=97959&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/CellSDKIntrinsics.td (original)
+++ llvm/trunk/lib/Target/CellSPU/CellSDKIntrinsics.td Mon Mar 8 12:59:49 2010
@@ -205,6 +205,7 @@
// Shift/rotate intrinsics:
//===----------------------------------------------------------------------===//
+/* FIXME: These have (currently unenforced) type conflicts. */
def CellSDKshli:
Pat<(int_spu_si_shli (v4i32 VECREG:$rA), uimm7:$val),
(SHLIv4i32 VECREG:$rA, uimm7:$val)>;
Modified: llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td?rev=97959&r1=97958&r2=97959&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUInstrInfo.td Mon Mar 8 12:59:49 2010
@@ -2370,7 +2370,7 @@
class ROTHVecInst<ValueType vectype>:
ROTHInst<(outs VECREG:$rT), (ins VECREG:$rA, VECREG:$rB),
[(set (vectype VECREG:$rT),
- (SPUvec_rotl VECREG:$rA, VECREG:$rB))]>;
+ (SPUvec_rotl VECREG:$rA, (v8i16 VECREG:$rB)))]>;
class ROTHRegInst<RegisterClass rclass>:
ROTHInst<(outs rclass:$rT), (ins rclass:$rA, rclass:$rB),
Modified: llvm/trunk/lib/Target/CellSPU/SPUMathInstr.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUMathInstr.td?rev=97959&r1=97958&r2=97959&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUMathInstr.td (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUMathInstr.td Mon Mar 8 12:59:49 2010
@@ -45,9 +45,9 @@
def MPYv4i32:
Pat<(mul (v4i32 VECREG:$rA), (v4i32 VECREG:$rB)),
(Av4i32
- (Av4i32 (MPYHv4i32 VECREG:$rA, VECREG:$rB),
- (MPYHv4i32 VECREG:$rB, VECREG:$rA)),
- (MPYUv4i32 VECREG:$rA, VECREG:$rB))>;
+ (v4i32 (Av4i32 (v4i32 (MPYHv4i32 VECREG:$rA, VECREG:$rB)),
+ (v4i32 (MPYHv4i32 VECREG:$rB, VECREG:$rA)))),
+ (v4i32 (MPYUv4i32 VECREG:$rA, VECREG:$rB)))>;
def MPYi32:
Pat<(mul R32C:$rA, R32C:$rB),
Modified: llvm/trunk/lib/Target/CellSPU/SPUNodes.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUNodes.td?rev=97959&r1=97958&r2=97959&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUNodes.td (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUNodes.td Mon Mar 8 12:59:49 2010
@@ -26,7 +26,7 @@
// Operand constraints:
//===----------------------------------------------------------------------===//
-def SDT_SPUCall : SDTypeProfile<0, -1, [SDTCisInt<0>]>;
+def SDT_SPUCall : SDTypeProfile<0, -1, [SDTCisPtrTy<0>]>;
def SPUcall : SDNode<"SPUISD::CALL", SDT_SPUCall,
[SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>;
More information about the llvm-commits
mailing list