blob: ef428894e72489e69e5ac67b897c2b45e7309d50 [file] [log] [blame]
Nadav Rotem27b848a2011-02-13 15:45:34 +00001; RUN: opt < %s -instcombine -S | FileCheck %s
Nadav Rotem10134c32011-02-11 19:37:55 +00002
Nadav Rotem27b848a2011-02-13 15:45:34 +00003; CHECK: @a
4; CHECK-NOT: bitcast
5; CHECK: ret
Nadav Rotem10134c32011-02-11 19:37:55 +00006define <4 x i32> @a(<1 x i64> %y) {
7 %c = bitcast <2 x i64> <i64 0, i64 0> to <4 x i32>
8 ret <4 x i32> %c
9}
10
Nadav Rotem27b848a2011-02-13 15:45:34 +000011; CHECK: @b
12; CHECK: bitcast
13; CHECK: ret
14
Nadav Rotem10134c32011-02-11 19:37:55 +000015define <4 x i32> @b(<1 x i64> %y) {
16 %c = bitcast <2 x i64> <i64 -1, i64 -1> to <4 x i32>
17 ret <4 x i32> %c
18}
19
Nadav Rotem27b848a2011-02-13 15:45:34 +000020; CHECK: @foo
21; CHECK: bitcast
22
23; from MultiSource/Benchmarks/Bullet
24define <2 x float> @foo() {
25 %cast = bitcast i64 -1 to <2 x float>
26 ret <2 x float> %cast
27}
28
Nadav Rotem10134c32011-02-11 19:37:55 +000029
30