summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Generic
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-29 03:45:07 +0000
committerChris Lattner <sabre@nondot.org>2009-04-29 03:45:07 +0000
commit7d10386113407f7dc88fcfe9e5a01135ebb997ec (patch)
tree5dcffba191c275750acffb8818647ecdeb2f66e2 /llvm/test/CodeGen/Generic
parent892a5f78eb28abaf4c03cdefd406b69ca03a300f (diff)
downloadbcm5719-llvm-7d10386113407f7dc88fcfe9e5a01135ebb997ec.tar.gz
bcm5719-llvm-7d10386113407f7dc88fcfe9e5a01135ebb997ec.zip
Disable the load-shrinking optimization from looking at
anything larger than 64-bits, avoiding a crash. This should really be fixed to use APInts, though type legalization happens to help us out and we get good code on the attached testcase at least. This fixes rdar://6836460 llvm-svn: 70360
Diffstat (limited to 'llvm/test/CodeGen/Generic')
-rw-r--r--llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll b/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll
new file mode 100644
index 00000000000..405a6a8d6e9
--- /dev/null
+++ b/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll
@@ -0,0 +1,16 @@
+; RUN: llvm-as < %s | llc
+; rdar://6836460
+
+define i32 @test(i128* %P) nounwind {
+entry:
+ %tmp48 = load i128* %P
+ %and49 = and i128 %tmp48, 18446744073709551616 ; <i128> [#uses=1]
+ %tobool = icmp ne i128 %and49, 0 ; <i1> [#uses=1]
+ br i1 %tobool, label %if.then50, label %if.end61
+
+if.then50: ; preds = %if.then20
+ ret i32 1241
+
+if.end61: ; preds = %if.then50, %if.then20, %entry
+ ret i32 123
+}
OpenPOWER on IntegriCloud