Add a triple to switch.ll test.
[oota-llvm.git] / test / CodeGen / X86 / vec_cast.ll
1 ; RUN: llc < %s -mtriple=x86_64-linux -mcpu=core2
2 ; RUN: llc < %s -mtriple=x86_64-win32 -mcpu=core2
3
4 define <8 x i32> @a(<8 x i16> %a) nounwind {
5   %c = sext <8 x i16> %a to <8 x i32>
6   ret <8 x i32> %c
7 }
8
9 ;define <3 x i32> @b(<3 x i16> %a) nounwind {
10 ;  %c = sext <3 x i16> %a to <3 x i32>
11 ;  ret <3 x i32> %c
12 ;}
13
14 define <1 x i32> @c(<1 x i16> %a) nounwind {
15   %c = sext <1 x i16> %a to <1 x i32>
16   ret <1 x i32> %c
17 }
18
19 define <8 x i32> @d(<8 x i16> %a) nounwind {
20   %c = zext <8 x i16> %a to <8 x i32>
21   ret <8 x i32> %c
22 }
23
24 ;define <3 x i32> @e(<3 x i16> %a) nounwind {
25 ;  %c = zext <3 x i16> %a to <3 x i32>
26 ;  ret <3 x i32> %c
27 ;}
28
29 define <1 x i32> @f(<1 x i16> %a) nounwind {
30   %c = zext <1 x i16> %a to <1 x i32>
31   ret <1 x i32> %c
32 }
33
34 define <8 x i16> @g(<8 x i32> %a) nounwind {
35   %c = trunc <8 x i32> %a to <8 x i16>
36   ret <8 x i16> %c
37 }
38
39 define <3 x i16> @h(<3 x i32> %a) nounwind {
40   %c = trunc <3 x i32> %a to <3 x i16>
41   ret <3 x i16> %c
42 }
43
44 define <1 x i16> @i(<1 x i32> %a) nounwind {
45   %c = trunc <1 x i32> %a to <1 x i16>
46   ret <1 x i16> %c
47 }
48
49 ; PR6438
50 define void @__OpenCL_math_kernel4_kernel() nounwind {
51   %tmp12.i = and <4 x i32> zeroinitializer, <i32 2139095040, i32 2139095040, i32 2139095040, i32 2139095040> ; <<4 x i32>> [#uses=1]
52   %cmp13.i = icmp eq <4 x i32> %tmp12.i, <i32 2139095040, i32 2139095040, i32 2139095040, i32 2139095040> ; <<4 x i1>> [#uses=2]
53   %cmp.ext14.i = sext <4 x i1> %cmp13.i to <4 x i32> ; <<4 x i32>> [#uses=0]
54   %tmp2110.i = and <4 x i1> %cmp13.i, zeroinitializer ; <<4 x i1>> [#uses=0]
55   ret void
56 }