R600: Select is not expensive.

llvm-svn: 211518
This commit is contained in:
Matt Arsenault 2014-06-23 18:00:52 +00:00
parent c4d3d3a16e
commit d5f91fd883
1 changed files with 7 additions and 0 deletions

View File

@ -361,6 +361,9 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) :
setSchedulingPreference(Sched::RegPressure);
setJumpIsExpensive(true);
setSelectIsExpensive(false);
PredictableSelectIsExpensive = false;
// There are no integer divide instructions, and these expand to a pretty
// large sequence of instructions.
setIntDivIsCheap(false);
@ -383,6 +386,10 @@ MVT AMDGPUTargetLowering::getVectorIdxTy() const {
return MVT::i32;
}
bool AMDGPUTargetLowering::isSelectSupported(SelectSupportKind SelType) const {
return true;
}
// The backend supports 32 and 64 bit floating point immediates.
// FIXME: Why are we reporting vectors of FP immediates as legal?
bool AMDGPUTargetLowering::isFPImmLegal(const APFloat &Imm, EVT VT) const {