mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-28 05:19:42 +00:00
R600: Switch to using generic min / max nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239377 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -210,6 +210,10 @@ SITargetLowering::SITargetLowering(TargetMachine &TM,
|
||||
setTargetDAGCombine(ISD::FSUB);
|
||||
setTargetDAGCombine(ISD::FMINNUM);
|
||||
setTargetDAGCombine(ISD::FMAXNUM);
|
||||
setTargetDAGCombine(ISD::SMIN);
|
||||
setTargetDAGCombine(ISD::SMAX);
|
||||
setTargetDAGCombine(ISD::UMIN);
|
||||
setTargetDAGCombine(ISD::UMAX);
|
||||
setTargetDAGCombine(ISD::SELECT_CC);
|
||||
setTargetDAGCombine(ISD::SETCC);
|
||||
setTargetDAGCombine(ISD::AND);
|
||||
@@ -1633,15 +1637,15 @@ static unsigned minMaxOpcToMin3Max3Opc(unsigned Opc) {
|
||||
switch (Opc) {
|
||||
case ISD::FMAXNUM:
|
||||
return AMDGPUISD::FMAX3;
|
||||
case AMDGPUISD::SMAX:
|
||||
case ISD::SMAX:
|
||||
return AMDGPUISD::SMAX3;
|
||||
case AMDGPUISD::UMAX:
|
||||
case ISD::UMAX:
|
||||
return AMDGPUISD::UMAX3;
|
||||
case ISD::FMINNUM:
|
||||
return AMDGPUISD::FMIN3;
|
||||
case AMDGPUISD::SMIN:
|
||||
case ISD::SMIN:
|
||||
return AMDGPUISD::SMIN3;
|
||||
case AMDGPUISD::UMIN:
|
||||
case ISD::UMIN:
|
||||
return AMDGPUISD::UMIN3;
|
||||
default:
|
||||
llvm_unreachable("Not a min/max opcode");
|
||||
@@ -1727,10 +1731,10 @@ SDValue SITargetLowering::PerformDAGCombine(SDNode *N,
|
||||
return performSetCCCombine(N, DCI);
|
||||
case ISD::FMAXNUM: // TODO: What about fmax_legacy?
|
||||
case ISD::FMINNUM:
|
||||
case AMDGPUISD::SMAX:
|
||||
case AMDGPUISD::SMIN:
|
||||
case AMDGPUISD::UMAX:
|
||||
case AMDGPUISD::UMIN: {
|
||||
case ISD::SMAX:
|
||||
case ISD::SMIN:
|
||||
case ISD::UMAX:
|
||||
case ISD::UMIN: {
|
||||
if (DCI.getDAGCombineLevel() >= AfterLegalizeDAG &&
|
||||
N->getValueType(0) != MVT::f64 &&
|
||||
getTargetMachine().getOptLevel() > CodeGenOpt::None)
|
||||
|
||||
Reference in New Issue
Block a user