================
@@ -985,10 +1017,23 @@ class ScalarExprEmitter
Value *EmitCompare(const BinaryOperator *E, llvm::CmpInst::Predicate
UICmpOpc,
llvm::CmpInst::Predicate SICmpOpc,
llvm::CmpInst::Predicate FCmpOpc, bool IsSignaling);
-#define VISITCOMP(CODE, UI, SI, FP, SIG) \
- Value *VisitBin##CODE(const BinaryOperator *E) { \
- return EmitCompare(E, llvm::ICmpInst::UI, llvm::ICmpInst::SI, \
- llvm::FCmpInst::FP, SIG); }
+ Value *EmitSoftX87LongDoubleComp(const BinaryOperator *E,
+ llvm::CmpInst::Predicate FCmpOpc);
+ Value *EmitSoftX87LongDoubleBinOp(
+ const BinOpInfo &Ops,
+ Value *(ScalarExprEmitter::*Emit)(const BinOpInfo &));
+#define VISITCOMP(CODE, UI, SI, FP, SIG)
\
+ Value *VisitBin##CODE(const BinaryOperator *E) {
\
+ if (CGF.getTarget().hasSoftX87LongDouble() &&
\
+ E->getLHS()->getType()->isSpecificBuiltinType(
\
+ BuiltinType::LongDouble) &&
\
+ E->getRHS()->getType()->isSpecificBuiltinType(
\
+ BuiltinType::LongDouble))
\
+ return EmitSoftX87LongDoubleComp(E, llvm::FCmpInst::FP);
\
----------------
lhmouse wrote:
This is not a strict FP implementation, so WONTFIX.
https://github.com/llvm/llvm-project/pull/237057
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits