~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/ExecutionEngine/test-interp-vec-select.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: %lli -force-interpreter=true %s > /dev/null
 
2
 
 
3
define i32 @main() {
 
4
 
 
5
  ; Vector values
 
6
  %a2_i8 = add <2 x i8> zeroinitializer, <i8 0, i8 1>
 
7
  %a3_i8 = add <3 x i8> zeroinitializer, <i8 0, i8 1, i8 2>
 
8
  %a4_i8 = add <4 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3>
 
9
  %a8_i8 = add <8 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7>
 
10
  %a16_i8 = add <16 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>
 
11
 
 
12
  %a2_i16 = add <2 x i16> zeroinitializer, <i16 0, i16 1>
 
13
  %a3_i16 = add <3 x i16> zeroinitializer, <i16 0, i16 1, i16 2>
 
14
  %a4_i16 = add <4 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3>
 
15
  %a8_i16 = add <8 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>
 
16
  %a16_i16 = add <16 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15>
 
17
 
 
18
  %a2_i32 = add <2 x i32> zeroinitializer, <i32 0, i32 1>
 
19
  %a3_i32 = add <3 x i32> zeroinitializer, <i32 0, i32 1, i32 2>
 
20
  %a4_i32 = add <4 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3>
 
21
  %a8_i32 = add <8 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
 
22
  %a16_i32 = add <16 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
 
23
 
 
24
  %a2_i64 = add <2 x i64> zeroinitializer, <i64 0, i64 1>
 
25
  %a3_i64 = add <3 x i64> zeroinitializer, <i64 0, i64 1, i64 2>
 
26
  %a4_i64 = add <4 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3>
 
27
  %a8_i64 = add <8 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7>
 
28
  %a16_i64 = add <16 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15>
 
29
 
 
30
  %a2_float = fadd <2 x float> zeroinitializer, <float 0.0, float 1.0>
 
31
  %a3_float = fadd <3 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0>
 
32
  %a4_float = fadd <4 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0>
 
33
  %a8_float = fadd <8 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, float 6.0, float 7.0>
 
34
  %a16_float = fadd <16 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, float 11.0, float 12.0, float 13.0, float 14.0, float 15.0>
 
35
 
 
36
  %a2_double = fadd <2 x double> zeroinitializer, <double 0.0, double 1.0>
 
37
  %a3_double = fadd <3 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0>
 
38
  %a4_double = fadd <4 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0>
 
39
  %a8_double = fadd <8 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0, double 4.0, double 5.0, double 6.0, double 7.0>
 
40
  %a16_double = fadd <16 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0, double 4.0, double 5.0, double 6.0, double 7.0, double 8.0, double 9.0, double 10.0, double 11.0, double 12.0, double 13.0, double 14.0, double 15.0>
 
41
 
 
42
  %b2_i8  = sub <2 x i8> zeroinitializer, %a2_i8
 
43
  %b3_i8  = sub <3 x i8> zeroinitializer, %a3_i8
 
44
  %b4_i8  = sub <4 x i8> zeroinitializer, %a4_i8
 
45
  %b8_i8  = sub <8 x i8> zeroinitializer, %a8_i8
 
46
  %b16_i8 = sub <16 x i8> zeroinitializer, %a16_i8
 
47
 
 
48
  %b2_i16  = sub <2 x i16> zeroinitializer, %a2_i16
 
49
  %b3_i16  = sub <3 x i16> zeroinitializer, %a3_i16
 
50
  %b4_i16  = sub <4 x i16> zeroinitializer, %a4_i16
 
51
  %b8_i16  = sub <8 x i16> zeroinitializer, %a8_i16
 
52
  %b16_i16 = sub <16 x i16> zeroinitializer, %a16_i16
 
53
 
 
54
  %b2_i32  = sub <2 x i32> zeroinitializer, %a2_i32
 
55
  %b3_i32  = sub <3 x i32> zeroinitializer, %a3_i32
 
56
  %b4_i32  = sub <4 x i32> zeroinitializer, %a4_i32
 
57
  %b8_i32  = sub <8 x i32> zeroinitializer, %a8_i32
 
58
  %b16_i32 = sub <16 x i32> zeroinitializer, %a16_i32
 
59
 
 
60
  %b2_i64  = sub <2 x i64> zeroinitializer, %a2_i64
 
61
  %b3_i64  = sub <3 x i64> zeroinitializer, %a3_i64
 
62
  %b4_i64  = sub <4 x i64> zeroinitializer, %a4_i64
 
63
  %b8_i64  = sub <8 x i64> zeroinitializer, %a8_i64
 
64
  %b16_i64 = sub <16 x i64> zeroinitializer, %a16_i64
 
65
 
 
66
  %b2_float  = fsub <2 x float> zeroinitializer, %a2_float
 
67
  %b3_float  = fsub <3 x float> zeroinitializer, %a3_float
 
68
  %b4_float  = fsub <4 x float> zeroinitializer, %a4_float
 
69
  %b8_float  = fsub <8 x float> zeroinitializer, %a8_float
 
70
  %b16_float = fsub <16 x float> zeroinitializer, %a16_float
 
71
 
 
72
  %b2_double  = fsub <2 x double> zeroinitializer, %a2_double
 
73
  %b3_double  = fsub <3 x double> zeroinitializer, %a3_double
 
74
  %b4_double  = fsub <4 x double> zeroinitializer, %a4_double
 
75
  %b8_double  = fsub <8 x double> zeroinitializer, %a8_double
 
76
  %b16_double = fsub <16 x double> zeroinitializer, %a16_double
 
77
 
 
78
 
 
79
 
 
80
  %v0 = select <2 x i1> <i1 true, i1 false>, <2 x i8> %a2_i8, <2 x i8> %b2_i8
 
81
  %v1 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i8> %a3_i8, <3 x i8> %b3_i8
 
82
  %v2 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i8> %a4_i8, <4 x i8> %b4_i8
 
83
  %v3 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i8> %a8_i8, <8 x i8> %b8_i8
 
84
  %v4 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i8> %a16_i8, <16 x i8> %b16_i8
 
85
 
 
86
  %v5 = select <2 x i1> <i1 true, i1 false>, <2 x i16> %a2_i16, <2 x i16> %b2_i16
 
87
  %v6 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i16> %a3_i16, <3 x i16> %b3_i16
 
88
  %v7 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i16> %a4_i16, <4 x i16> %b4_i16
 
89
  %v8 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i16> %a8_i16, <8 x i16> %b8_i16
 
90
  %v9 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i16> %a16_i16, <16 x i16> %b16_i16
 
91
 
 
92
  %v10 = select <2 x i1> <i1 true, i1 false>, <2 x i32> %a2_i32, <2 x i32> %b2_i32
 
93
  %v11 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i32> %a3_i32, <3 x i32> %b3_i32
 
94
  %v12 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> %a4_i32, <4 x i32> %b4_i32
 
95
  %v13 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i32> %a8_i32, <8 x i32> %b8_i32
 
96
  %v14 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i32> %a16_i32, <16 x i32> %b16_i32
 
97
 
 
98
  %v15 = select <2 x i1> <i1 true, i1 false>, <2 x i64> %a2_i64, <2 x i64> %b2_i64
 
99
  %v16 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i64> %a3_i64, <3 x i64> %b3_i64
 
100
  %v17 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i64> %a4_i64, <4 x i64> %b4_i64
 
101
  %v18 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i64> %a8_i64, <8 x i64> %b8_i64
 
102
  %v19 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i64> %a16_i64, <16 x i64> %b16_i64
 
103
 
 
104
  %v20 = select <2 x i1> <i1 true, i1 false>, <2 x float> %a2_float, <2 x float> %b2_float
 
105
  %v21 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x float> %a3_float, <3 x float> %b3_float
 
106
  %v22 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x float> %a4_float, <4 x float> %b4_float
 
107
  %v23 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x float> %a8_float, <8 x float> %b8_float
 
108
  %v24 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x float> %a16_float, <16 x float> %b16_float
 
109
 
 
110
  %v25 = select <2 x i1> <i1 true, i1 false>, <2 x double> %a2_double, <2 x double> %b2_double
 
111
  %v26 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x double> %a3_double, <3 x double> %b3_double
 
112
  %v27 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x double> %a4_double, <4 x double> %b4_double
 
113
  %v28 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x double> %a8_double, <8 x double> %b8_double
 
114
  %v29 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x double> %a16_double, <16 x double> %b16_double
 
115
 
 
116
 
 
117
  ret i32 0
 
118
}