aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/FrontendC/fp-logical.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/test/FrontendC/fp-logical.c b/test/FrontendC/fp-logical.c
index 518db65117..60404f6702 100644
--- a/test/FrontendC/fp-logical.c
+++ b/test/FrontendC/fp-logical.c
@@ -1,4 +1,4 @@
-// RUN: %llvmgcc %s -S -o - | grep bitcast | count 5
+// RUN: %llvmgcc %s -S -o - | grep bitcast | count 14
typedef float vFloat __attribute__ ((__vector_size__ (16)));
typedef unsigned int vUInt32 __attribute__ ((__vector_size__ (16)));
@@ -7,3 +7,9 @@ void foo(vFloat *X) {
vFloat ExtremeValue = *X & NoSignBit;
*X = ExtremeValue;
}
+
+void bar(vFloat *X) {
+ vFloat NoSignBit = (vFloat) ~ (vUInt32) (vFloat) { -0.f, -0.f, -0.f, -0.f };
+ vFloat ExtremeValue = *X & ~NoSignBit;
+ *X = ExtremeValue;
+}