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:
parent
006063d36e
commit
014fa780b4
@ -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)>;
|
||||||
|
@ -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),
|
||||||
|
@ -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),
|
||||||
|
@ -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]>;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user