craig.topper marked 2 inline comments as done. craig.topper added inline comments.
================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:12363 + Cmp = Builder.CreateFCmp(Pred, Ops[0], Ops[1]); return EmitX86MaskedCompareResult(*this, Cmp, NumElts, Ops[3]); } ---------------- andrew.w.kaylor wrote: > How hard would it be to generate a select with known safe values ahead of the > compare in the constrained case? Ultimately, I think we need target specific masked intrinsics or generic predicated compare intrinsics. Most of our X86 specific FP intrinsics are not exception correct because we aggressively removed masking when we probably shouldn't have. ================ Comment at: clang/test/CodeGen/avx-builtins-constrained.c:170 + // CHECK-LABEL: test_mm256_cmp_pd_false_os + // CHECK: call <4 x double> @llvm.x86.avx.cmp.pd.256(<4 x double> %{{.*}}, <4 x double> %{{.*}}, i8 27) + return _mm256_cmp_pd(a, b, _CMP_FALSE_OS); ---------------- andrew.w.kaylor wrote: > Does this have the strictfp attribute here? I don't think we do anything with > that, but it will likely be useful when we start handling strictfp for > target-specific intrinsics. I don't think it does. We didn't create it with createConstrainedFPCall so I don't think anything would have added it. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72906/new/ https://reviews.llvm.org/D72906 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits