AMDGPU: Fold free fneg into sin
llvm-svn: 291790
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index a6c5e06..7771b23 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -2813,8 +2813,10 @@
case ISD::FMUL:
case ISD::FMA:
case ISD::FMAD:
+ case ISD::FSIN:
case AMDGPUISD::RCP:
case AMDGPUISD::RCP_LEGACY:
+ case AMDGPUISD::SIN_HW:
case AMDGPUISD::FMUL_LEGACY:
return true;
default:
@@ -2906,7 +2908,9 @@
}
case ISD::FP_EXTEND:
case AMDGPUISD::RCP:
- case AMDGPUISD::RCP_LEGACY: {
+ case AMDGPUISD::RCP_LEGACY:
+ case ISD::FSIN:
+ case AMDGPUISD::SIN_HW: {
SDValue CvtSrc = N0.getOperand(0);
if (CvtSrc.getOpcode() == ISD::FNEG) {
// (fneg (fp_extend (fneg x))) -> (fp_extend x)