Home | History | Annotate | Download | only in FrontendC
      1 // RUN: %llvmgcc %s -S -o - | grep bitcast | count 14
      2 
      3 typedef float vFloat __attribute__ ((__vector_size__ (16)));
      4 typedef unsigned int vUInt32 __attribute__ ((__vector_size__ (16)));
      5 void foo(vFloat *X) {
      6   vFloat NoSignBit = (vFloat) ~ (vUInt32) (vFloat) { -0.f, -0.f, -0.f, -0.f };
      7   vFloat ExtremeValue = *X & NoSignBit;
      8   *X = ExtremeValue;
      9 }
     10 
     11 void bar(vFloat *X) {
     12   vFloat NoSignBit = (vFloat) ~ (vUInt32) (vFloat) { -0.f, -0.f, -0.f, -0.f };
     13   vFloat ExtremeValue = *X & ~NoSignBit;
     14   *X = ExtremeValue;
     15 }
     16