• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)));
foo(vFloat * X)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 
bar(vFloat * X)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