R600/SI: Promote fp64 SELECT to i64

This type promotion is replacing a Tablegen pattern and it is already
covered by existing tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204617 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Tom Stellard 2014-03-24 16:07:30 +00:00
parent b15ac1b99b
commit 65b5e9b4ef
2 changed files with 2 additions and 12 deletions

View File

@ -104,6 +104,8 @@ SITargetLowering::SITargetLowering(TargetMachine &TM) :
setOperationAction(ISD::STORE, MVT::v4i32, Custom);
setOperationAction(ISD::SELECT, MVT::i64, Custom);
setOperationAction(ISD::SELECT, MVT::f64, Promote);
AddPromotedToType(ISD::SELECT, MVT::f64, MVT::i64);
setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);

View File

@ -904,18 +904,6 @@ def : Pat <
(EXTRACT_SUBREG $val, sub0)
>;
//use two V_CNDMASK_B32_e64 instructions for f64
def : Pat <
(f64 (select i1:$src2, f64:$src1, f64:$src0)),
(INSERT_SUBREG (INSERT_SUBREG (f64 (IMPLICIT_DEF)),
(V_CNDMASK_B32_e64 (EXTRACT_SUBREG $src0, sub0),
(EXTRACT_SUBREG $src1, sub0),
$src2), sub0),
(V_CNDMASK_B32_e64 (EXTRACT_SUBREG $src0, sub1),
(EXTRACT_SUBREG $src1, sub1),
$src2), sub1)
>;
def V_READLANE_B32 : VOP2 <
0x00000001,
(outs SReg_32:$vdst),