================ @@ -3232,6 +3264,22 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, return RValue::get(emitUnaryMaybeConstrainedFPBuiltin( *this, E, Intrinsic::sinh, Intrinsic::experimental_constrained_sinh)); + case Builtin::BIsincos: + case Builtin::BIsincosf: + case Builtin::BIsincosl: + case Builtin::BI__builtin_sincos: + case Builtin::BI__builtin_sincosf: + case Builtin::BI__builtin_sincosl: + // Only use the llvm.sincos.* builtin on AArch64 with optimizations. + // Currently, getting codegen that is no worse than the direct call + // requires using AA during codegen. This is not done at optlevel=none, + // and not all targets support this (AArch64 is one of the few known to). + if (!getTarget().getTriple().isAArch64() || + CGM.getCodeGenOpts().OptimizationLevel == 0) + break; ---------------- arsenm wrote:
That control has been sitting there for years. This is the problem, people introduce stuff like this and are afraid of touching anything other than what they care about and it gets stuck forever https://github.com/llvm/llvm-project/pull/114086 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits