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