1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00

disambiguate some types, add a fixme about some

inconsistent intrinsics.

llvm-svn: 97959
This commit is contained in:
Chris Lattner 2010-03-08 18:59:49 +00:00
parent 006063d36e
commit 014fa780b4
4 changed files with 6 additions and 5 deletions

View File

@ -205,6 +205,7 @@ def CellSDKnand:
// Shift/rotate intrinsics: // Shift/rotate intrinsics:
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
/* FIXME: These have (currently unenforced) type conflicts. */
def CellSDKshli: def CellSDKshli:
Pat<(int_spu_si_shli (v4i32 VECREG:$rA), uimm7:$val), Pat<(int_spu_si_shli (v4i32 VECREG:$rA), uimm7:$val),
(SHLIv4i32 VECREG:$rA, uimm7:$val)>; (SHLIv4i32 VECREG:$rA, uimm7:$val)>;

View File

@ -2370,7 +2370,7 @@ class ROTHInst<dag OOL, dag IOL, list<dag> pattern>:
class ROTHVecInst<ValueType vectype>: class ROTHVecInst<ValueType vectype>:
ROTHInst<(outs VECREG:$rT), (ins VECREG:$rA, VECREG:$rB), ROTHInst<(outs VECREG:$rT), (ins VECREG:$rA, VECREG:$rB),
[(set (vectype VECREG:$rT), [(set (vectype VECREG:$rT),
(SPUvec_rotl VECREG:$rA, VECREG:$rB))]>; (SPUvec_rotl VECREG:$rA, (v8i16 VECREG:$rB)))]>;
class ROTHRegInst<RegisterClass rclass>: class ROTHRegInst<RegisterClass rclass>:
ROTHInst<(outs rclass:$rT), (ins rclass:$rA, rclass:$rB), ROTHInst<(outs rclass:$rT), (ins rclass:$rA, rclass:$rB),

View File

@ -45,9 +45,9 @@ def : Pat<(mul (v8i16 VECREG:$rA), (v8i16 VECREG:$rB)),
def MPYv4i32: def MPYv4i32:
Pat<(mul (v4i32 VECREG:$rA), (v4i32 VECREG:$rB)), Pat<(mul (v4i32 VECREG:$rA), (v4i32 VECREG:$rB)),
(Av4i32 (Av4i32
(Av4i32 (MPYHv4i32 VECREG:$rA, VECREG:$rB), (v4i32 (Av4i32 (v4i32 (MPYHv4i32 VECREG:$rA, VECREG:$rB)),
(MPYHv4i32 VECREG:$rB, VECREG:$rA)), (v4i32 (MPYHv4i32 VECREG:$rB, VECREG:$rA)))),
(MPYUv4i32 VECREG:$rA, VECREG:$rB))>; (v4i32 (MPYUv4i32 VECREG:$rA, VECREG:$rB)))>;
def MPYi32: def MPYi32:
Pat<(mul R32C:$rA, R32C:$rB), Pat<(mul R32C:$rA, R32C:$rB),

View File

@ -26,7 +26,7 @@ def callseq_end : SDNode<"ISD::CALLSEQ_END", SDT_SPUCallSeq,
// Operand constraints: // 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, def SPUcall : SDNode<"SPUISD::CALL", SDT_SPUCall,
[SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>; [SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>;