@@ -734,18 +734,19 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
734734 setOperationAction(ISD::FCOPYSIGN, MVT::bf16, Promote);
735735 }
736736
737- for (auto Op : {ISD::FREM, ISD::FPOW, ISD::FPOWI,
738- ISD::FCOS, ISD::FSIN, ISD::FSINCOS,
739- ISD::FACOS, ISD::FASIN, ISD::FATAN,
740- ISD::FCOSH, ISD::FSINH, ISD::FTANH,
741- ISD::FTAN, ISD::FEXP, ISD::FEXP2,
742- ISD::FEXP10, ISD::FLOG, ISD::FLOG2,
743- ISD::FLOG10, ISD::STRICT_FREM, ISD::STRICT_FPOW,
744- ISD::STRICT_FPOWI, ISD::STRICT_FCOS, ISD::STRICT_FSIN,
745- ISD::STRICT_FACOS, ISD::STRICT_FASIN, ISD::STRICT_FATAN,
746- ISD::STRICT_FCOSH, ISD::STRICT_FSINH, ISD::STRICT_FTANH,
747- ISD::STRICT_FEXP, ISD::STRICT_FEXP2, ISD::STRICT_FLOG,
748- ISD::STRICT_FLOG2, ISD::STRICT_FLOG10, ISD::STRICT_FTAN}) {
737+ for (auto Op : {ISD::FREM, ISD::FPOW, ISD::FPOWI,
738+ ISD::FCOS, ISD::FSIN, ISD::FSINCOS,
739+ ISD::FACOS, ISD::FASIN, ISD::FATAN,
740+ ISD::FATAN2, ISD::FCOSH, ISD::FSINH,
741+ ISD::FTANH, ISD::FTAN, ISD::FEXP,
742+ ISD::FEXP2, ISD::FEXP10, ISD::FLOG,
743+ ISD::FLOG2, ISD::FLOG10, ISD::STRICT_FREM,
744+ ISD::STRICT_FPOW, ISD::STRICT_FPOWI, ISD::STRICT_FCOS,
745+ ISD::STRICT_FSIN, ISD::STRICT_FACOS, ISD::STRICT_FASIN,
746+ ISD::STRICT_FATAN, ISD::STRICT_FATAN2, ISD::STRICT_FCOSH,
747+ ISD::STRICT_FSINH, ISD::STRICT_FTANH, ISD::STRICT_FEXP,
748+ ISD::STRICT_FEXP2, ISD::STRICT_FLOG, ISD::STRICT_FLOG2,
749+ ISD::STRICT_FLOG10, ISD::STRICT_FTAN}) {
749750 setOperationAction(Op, MVT::f16, Promote);
750751 setOperationAction(Op, MVT::v4f16, Expand);
751752 setOperationAction(Op, MVT::v8f16, Expand);
@@ -1190,7 +1191,7 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
11901191 // silliness like this:
11911192 // clang-format off
11921193 for (auto Op :
1193- {ISD::SELECT, ISD::SELECT_CC,
1194+ {ISD::SELECT, ISD::SELECT_CC, ISD::FATAN2,
11941195 ISD::BR_CC, ISD::FADD, ISD::FSUB,
11951196 ISD::FMUL, ISD::FDIV, ISD::FMA,
11961197 ISD::FNEG, ISD::FABS, ISD::FCEIL,
@@ -1649,6 +1650,7 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
16491650 setOperationAction(ISD::FACOS, VT, Expand);
16501651 setOperationAction(ISD::FASIN, VT, Expand);
16511652 setOperationAction(ISD::FATAN, VT, Expand);
1653+ setOperationAction(ISD::FATAN2, VT, Expand);
16521654 setOperationAction(ISD::FCOSH, VT, Expand);
16531655 setOperationAction(ISD::FSINH, VT, Expand);
16541656 setOperationAction(ISD::FTANH, VT, Expand);
@@ -1904,6 +1906,7 @@ void AArch64TargetLowering::addTypeForNEON(MVT VT) {
19041906 setOperationAction(ISD::FASIN, VT, Expand);
19051907 setOperationAction(ISD::FACOS, VT, Expand);
19061908 setOperationAction(ISD::FATAN, VT, Expand);
1909+ setOperationAction(ISD::FATAN2, VT, Expand);
19071910 setOperationAction(ISD::FSINH, VT, Expand);
19081911 setOperationAction(ISD::FCOSH, VT, Expand);
19091912 setOperationAction(ISD::FTANH, VT, Expand);
0 commit comments