summaryrefslogtreecommitdiff
path: root/test/Transforms/ConstProp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2012-01-27 01:44:03 +0000
committerChris Lattner <sabre@nondot.org>2012-01-27 01:44:03 +0000
commitf983da030e8295ae0f9a74d1185f999485f792b3 (patch)
treec033072ddf8ee19c88d4a40ab993493c9a1f6436 /test/Transforms/ConstProp
parentcb5dca38157a48c734660746e7f7340d5db7c2db (diff)
downloadllvm-f983da030e8295ae0f9a74d1185f999485f792b3.tar.gz
llvm-f983da030e8295ae0f9a74d1185f999485f792b3.tar.bz2
llvm-f983da030e8295ae0f9a74d1185f999485f792b3.tar.xz
enhance constant folding to be able to constant fold bitcast of
ConstantVector's to integer type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149110 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/ConstProp')
-rw-r--r--test/Transforms/ConstProp/basictest.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/ConstProp/basictest.ll b/test/Transforms/ConstProp/basictest.ll
index d0d0a5bb33..09e6e7db43 100644
--- a/test/Transforms/ConstProp/basictest.ll
+++ b/test/Transforms/ConstProp/basictest.ll
@@ -1,5 +1,8 @@
; RUN: opt < %s -constprop -die -S | FileCheck %s
+target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.7.2"
+
; This is a basic sanity check for constant propagation. The add instruction
; should be eliminated.
define i32 @test1(i1 %B) {
@@ -40,3 +43,11 @@ define i1 @TNAN() {
%C = or i1 %A, %B
ret i1 %C
}
+
+define i128 @vector_to_int_cast() {
+ %A = bitcast <4 x i32> <i32 1073741824, i32 1073741824, i32 1073741824, i32 1073741824> to i128
+ ret i128 %A
+; CHECK: @vector_to_int_cast
+; CHECK: ret i128 85070591750041656499021422275829170176
+}
+ \ No newline at end of file