craig.topper added inline comments.

================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:13347
   case SystemZ::BI__builtin_s390_vfnmadb: {
     llvm::Type *ResultType = ConvertType(E->getType());
     Value *X = EmitScalarExpr(E->getArg(0));
----------------
What are the semantics of vfnmadb with respect to when it rounds vs the 
negation? If the rounding mode is for ceil/floor and the negate is applied 
after, that would be different that if it was before.


================
Comment at: clang/lib/CodeGen/CGBuiltin.cpp:13369
+      Value *NegZ = Builder.CreateFNeg(Z, "sub");
+      return Builder.CreateFNeg(Builder.CreateConstrainedFPCall(F, {X, Y, 
NegZ}));
+    } else {
----------------
Same question as above.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72722/new/

https://reviews.llvm.org/D72722



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to