blob: 60404f6702261f2830735f67f003c80db59ea06f [file] [log] [blame]
Evan Cheng3d8cd9e2008-09-24 00:50:16 +00001// RUN: %llvmgcc %s -S -o - | grep bitcast | count 14
Evan Chengbc09afa2008-09-22 22:19:34 +00002
3typedef float vFloat __attribute__ ((__vector_size__ (16)));
4typedef unsigned int vUInt32 __attribute__ ((__vector_size__ (16)));
5void 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}
Evan Cheng3d8cd9e2008-09-24 00:50:16 +000010
11void 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}