[cfe-commits] r76726 - in /cfe/trunk: lib/CodeGen/CGExprScalar.cpp test/CodeGen/ext-vector.c
Eli Friedman
eli.friedman at gmail.com
Tue Jul 21 23:07:17 PDT 2009
Author: efriedma
Date: Wed Jul 22 01:07:16 2009
New Revision: 76726
URL: http://llvm.org/viewvc/llvm-project?rev=76726&view=rev
Log:
Make vectorized floating-point comparisons work without crashing.
Modified:
cfe/trunk/lib/CodeGen/CGExprScalar.cpp
cfe/trunk/test/CodeGen/ext-vector.c
Modified: cfe/trunk/lib/CodeGen/CGExprScalar.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGExprScalar.cpp?rev=76726&r1=76725&r2=76726&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGExprScalar.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGExprScalar.cpp Wed Jul 22 01:07:16 2009
@@ -1215,7 +1215,7 @@
Value *LHS = Visit(E->getLHS());
Value *RHS = Visit(E->getRHS());
- if (LHS->getType()->isFloatingPoint()) {
+ if (LHS->getType()->isFPOrFPVector()) {
Result = Builder.CreateFCmp((llvm::CmpInst::Predicate)FCmpOpc,
LHS, RHS, "cmp");
} else if (LHSTy->isSignedIntegerType()) {
Modified: cfe/trunk/test/CodeGen/ext-vector.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/ext-vector.c?rev=76726&r1=76725&r2=76726&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/ext-vector.c (original)
+++ cfe/trunk/test/CodeGen/ext-vector.c Wed Jul 22 01:07:16 2009
@@ -124,3 +124,17 @@
cmp = a == b;
cmp = a != b;
}
+
+void test8(float4 *ap, float4 *bp, int c) {
+ float4 a = *ap;
+ float4 b = *bp;
+
+ // Vector comparisons.
+ int4 cmp;
+ cmp = a < b;
+ cmp = a <= b;
+ cmp = a < b;
+ cmp = a >= b;
+ cmp = a == b;
+ cmp = a != b;
+}
More information about the cfe-commits
mailing list