[PATCH] D67212:  [x86] Adding support for some missing intrinsics: _castf32_u32, _castf64_u64, _castu32_f32, _castu64_f64
    Simon Pilgrim via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Sep  6 01:46:47 PDT 2019
    
    
  
RKSimon added inline comments.
================
Comment at: clang/lib/Headers/ia32intrin.h:207
+_castf64_u64(double __Bits) {
+  unsigned long long D;
+  __builtin_memcpy(&D, &__Bits, sizeof(__Bits));
----------------
craig.topper wrote:
> RKSimon wrote:
> > Shouldn't the unsigned long long cases be hidden by __x86_64__ wrappers?
> icc doesn't restrict this to 64-bit targets. On 64-bit targets it corresponds to movq, but on other targets we can just lower to a 64-bit store and two 32-bit loads in the worst case.
Thanks - in which case we should definitely add 32-bit triple tests
Repository:
  rL LLVM
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67212/new/
https://reviews.llvm.org/D67212
    
    
More information about the llvm-commits
mailing list