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
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits