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

Reply via email to