diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-01-27 23:33:07 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-01-27 23:33:07 +0000 |
commit | 04594aeffa3360882eb09a888a0970321b987b16 (patch) | |
tree | eff7f045ec9900682ce59a374960799be389313c /test | |
parent | 0c6e1778817ac97b42af1375ec6bfae8b65e9d76 (diff) | |
download | external_llvm-04594aeffa3360882eb09a888a0970321b987b16.zip external_llvm-04594aeffa3360882eb09a888a0970321b987b16.tar.gz external_llvm-04594aeffa3360882eb09a888a0970321b987b16.tar.bz2 |
Add r149110 back with a fix for when the vector and the int have the same
width.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149151 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/constant-pool-sharing.ll | 5 | ||||
-rw-r--r-- | test/Transforms/ConstProp/basictest.ll | 11 | ||||
-rw-r--r-- | test/Transforms/InstCombine/icmp.ll | 11 |
3 files changed, 18 insertions, 9 deletions
diff --git a/test/CodeGen/X86/constant-pool-sharing.ll b/test/CodeGen/X86/constant-pool-sharing.ll index a672cc2..f979945 100644 --- a/test/CodeGen/X86/constant-pool-sharing.ll +++ b/test/CodeGen/X86/constant-pool-sharing.ll @@ -1,6 +1,5 @@ -; RUN-disable: llc < %s -mtriple=x86_64-linux | FileCheck %s -; RUN-disable: llc < %s -mtriple=x86_64-win32 | FileCheck %s -; RUN: true +; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s +; RUN: llc < %s -mtriple=x86_64-win32 | FileCheck %s ; llc should share constant pool entries between this integer vector ; and this floating-point vector since they have the same encoding. diff --git a/test/Transforms/ConstProp/basictest.ll b/test/Transforms/ConstProp/basictest.ll index d0d0a5b..09e6e7d 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 diff --git a/test/Transforms/InstCombine/icmp.ll b/test/Transforms/InstCombine/icmp.ll index 63cbeb7..1652e71 100644 --- a/test/Transforms/InstCombine/icmp.ll +++ b/test/Transforms/InstCombine/icmp.ll @@ -121,8 +121,8 @@ define i1 @test12(i1 %A) { %B = icmp ne i64 bitcast (<2 x i32> <i32 1, i32 -1> to i64), %S ret i1 %B ; CHECK: @test12 -; CHECK-NEXT: %B = select i1 -; CHECK-NEXT: ret i1 %B +; CHECK-NEXT: = xor i1 %A, true +; CHECK-NEXT: ret i1 } ; PR6481 @@ -581,12 +581,11 @@ define zeroext i1 @cmpabs2(i64 %val) { ret i1 %tobool } -; test that we don't crash ; CHECK: @test58 +; CHECK-NEXT: call i32 @test58_d(i64 36029346783166592) define void @test58() nounwind { -entry: - %0 = bitcast <1 x i64> <i64 36029346783166592> to i64 - %call = call i32 @test58_d( i64 %0) nounwind + %cast = bitcast <1 x i64> <i64 36029346783166592> to i64 + %call = call i32 @test58_d( i64 %cast) nounwind ret void } declare i32 @test58_d(i64) |