[PATCH] Allow __fp16 as a function arg or return type for AArch64

Tim Northover t.p.northover at gmail.com
Mon Jul 14 07:47:31 PDT 2014


I've also just noticed this highly disturbing example:

    #include <arm_neon.h>
    #if WTF
    short varInt;
    __fp16 varFloat;
    
    short foo(__fp16 in) {
      return *(short *)∈
    }
    
    __fp16 bar(short in) {
      return *(__fp16 *)∈
    }
    
    float baz() {
      //  return varFloat;
    }
    #endif
    
    
    int16x4_t tim(float16x4_t a) {
      return vreinterpret_s16_f16(a);
      //  return vreinterpret_s16_f16(a);
    }

The parameter type for "tim" changes for me depending on whether WTF is defined (and if it's "<4 x half>", AArch64 copes badly).

Cheers.

Tim.

http://reviews.llvm.org/D4456






More information about the cfe-commits mailing list