Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: tests_lit/reader_tests/insertextract.ll

Issue 1387963002: Make sure that all globals are internal, except for "start" functions. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix new tests. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/reader_tests/globalrelocs.ll ('k') | tests_lit/reader_tests/load.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; Tests insertelement and extractelement vector instructions. 1 ; Tests insertelement and extractelement vector instructions.
2 2
3 ; RUN: %p2i -i %s --insts | FileCheck %s 3 ; RUN: %p2i -i %s --insts | FileCheck %s
4 ; RUN: %l2i -i %s --insts | %ifl FileCheck %s 4 ; RUN: %l2i -i %s --insts | %ifl FileCheck %s
5 ; RUN: %lc2i -i %s --insts | %iflc FileCheck %s 5 ; RUN: %lc2i -i %s --insts | %iflc FileCheck %s
6 ; RUN: %if --need=allow_disable_ir_gen --command \ 6 ; RUN: %if --need=allow_disable_ir_gen --command \
7 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \ 7 ; RUN: %p2i -i %s --args -notranslate -timing -no-ir-gen \
8 ; RUN: | %if --need=allow_disable_ir_gen --command \ 8 ; RUN: | %if --need=allow_disable_ir_gen --command \
9 ; RUN: FileCheck --check-prefix=NOIR %s 9 ; RUN: FileCheck --check-prefix=NOIR %s
10 10
11 define void @ExtractV4xi1(<4 x i1> %v) { 11 define internal void @ExtractV4xi1(<4 x i1> %v) {
12 entry: 12 entry:
13 %e0 = extractelement <4 x i1> %v, i32 0 13 %e0 = extractelement <4 x i1> %v, i32 0
14 %e1 = extractelement <4 x i1> %v, i32 1 14 %e1 = extractelement <4 x i1> %v, i32 1
15 %e2 = extractelement <4 x i1> %v, i32 2 15 %e2 = extractelement <4 x i1> %v, i32 2
16 %e3 = extractelement <4 x i1> %v, i32 3 16 %e3 = extractelement <4 x i1> %v, i32 3
17 ret void 17 ret void
18 } 18 }
19 19
20 ; CHECK: define void @ExtractV4xi1(<4 x i1> %v) { 20 ; CHECK: define internal void @ExtractV4xi1(<4 x i1> %v) {
21 ; CHECK-NEXT: entry: 21 ; CHECK-NEXT: entry:
22 ; CHECK-NEXT: %e0 = extractelement <4 x i1> %v, i32 0 22 ; CHECK-NEXT: %e0 = extractelement <4 x i1> %v, i32 0
23 ; CHECK-NEXT: %e1 = extractelement <4 x i1> %v, i32 1 23 ; CHECK-NEXT: %e1 = extractelement <4 x i1> %v, i32 1
24 ; CHECK-NEXT: %e2 = extractelement <4 x i1> %v, i32 2 24 ; CHECK-NEXT: %e2 = extractelement <4 x i1> %v, i32 2
25 ; CHECK-NEXT: %e3 = extractelement <4 x i1> %v, i32 3 25 ; CHECK-NEXT: %e3 = extractelement <4 x i1> %v, i32 3
26 ; CHECK-NEXT: ret void 26 ; CHECK-NEXT: ret void
27 ; CHECK-NEXT: } 27 ; CHECK-NEXT: }
28 28
29 define void @ExtractV8xi1(<8 x i1> %v) { 29 define internal void @ExtractV8xi1(<8 x i1> %v) {
30 entry: 30 entry:
31 %e0 = extractelement <8 x i1> %v, i32 0 31 %e0 = extractelement <8 x i1> %v, i32 0
32 %e1 = extractelement <8 x i1> %v, i32 1 32 %e1 = extractelement <8 x i1> %v, i32 1
33 %e2 = extractelement <8 x i1> %v, i32 2 33 %e2 = extractelement <8 x i1> %v, i32 2
34 %e3 = extractelement <8 x i1> %v, i32 3 34 %e3 = extractelement <8 x i1> %v, i32 3
35 %e4 = extractelement <8 x i1> %v, i32 4 35 %e4 = extractelement <8 x i1> %v, i32 4
36 %e5 = extractelement <8 x i1> %v, i32 5 36 %e5 = extractelement <8 x i1> %v, i32 5
37 %e6 = extractelement <8 x i1> %v, i32 6 37 %e6 = extractelement <8 x i1> %v, i32 6
38 %e7 = extractelement <8 x i1> %v, i32 7 38 %e7 = extractelement <8 x i1> %v, i32 7
39 ret void 39 ret void
40 } 40 }
41 41
42 ; CHECK-NEXT: define void @ExtractV8xi1(<8 x i1> %v) { 42 ; CHECK-NEXT: define internal void @ExtractV8xi1(<8 x i1> %v) {
43 ; CHECK-NEXT: entry: 43 ; CHECK-NEXT: entry:
44 ; CHECK-NEXT: %e0 = extractelement <8 x i1> %v, i32 0 44 ; CHECK-NEXT: %e0 = extractelement <8 x i1> %v, i32 0
45 ; CHECK-NEXT: %e1 = extractelement <8 x i1> %v, i32 1 45 ; CHECK-NEXT: %e1 = extractelement <8 x i1> %v, i32 1
46 ; CHECK-NEXT: %e2 = extractelement <8 x i1> %v, i32 2 46 ; CHECK-NEXT: %e2 = extractelement <8 x i1> %v, i32 2
47 ; CHECK-NEXT: %e3 = extractelement <8 x i1> %v, i32 3 47 ; CHECK-NEXT: %e3 = extractelement <8 x i1> %v, i32 3
48 ; CHECK-NEXT: %e4 = extractelement <8 x i1> %v, i32 4 48 ; CHECK-NEXT: %e4 = extractelement <8 x i1> %v, i32 4
49 ; CHECK-NEXT: %e5 = extractelement <8 x i1> %v, i32 5 49 ; CHECK-NEXT: %e5 = extractelement <8 x i1> %v, i32 5
50 ; CHECK-NEXT: %e6 = extractelement <8 x i1> %v, i32 6 50 ; CHECK-NEXT: %e6 = extractelement <8 x i1> %v, i32 6
51 ; CHECK-NEXT: %e7 = extractelement <8 x i1> %v, i32 7 51 ; CHECK-NEXT: %e7 = extractelement <8 x i1> %v, i32 7
52 ; CHECK-NEXT: ret void 52 ; CHECK-NEXT: ret void
53 ; CHECK-NEXT: } 53 ; CHECK-NEXT: }
54 54
55 define void @ExtractV16xi1(<16 x i1> %v) { 55 define internal void @ExtractV16xi1(<16 x i1> %v) {
56 entry: 56 entry:
57 %e0 = extractelement <16 x i1> %v, i32 0 57 %e0 = extractelement <16 x i1> %v, i32 0
58 %e1 = extractelement <16 x i1> %v, i32 1 58 %e1 = extractelement <16 x i1> %v, i32 1
59 %e2 = extractelement <16 x i1> %v, i32 2 59 %e2 = extractelement <16 x i1> %v, i32 2
60 %e3 = extractelement <16 x i1> %v, i32 3 60 %e3 = extractelement <16 x i1> %v, i32 3
61 %e4 = extractelement <16 x i1> %v, i32 4 61 %e4 = extractelement <16 x i1> %v, i32 4
62 %e5 = extractelement <16 x i1> %v, i32 5 62 %e5 = extractelement <16 x i1> %v, i32 5
63 %e6 = extractelement <16 x i1> %v, i32 6 63 %e6 = extractelement <16 x i1> %v, i32 6
64 %e7 = extractelement <16 x i1> %v, i32 7 64 %e7 = extractelement <16 x i1> %v, i32 7
65 %e8 = extractelement <16 x i1> %v, i32 8 65 %e8 = extractelement <16 x i1> %v, i32 8
66 %e9 = extractelement <16 x i1> %v, i32 9 66 %e9 = extractelement <16 x i1> %v, i32 9
67 %e10 = extractelement <16 x i1> %v, i32 10 67 %e10 = extractelement <16 x i1> %v, i32 10
68 %e11 = extractelement <16 x i1> %v, i32 11 68 %e11 = extractelement <16 x i1> %v, i32 11
69 %e12 = extractelement <16 x i1> %v, i32 12 69 %e12 = extractelement <16 x i1> %v, i32 12
70 %e13 = extractelement <16 x i1> %v, i32 13 70 %e13 = extractelement <16 x i1> %v, i32 13
71 %e14 = extractelement <16 x i1> %v, i32 14 71 %e14 = extractelement <16 x i1> %v, i32 14
72 %e15 = extractelement <16 x i1> %v, i32 15 72 %e15 = extractelement <16 x i1> %v, i32 15
73 ret void 73 ret void
74 } 74 }
75 75
76 ; CHECK-NEXT: define void @ExtractV16xi1(<16 x i1> %v) { 76 ; CHECK-NEXT: define internal void @ExtractV16xi1(<16 x i1> %v) {
77 ; CHECK-NEXT: entry: 77 ; CHECK-NEXT: entry:
78 ; CHECK-NEXT: %e0 = extractelement <16 x i1> %v, i32 0 78 ; CHECK-NEXT: %e0 = extractelement <16 x i1> %v, i32 0
79 ; CHECK-NEXT: %e1 = extractelement <16 x i1> %v, i32 1 79 ; CHECK-NEXT: %e1 = extractelement <16 x i1> %v, i32 1
80 ; CHECK-NEXT: %e2 = extractelement <16 x i1> %v, i32 2 80 ; CHECK-NEXT: %e2 = extractelement <16 x i1> %v, i32 2
81 ; CHECK-NEXT: %e3 = extractelement <16 x i1> %v, i32 3 81 ; CHECK-NEXT: %e3 = extractelement <16 x i1> %v, i32 3
82 ; CHECK-NEXT: %e4 = extractelement <16 x i1> %v, i32 4 82 ; CHECK-NEXT: %e4 = extractelement <16 x i1> %v, i32 4
83 ; CHECK-NEXT: %e5 = extractelement <16 x i1> %v, i32 5 83 ; CHECK-NEXT: %e5 = extractelement <16 x i1> %v, i32 5
84 ; CHECK-NEXT: %e6 = extractelement <16 x i1> %v, i32 6 84 ; CHECK-NEXT: %e6 = extractelement <16 x i1> %v, i32 6
85 ; CHECK-NEXT: %e7 = extractelement <16 x i1> %v, i32 7 85 ; CHECK-NEXT: %e7 = extractelement <16 x i1> %v, i32 7
86 ; CHECK-NEXT: %e8 = extractelement <16 x i1> %v, i32 8 86 ; CHECK-NEXT: %e8 = extractelement <16 x i1> %v, i32 8
87 ; CHECK-NEXT: %e9 = extractelement <16 x i1> %v, i32 9 87 ; CHECK-NEXT: %e9 = extractelement <16 x i1> %v, i32 9
88 ; CHECK-NEXT: %e10 = extractelement <16 x i1> %v, i32 10 88 ; CHECK-NEXT: %e10 = extractelement <16 x i1> %v, i32 10
89 ; CHECK-NEXT: %e11 = extractelement <16 x i1> %v, i32 11 89 ; CHECK-NEXT: %e11 = extractelement <16 x i1> %v, i32 11
90 ; CHECK-NEXT: %e12 = extractelement <16 x i1> %v, i32 12 90 ; CHECK-NEXT: %e12 = extractelement <16 x i1> %v, i32 12
91 ; CHECK-NEXT: %e13 = extractelement <16 x i1> %v, i32 13 91 ; CHECK-NEXT: %e13 = extractelement <16 x i1> %v, i32 13
92 ; CHECK-NEXT: %e14 = extractelement <16 x i1> %v, i32 14 92 ; CHECK-NEXT: %e14 = extractelement <16 x i1> %v, i32 14
93 ; CHECK-NEXT: %e15 = extractelement <16 x i1> %v, i32 15 93 ; CHECK-NEXT: %e15 = extractelement <16 x i1> %v, i32 15
94 ; CHECK-NEXT: ret void 94 ; CHECK-NEXT: ret void
95 ; CHECK-NEXT: } 95 ; CHECK-NEXT: }
96 96
97 define void @ExtractV16xi8(<16 x i8> %v, i32 %i) { 97 define internal void @ExtractV16xi8(<16 x i8> %v, i32 %i) {
98 entry: 98 entry:
99 %e0 = extractelement <16 x i8> %v, i32 0 99 %e0 = extractelement <16 x i8> %v, i32 0
100 %e1 = extractelement <16 x i8> %v, i32 1 100 %e1 = extractelement <16 x i8> %v, i32 1
101 %e2 = extractelement <16 x i8> %v, i32 2 101 %e2 = extractelement <16 x i8> %v, i32 2
102 %e3 = extractelement <16 x i8> %v, i32 3 102 %e3 = extractelement <16 x i8> %v, i32 3
103 %e4 = extractelement <16 x i8> %v, i32 4 103 %e4 = extractelement <16 x i8> %v, i32 4
104 %e5 = extractelement <16 x i8> %v, i32 5 104 %e5 = extractelement <16 x i8> %v, i32 5
105 %e6 = extractelement <16 x i8> %v, i32 6 105 %e6 = extractelement <16 x i8> %v, i32 6
106 %e7 = extractelement <16 x i8> %v, i32 7 106 %e7 = extractelement <16 x i8> %v, i32 7
107 %e8 = extractelement <16 x i8> %v, i32 8 107 %e8 = extractelement <16 x i8> %v, i32 8
108 %e9 = extractelement <16 x i8> %v, i32 9 108 %e9 = extractelement <16 x i8> %v, i32 9
109 %e10 = extractelement <16 x i8> %v, i32 10 109 %e10 = extractelement <16 x i8> %v, i32 10
110 %e11 = extractelement <16 x i8> %v, i32 11 110 %e11 = extractelement <16 x i8> %v, i32 11
111 %e12 = extractelement <16 x i8> %v, i32 12 111 %e12 = extractelement <16 x i8> %v, i32 12
112 %e13 = extractelement <16 x i8> %v, i32 13 112 %e13 = extractelement <16 x i8> %v, i32 13
113 %e14 = extractelement <16 x i8> %v, i32 14 113 %e14 = extractelement <16 x i8> %v, i32 14
114 %e15 = extractelement <16 x i8> %v, i32 15 114 %e15 = extractelement <16 x i8> %v, i32 15
115 ret void 115 ret void
116 } 116 }
117 117
118 ; CHECK-NEXT: define void @ExtractV16xi8(<16 x i8> %v, i32 %i) { 118 ; CHECK-NEXT: define internal void @ExtractV16xi8(<16 x i8> %v, i32 %i) {
119 ; CHECK-NEXT: entry: 119 ; CHECK-NEXT: entry:
120 ; CHECK-NEXT: %e0 = extractelement <16 x i8> %v, i32 0 120 ; CHECK-NEXT: %e0 = extractelement <16 x i8> %v, i32 0
121 ; CHECK-NEXT: %e1 = extractelement <16 x i8> %v, i32 1 121 ; CHECK-NEXT: %e1 = extractelement <16 x i8> %v, i32 1
122 ; CHECK-NEXT: %e2 = extractelement <16 x i8> %v, i32 2 122 ; CHECK-NEXT: %e2 = extractelement <16 x i8> %v, i32 2
123 ; CHECK-NEXT: %e3 = extractelement <16 x i8> %v, i32 3 123 ; CHECK-NEXT: %e3 = extractelement <16 x i8> %v, i32 3
124 ; CHECK-NEXT: %e4 = extractelement <16 x i8> %v, i32 4 124 ; CHECK-NEXT: %e4 = extractelement <16 x i8> %v, i32 4
125 ; CHECK-NEXT: %e5 = extractelement <16 x i8> %v, i32 5 125 ; CHECK-NEXT: %e5 = extractelement <16 x i8> %v, i32 5
126 ; CHECK-NEXT: %e6 = extractelement <16 x i8> %v, i32 6 126 ; CHECK-NEXT: %e6 = extractelement <16 x i8> %v, i32 6
127 ; CHECK-NEXT: %e7 = extractelement <16 x i8> %v, i32 7 127 ; CHECK-NEXT: %e7 = extractelement <16 x i8> %v, i32 7
128 ; CHECK-NEXT: %e8 = extractelement <16 x i8> %v, i32 8 128 ; CHECK-NEXT: %e8 = extractelement <16 x i8> %v, i32 8
129 ; CHECK-NEXT: %e9 = extractelement <16 x i8> %v, i32 9 129 ; CHECK-NEXT: %e9 = extractelement <16 x i8> %v, i32 9
130 ; CHECK-NEXT: %e10 = extractelement <16 x i8> %v, i32 10 130 ; CHECK-NEXT: %e10 = extractelement <16 x i8> %v, i32 10
131 ; CHECK-NEXT: %e11 = extractelement <16 x i8> %v, i32 11 131 ; CHECK-NEXT: %e11 = extractelement <16 x i8> %v, i32 11
132 ; CHECK-NEXT: %e12 = extractelement <16 x i8> %v, i32 12 132 ; CHECK-NEXT: %e12 = extractelement <16 x i8> %v, i32 12
133 ; CHECK-NEXT: %e13 = extractelement <16 x i8> %v, i32 13 133 ; CHECK-NEXT: %e13 = extractelement <16 x i8> %v, i32 13
134 ; CHECK-NEXT: %e14 = extractelement <16 x i8> %v, i32 14 134 ; CHECK-NEXT: %e14 = extractelement <16 x i8> %v, i32 14
135 ; CHECK-NEXT: %e15 = extractelement <16 x i8> %v, i32 15 135 ; CHECK-NEXT: %e15 = extractelement <16 x i8> %v, i32 15
136 ; CHECK-NEXT: ret void 136 ; CHECK-NEXT: ret void
137 ; CHECK-NEXT: } 137 ; CHECK-NEXT: }
138 138
139 define void @ExtractV8xi16(<8 x i16> %v) { 139 define internal void @ExtractV8xi16(<8 x i16> %v) {
140 entry: 140 entry:
141 %e0 = extractelement <8 x i16> %v, i32 0 141 %e0 = extractelement <8 x i16> %v, i32 0
142 %e1 = extractelement <8 x i16> %v, i32 1 142 %e1 = extractelement <8 x i16> %v, i32 1
143 %e2 = extractelement <8 x i16> %v, i32 2 143 %e2 = extractelement <8 x i16> %v, i32 2
144 %e3 = extractelement <8 x i16> %v, i32 3 144 %e3 = extractelement <8 x i16> %v, i32 3
145 %e4 = extractelement <8 x i16> %v, i32 4 145 %e4 = extractelement <8 x i16> %v, i32 4
146 %e5 = extractelement <8 x i16> %v, i32 5 146 %e5 = extractelement <8 x i16> %v, i32 5
147 %e6 = extractelement <8 x i16> %v, i32 6 147 %e6 = extractelement <8 x i16> %v, i32 6
148 %e7 = extractelement <8 x i16> %v, i32 7 148 %e7 = extractelement <8 x i16> %v, i32 7
149 ret void 149 ret void
150 } 150 }
151 151
152 ; CHECK-NEXT: define void @ExtractV8xi16(<8 x i16> %v) { 152 ; CHECK-NEXT: define internal void @ExtractV8xi16(<8 x i16> %v) {
153 ; CHECK-NEXT: entry: 153 ; CHECK-NEXT: entry:
154 ; CHECK-NEXT: %e0 = extractelement <8 x i16> %v, i32 0 154 ; CHECK-NEXT: %e0 = extractelement <8 x i16> %v, i32 0
155 ; CHECK-NEXT: %e1 = extractelement <8 x i16> %v, i32 1 155 ; CHECK-NEXT: %e1 = extractelement <8 x i16> %v, i32 1
156 ; CHECK-NEXT: %e2 = extractelement <8 x i16> %v, i32 2 156 ; CHECK-NEXT: %e2 = extractelement <8 x i16> %v, i32 2
157 ; CHECK-NEXT: %e3 = extractelement <8 x i16> %v, i32 3 157 ; CHECK-NEXT: %e3 = extractelement <8 x i16> %v, i32 3
158 ; CHECK-NEXT: %e4 = extractelement <8 x i16> %v, i32 4 158 ; CHECK-NEXT: %e4 = extractelement <8 x i16> %v, i32 4
159 ; CHECK-NEXT: %e5 = extractelement <8 x i16> %v, i32 5 159 ; CHECK-NEXT: %e5 = extractelement <8 x i16> %v, i32 5
160 ; CHECK-NEXT: %e6 = extractelement <8 x i16> %v, i32 6 160 ; CHECK-NEXT: %e6 = extractelement <8 x i16> %v, i32 6
161 ; CHECK-NEXT: %e7 = extractelement <8 x i16> %v, i32 7 161 ; CHECK-NEXT: %e7 = extractelement <8 x i16> %v, i32 7
162 ; CHECK-NEXT: ret void 162 ; CHECK-NEXT: ret void
163 ; CHECK-NEXT: } 163 ; CHECK-NEXT: }
164 164
165 define i32 @ExtractV4xi32(<4 x i32> %v) { 165 define internal i32 @ExtractV4xi32(<4 x i32> %v) {
166 entry: 166 entry:
167 %e0 = extractelement <4 x i32> %v, i32 0 167 %e0 = extractelement <4 x i32> %v, i32 0
168 %e1 = extractelement <4 x i32> %v, i32 1 168 %e1 = extractelement <4 x i32> %v, i32 1
169 %e2 = extractelement <4 x i32> %v, i32 2 169 %e2 = extractelement <4 x i32> %v, i32 2
170 %e3 = extractelement <4 x i32> %v, i32 3 170 %e3 = extractelement <4 x i32> %v, i32 3
171 ret i32 %e0 171 ret i32 %e0
172 } 172 }
173 173
174 ; CHECK-NEXT: define i32 @ExtractV4xi32(<4 x i32> %v) { 174 ; CHECK-NEXT: define internal i32 @ExtractV4xi32(<4 x i32> %v) {
175 ; CHECK-NEXT: entry: 175 ; CHECK-NEXT: entry:
176 ; CHECK-NEXT: %e0 = extractelement <4 x i32> %v, i32 0 176 ; CHECK-NEXT: %e0 = extractelement <4 x i32> %v, i32 0
177 ; CHECK-NEXT: %e1 = extractelement <4 x i32> %v, i32 1 177 ; CHECK-NEXT: %e1 = extractelement <4 x i32> %v, i32 1
178 ; CHECK-NEXT: %e2 = extractelement <4 x i32> %v, i32 2 178 ; CHECK-NEXT: %e2 = extractelement <4 x i32> %v, i32 2
179 ; CHECK-NEXT: %e3 = extractelement <4 x i32> %v, i32 3 179 ; CHECK-NEXT: %e3 = extractelement <4 x i32> %v, i32 3
180 ; CHECK-NEXT: ret i32 %e0 180 ; CHECK-NEXT: ret i32 %e0
181 ; CHECK-NEXT: } 181 ; CHECK-NEXT: }
182 182
183 define float @ExtractV4xfloat(<4 x float> %v) { 183 define internal float @ExtractV4xfloat(<4 x float> %v) {
184 entry: 184 entry:
185 %e0 = extractelement <4 x float> %v, i32 0 185 %e0 = extractelement <4 x float> %v, i32 0
186 %e1 = extractelement <4 x float> %v, i32 1 186 %e1 = extractelement <4 x float> %v, i32 1
187 %e2 = extractelement <4 x float> %v, i32 2 187 %e2 = extractelement <4 x float> %v, i32 2
188 %e3 = extractelement <4 x float> %v, i32 3 188 %e3 = extractelement <4 x float> %v, i32 3
189 ret float %e0 189 ret float %e0
190 } 190 }
191 191
192 ; CHECK-NEXT: define float @ExtractV4xfloat(<4 x float> %v) { 192 ; CHECK-NEXT: define internal float @ExtractV4xfloat(<4 x float> %v) {
193 ; CHECK-NEXT: entry: 193 ; CHECK-NEXT: entry:
194 ; CHECK-NEXT: %e0 = extractelement <4 x float> %v, i32 0 194 ; CHECK-NEXT: %e0 = extractelement <4 x float> %v, i32 0
195 ; CHECK-NEXT: %e1 = extractelement <4 x float> %v, i32 1 195 ; CHECK-NEXT: %e1 = extractelement <4 x float> %v, i32 1
196 ; CHECK-NEXT: %e2 = extractelement <4 x float> %v, i32 2 196 ; CHECK-NEXT: %e2 = extractelement <4 x float> %v, i32 2
197 ; CHECK-NEXT: %e3 = extractelement <4 x float> %v, i32 3 197 ; CHECK-NEXT: %e3 = extractelement <4 x float> %v, i32 3
198 ; CHECK-NEXT: ret float %e0 198 ; CHECK-NEXT: ret float %e0
199 ; CHECK-NEXT: } 199 ; CHECK-NEXT: }
200 200
201 define <4 x i1> @InsertV4xi1(<4 x i1> %v, i32 %pe) { 201 define internal <4 x i1> @InsertV4xi1(<4 x i1> %v, i32 %pe) {
202 entry: 202 entry:
203 %e = trunc i32 %pe to i1 203 %e = trunc i32 %pe to i1
204 %r0 = insertelement <4 x i1> %v, i1 %e, i32 0 204 %r0 = insertelement <4 x i1> %v, i1 %e, i32 0
205 %r1 = insertelement <4 x i1> %v, i1 %e, i32 1 205 %r1 = insertelement <4 x i1> %v, i1 %e, i32 1
206 %r2 = insertelement <4 x i1> %v, i1 %e, i32 2 206 %r2 = insertelement <4 x i1> %v, i1 %e, i32 2
207 %r3 = insertelement <4 x i1> %v, i1 %e, i32 3 207 %r3 = insertelement <4 x i1> %v, i1 %e, i32 3
208 ret <4 x i1> %r3 208 ret <4 x i1> %r3
209 } 209 }
210 210
211 ; CHECK-NEXT: define <4 x i1> @InsertV4xi1(<4 x i1> %v, i32 %pe) { 211 ; CHECK-NEXT: define internal <4 x i1> @InsertV4xi1(<4 x i1> %v, i32 %pe) {
212 ; CHECK-NEXT: entry: 212 ; CHECK-NEXT: entry:
213 ; CHECK-NEXT: %e = trunc i32 %pe to i1 213 ; CHECK-NEXT: %e = trunc i32 %pe to i1
214 ; CHECK-NEXT: %r0 = insertelement <4 x i1> %v, i1 %e, i32 0 214 ; CHECK-NEXT: %r0 = insertelement <4 x i1> %v, i1 %e, i32 0
215 ; CHECK-NEXT: %r1 = insertelement <4 x i1> %v, i1 %e, i32 1 215 ; CHECK-NEXT: %r1 = insertelement <4 x i1> %v, i1 %e, i32 1
216 ; CHECK-NEXT: %r2 = insertelement <4 x i1> %v, i1 %e, i32 2 216 ; CHECK-NEXT: %r2 = insertelement <4 x i1> %v, i1 %e, i32 2
217 ; CHECK-NEXT: %r3 = insertelement <4 x i1> %v, i1 %e, i32 3 217 ; CHECK-NEXT: %r3 = insertelement <4 x i1> %v, i1 %e, i32 3
218 ; CHECK-NEXT: ret <4 x i1> %r3 218 ; CHECK-NEXT: ret <4 x i1> %r3
219 ; CHECK-NEXT: } 219 ; CHECK-NEXT: }
220 220
221 define <8 x i1> @InsertV8xi1(<8 x i1> %v, i32 %pe) { 221 define internal <8 x i1> @InsertV8xi1(<8 x i1> %v, i32 %pe) {
222 entry: 222 entry:
223 %e = trunc i32 %pe to i1 223 %e = trunc i32 %pe to i1
224 %r0 = insertelement <8 x i1> %v, i1 %e, i32 0 224 %r0 = insertelement <8 x i1> %v, i1 %e, i32 0
225 %r1 = insertelement <8 x i1> %v, i1 %e, i32 1 225 %r1 = insertelement <8 x i1> %v, i1 %e, i32 1
226 %r2 = insertelement <8 x i1> %v, i1 %e, i32 2 226 %r2 = insertelement <8 x i1> %v, i1 %e, i32 2
227 %r3 = insertelement <8 x i1> %v, i1 %e, i32 3 227 %r3 = insertelement <8 x i1> %v, i1 %e, i32 3
228 %r4 = insertelement <8 x i1> %v, i1 %e, i32 4 228 %r4 = insertelement <8 x i1> %v, i1 %e, i32 4
229 %r5 = insertelement <8 x i1> %v, i1 %e, i32 5 229 %r5 = insertelement <8 x i1> %v, i1 %e, i32 5
230 %r6 = insertelement <8 x i1> %v, i1 %e, i32 6 230 %r6 = insertelement <8 x i1> %v, i1 %e, i32 6
231 %r7 = insertelement <8 x i1> %v, i1 %e, i32 7 231 %r7 = insertelement <8 x i1> %v, i1 %e, i32 7
232 ret <8 x i1> %r7 232 ret <8 x i1> %r7
233 } 233 }
234 234
235 ; CHECK-NEXT: define <8 x i1> @InsertV8xi1(<8 x i1> %v, i32 %pe) { 235 ; CHECK-NEXT: define internal <8 x i1> @InsertV8xi1(<8 x i1> %v, i32 %pe) {
236 ; CHECK-NEXT: entry: 236 ; CHECK-NEXT: entry:
237 ; CHECK-NEXT: %e = trunc i32 %pe to i1 237 ; CHECK-NEXT: %e = trunc i32 %pe to i1
238 ; CHECK-NEXT: %r0 = insertelement <8 x i1> %v, i1 %e, i32 0 238 ; CHECK-NEXT: %r0 = insertelement <8 x i1> %v, i1 %e, i32 0
239 ; CHECK-NEXT: %r1 = insertelement <8 x i1> %v, i1 %e, i32 1 239 ; CHECK-NEXT: %r1 = insertelement <8 x i1> %v, i1 %e, i32 1
240 ; CHECK-NEXT: %r2 = insertelement <8 x i1> %v, i1 %e, i32 2 240 ; CHECK-NEXT: %r2 = insertelement <8 x i1> %v, i1 %e, i32 2
241 ; CHECK-NEXT: %r3 = insertelement <8 x i1> %v, i1 %e, i32 3 241 ; CHECK-NEXT: %r3 = insertelement <8 x i1> %v, i1 %e, i32 3
242 ; CHECK-NEXT: %r4 = insertelement <8 x i1> %v, i1 %e, i32 4 242 ; CHECK-NEXT: %r4 = insertelement <8 x i1> %v, i1 %e, i32 4
243 ; CHECK-NEXT: %r5 = insertelement <8 x i1> %v, i1 %e, i32 5 243 ; CHECK-NEXT: %r5 = insertelement <8 x i1> %v, i1 %e, i32 5
244 ; CHECK-NEXT: %r6 = insertelement <8 x i1> %v, i1 %e, i32 6 244 ; CHECK-NEXT: %r6 = insertelement <8 x i1> %v, i1 %e, i32 6
245 ; CHECK-NEXT: %r7 = insertelement <8 x i1> %v, i1 %e, i32 7 245 ; CHECK-NEXT: %r7 = insertelement <8 x i1> %v, i1 %e, i32 7
246 ; CHECK-NEXT: ret <8 x i1> %r7 246 ; CHECK-NEXT: ret <8 x i1> %r7
247 ; CHECK-NEXT: } 247 ; CHECK-NEXT: }
248 248
249 define <16 x i1> @InsertV16xi1(<16 x i1> %v, i32 %pe) { 249 define internal <16 x i1> @InsertV16xi1(<16 x i1> %v, i32 %pe) {
250 entry: 250 entry:
251 %e = trunc i32 %pe to i1 251 %e = trunc i32 %pe to i1
252 %r0 = insertelement <16 x i1> %v, i1 %e, i32 0 252 %r0 = insertelement <16 x i1> %v, i1 %e, i32 0
253 %r1 = insertelement <16 x i1> %v, i1 %e, i32 1 253 %r1 = insertelement <16 x i1> %v, i1 %e, i32 1
254 %r2 = insertelement <16 x i1> %v, i1 %e, i32 2 254 %r2 = insertelement <16 x i1> %v, i1 %e, i32 2
255 %r3 = insertelement <16 x i1> %v, i1 %e, i32 3 255 %r3 = insertelement <16 x i1> %v, i1 %e, i32 3
256 %r4 = insertelement <16 x i1> %v, i1 %e, i32 4 256 %r4 = insertelement <16 x i1> %v, i1 %e, i32 4
257 %r5 = insertelement <16 x i1> %v, i1 %e, i32 5 257 %r5 = insertelement <16 x i1> %v, i1 %e, i32 5
258 %r6 = insertelement <16 x i1> %v, i1 %e, i32 6 258 %r6 = insertelement <16 x i1> %v, i1 %e, i32 6
259 %r7 = insertelement <16 x i1> %v, i1 %e, i32 7 259 %r7 = insertelement <16 x i1> %v, i1 %e, i32 7
260 %r8 = insertelement <16 x i1> %v, i1 %e, i32 8 260 %r8 = insertelement <16 x i1> %v, i1 %e, i32 8
261 %r9 = insertelement <16 x i1> %v, i1 %e, i32 9 261 %r9 = insertelement <16 x i1> %v, i1 %e, i32 9
262 %r10 = insertelement <16 x i1> %v, i1 %e, i32 10 262 %r10 = insertelement <16 x i1> %v, i1 %e, i32 10
263 %r11 = insertelement <16 x i1> %v, i1 %e, i32 11 263 %r11 = insertelement <16 x i1> %v, i1 %e, i32 11
264 %r12 = insertelement <16 x i1> %v, i1 %e, i32 12 264 %r12 = insertelement <16 x i1> %v, i1 %e, i32 12
265 %r13 = insertelement <16 x i1> %v, i1 %e, i32 13 265 %r13 = insertelement <16 x i1> %v, i1 %e, i32 13
266 %r14 = insertelement <16 x i1> %v, i1 %e, i32 14 266 %r14 = insertelement <16 x i1> %v, i1 %e, i32 14
267 %r15 = insertelement <16 x i1> %v, i1 %e, i32 15 267 %r15 = insertelement <16 x i1> %v, i1 %e, i32 15
268 ret <16 x i1> %r15 268 ret <16 x i1> %r15
269 } 269 }
270 270
271 ; CHECK-NEXT: define <16 x i1> @InsertV16xi1(<16 x i1> %v, i32 %pe) { 271 ; CHECK-NEXT: define internal <16 x i1> @InsertV16xi1(<16 x i1> %v, i32 %pe) {
272 ; CHECK-NEXT: entry: 272 ; CHECK-NEXT: entry:
273 ; CHECK-NEXT: %e = trunc i32 %pe to i1 273 ; CHECK-NEXT: %e = trunc i32 %pe to i1
274 ; CHECK-NEXT: %r0 = insertelement <16 x i1> %v, i1 %e, i32 0 274 ; CHECK-NEXT: %r0 = insertelement <16 x i1> %v, i1 %e, i32 0
275 ; CHECK-NEXT: %r1 = insertelement <16 x i1> %v, i1 %e, i32 1 275 ; CHECK-NEXT: %r1 = insertelement <16 x i1> %v, i1 %e, i32 1
276 ; CHECK-NEXT: %r2 = insertelement <16 x i1> %v, i1 %e, i32 2 276 ; CHECK-NEXT: %r2 = insertelement <16 x i1> %v, i1 %e, i32 2
277 ; CHECK-NEXT: %r3 = insertelement <16 x i1> %v, i1 %e, i32 3 277 ; CHECK-NEXT: %r3 = insertelement <16 x i1> %v, i1 %e, i32 3
278 ; CHECK-NEXT: %r4 = insertelement <16 x i1> %v, i1 %e, i32 4 278 ; CHECK-NEXT: %r4 = insertelement <16 x i1> %v, i1 %e, i32 4
279 ; CHECK-NEXT: %r5 = insertelement <16 x i1> %v, i1 %e, i32 5 279 ; CHECK-NEXT: %r5 = insertelement <16 x i1> %v, i1 %e, i32 5
280 ; CHECK-NEXT: %r6 = insertelement <16 x i1> %v, i1 %e, i32 6 280 ; CHECK-NEXT: %r6 = insertelement <16 x i1> %v, i1 %e, i32 6
281 ; CHECK-NEXT: %r7 = insertelement <16 x i1> %v, i1 %e, i32 7 281 ; CHECK-NEXT: %r7 = insertelement <16 x i1> %v, i1 %e, i32 7
282 ; CHECK-NEXT: %r8 = insertelement <16 x i1> %v, i1 %e, i32 8 282 ; CHECK-NEXT: %r8 = insertelement <16 x i1> %v, i1 %e, i32 8
283 ; CHECK-NEXT: %r9 = insertelement <16 x i1> %v, i1 %e, i32 9 283 ; CHECK-NEXT: %r9 = insertelement <16 x i1> %v, i1 %e, i32 9
284 ; CHECK-NEXT: %r10 = insertelement <16 x i1> %v, i1 %e, i32 10 284 ; CHECK-NEXT: %r10 = insertelement <16 x i1> %v, i1 %e, i32 10
285 ; CHECK-NEXT: %r11 = insertelement <16 x i1> %v, i1 %e, i32 11 285 ; CHECK-NEXT: %r11 = insertelement <16 x i1> %v, i1 %e, i32 11
286 ; CHECK-NEXT: %r12 = insertelement <16 x i1> %v, i1 %e, i32 12 286 ; CHECK-NEXT: %r12 = insertelement <16 x i1> %v, i1 %e, i32 12
287 ; CHECK-NEXT: %r13 = insertelement <16 x i1> %v, i1 %e, i32 13 287 ; CHECK-NEXT: %r13 = insertelement <16 x i1> %v, i1 %e, i32 13
288 ; CHECK-NEXT: %r14 = insertelement <16 x i1> %v, i1 %e, i32 14 288 ; CHECK-NEXT: %r14 = insertelement <16 x i1> %v, i1 %e, i32 14
289 ; CHECK-NEXT: %r15 = insertelement <16 x i1> %v, i1 %e, i32 15 289 ; CHECK-NEXT: %r15 = insertelement <16 x i1> %v, i1 %e, i32 15
290 ; CHECK-NEXT: ret <16 x i1> %r15 290 ; CHECK-NEXT: ret <16 x i1> %r15
291 ; CHECK-NEXT: } 291 ; CHECK-NEXT: }
292 292
293 define <16 x i8> @InsertV16xi8(<16 x i8> %v, i32 %pe) { 293 define internal <16 x i8> @InsertV16xi8(<16 x i8> %v, i32 %pe) {
294 entry: 294 entry:
295 %e = trunc i32 %pe to i8 295 %e = trunc i32 %pe to i8
296 %r0 = insertelement <16 x i8> %v, i8 %e, i32 0 296 %r0 = insertelement <16 x i8> %v, i8 %e, i32 0
297 %r1 = insertelement <16 x i8> %v, i8 %e, i32 1 297 %r1 = insertelement <16 x i8> %v, i8 %e, i32 1
298 %r2 = insertelement <16 x i8> %v, i8 %e, i32 2 298 %r2 = insertelement <16 x i8> %v, i8 %e, i32 2
299 %r3 = insertelement <16 x i8> %v, i8 %e, i32 3 299 %r3 = insertelement <16 x i8> %v, i8 %e, i32 3
300 %r4 = insertelement <16 x i8> %v, i8 %e, i32 4 300 %r4 = insertelement <16 x i8> %v, i8 %e, i32 4
301 %r5 = insertelement <16 x i8> %v, i8 %e, i32 5 301 %r5 = insertelement <16 x i8> %v, i8 %e, i32 5
302 %r6 = insertelement <16 x i8> %v, i8 %e, i32 6 302 %r6 = insertelement <16 x i8> %v, i8 %e, i32 6
303 %r7 = insertelement <16 x i8> %v, i8 %e, i32 7 303 %r7 = insertelement <16 x i8> %v, i8 %e, i32 7
304 ret <16 x i8> %r7 304 ret <16 x i8> %r7
305 } 305 }
306 306
307 ; CHECK-NEXT: define <16 x i8> @InsertV16xi8(<16 x i8> %v, i32 %pe) { 307 ; CHECK-NEXT: define internal <16 x i8> @InsertV16xi8(<16 x i8> %v, i32 %pe) {
308 ; CHECK-NEXT: entry: 308 ; CHECK-NEXT: entry:
309 ; CHECK-NEXT: %e = trunc i32 %pe to i8 309 ; CHECK-NEXT: %e = trunc i32 %pe to i8
310 ; CHECK-NEXT: %r0 = insertelement <16 x i8> %v, i8 %e, i32 0 310 ; CHECK-NEXT: %r0 = insertelement <16 x i8> %v, i8 %e, i32 0
311 ; CHECK-NEXT: %r1 = insertelement <16 x i8> %v, i8 %e, i32 1 311 ; CHECK-NEXT: %r1 = insertelement <16 x i8> %v, i8 %e, i32 1
312 ; CHECK-NEXT: %r2 = insertelement <16 x i8> %v, i8 %e, i32 2 312 ; CHECK-NEXT: %r2 = insertelement <16 x i8> %v, i8 %e, i32 2
313 ; CHECK-NEXT: %r3 = insertelement <16 x i8> %v, i8 %e, i32 3 313 ; CHECK-NEXT: %r3 = insertelement <16 x i8> %v, i8 %e, i32 3
314 ; CHECK-NEXT: %r4 = insertelement <16 x i8> %v, i8 %e, i32 4 314 ; CHECK-NEXT: %r4 = insertelement <16 x i8> %v, i8 %e, i32 4
315 ; CHECK-NEXT: %r5 = insertelement <16 x i8> %v, i8 %e, i32 5 315 ; CHECK-NEXT: %r5 = insertelement <16 x i8> %v, i8 %e, i32 5
316 ; CHECK-NEXT: %r6 = insertelement <16 x i8> %v, i8 %e, i32 6 316 ; CHECK-NEXT: %r6 = insertelement <16 x i8> %v, i8 %e, i32 6
317 ; CHECK-NEXT: %r7 = insertelement <16 x i8> %v, i8 %e, i32 7 317 ; CHECK-NEXT: %r7 = insertelement <16 x i8> %v, i8 %e, i32 7
318 ; CHECK-NEXT: ret <16 x i8> %r7 318 ; CHECK-NEXT: ret <16 x i8> %r7
319 ; CHECK-NEXT: } 319 ; CHECK-NEXT: }
320 320
321 define <8 x i16> @InsertV8xi16(<8 x i16> %v, i32 %pe) { 321 define internal <8 x i16> @InsertV8xi16(<8 x i16> %v, i32 %pe) {
322 entry: 322 entry:
323 %e = trunc i32 %pe to i16 323 %e = trunc i32 %pe to i16
324 %r0 = insertelement <8 x i16> %v, i16 %e, i32 0 324 %r0 = insertelement <8 x i16> %v, i16 %e, i32 0
325 %r1 = insertelement <8 x i16> %v, i16 %e, i32 1 325 %r1 = insertelement <8 x i16> %v, i16 %e, i32 1
326 %r2 = insertelement <8 x i16> %v, i16 %e, i32 2 326 %r2 = insertelement <8 x i16> %v, i16 %e, i32 2
327 %r3 = insertelement <8 x i16> %v, i16 %e, i32 3 327 %r3 = insertelement <8 x i16> %v, i16 %e, i32 3
328 %r4 = insertelement <8 x i16> %v, i16 %e, i32 4 328 %r4 = insertelement <8 x i16> %v, i16 %e, i32 4
329 %r5 = insertelement <8 x i16> %v, i16 %e, i32 5 329 %r5 = insertelement <8 x i16> %v, i16 %e, i32 5
330 %r6 = insertelement <8 x i16> %v, i16 %e, i32 6 330 %r6 = insertelement <8 x i16> %v, i16 %e, i32 6
331 %r7 = insertelement <8 x i16> %v, i16 %e, i32 7 331 %r7 = insertelement <8 x i16> %v, i16 %e, i32 7
332 ret <8 x i16> %r7 332 ret <8 x i16> %r7
333 } 333 }
334 334
335 ; CHECK-NEXT: define <8 x i16> @InsertV8xi16(<8 x i16> %v, i32 %pe) { 335 ; CHECK-NEXT: define internal <8 x i16> @InsertV8xi16(<8 x i16> %v, i32 %pe) {
336 ; CHECK-NEXT: entry: 336 ; CHECK-NEXT: entry:
337 ; CHECK-NEXT: %e = trunc i32 %pe to i16 337 ; CHECK-NEXT: %e = trunc i32 %pe to i16
338 ; CHECK-NEXT: %r0 = insertelement <8 x i16> %v, i16 %e, i32 0 338 ; CHECK-NEXT: %r0 = insertelement <8 x i16> %v, i16 %e, i32 0
339 ; CHECK-NEXT: %r1 = insertelement <8 x i16> %v, i16 %e, i32 1 339 ; CHECK-NEXT: %r1 = insertelement <8 x i16> %v, i16 %e, i32 1
340 ; CHECK-NEXT: %r2 = insertelement <8 x i16> %v, i16 %e, i32 2 340 ; CHECK-NEXT: %r2 = insertelement <8 x i16> %v, i16 %e, i32 2
341 ; CHECK-NEXT: %r3 = insertelement <8 x i16> %v, i16 %e, i32 3 341 ; CHECK-NEXT: %r3 = insertelement <8 x i16> %v, i16 %e, i32 3
342 ; CHECK-NEXT: %r4 = insertelement <8 x i16> %v, i16 %e, i32 4 342 ; CHECK-NEXT: %r4 = insertelement <8 x i16> %v, i16 %e, i32 4
343 ; CHECK-NEXT: %r5 = insertelement <8 x i16> %v, i16 %e, i32 5 343 ; CHECK-NEXT: %r5 = insertelement <8 x i16> %v, i16 %e, i32 5
344 ; CHECK-NEXT: %r6 = insertelement <8 x i16> %v, i16 %e, i32 6 344 ; CHECK-NEXT: %r6 = insertelement <8 x i16> %v, i16 %e, i32 6
345 ; CHECK-NEXT: %r7 = insertelement <8 x i16> %v, i16 %e, i32 7 345 ; CHECK-NEXT: %r7 = insertelement <8 x i16> %v, i16 %e, i32 7
346 ; CHECK-NEXT: ret <8 x i16> %r7 346 ; CHECK-NEXT: ret <8 x i16> %r7
347 ; CHECK-NEXT: } 347 ; CHECK-NEXT: }
348 348
349 define <4 x i32> @InsertV4xi32(<4 x i32> %v, i32 %e) { 349 define internal <4 x i32> @InsertV4xi32(<4 x i32> %v, i32 %e) {
350 entry: 350 entry:
351 %r0 = insertelement <4 x i32> %v, i32 %e, i32 0 351 %r0 = insertelement <4 x i32> %v, i32 %e, i32 0
352 %r1 = insertelement <4 x i32> %v, i32 %e, i32 1 352 %r1 = insertelement <4 x i32> %v, i32 %e, i32 1
353 %r2 = insertelement <4 x i32> %v, i32 %e, i32 2 353 %r2 = insertelement <4 x i32> %v, i32 %e, i32 2
354 %r3 = insertelement <4 x i32> %v, i32 %e, i32 3 354 %r3 = insertelement <4 x i32> %v, i32 %e, i32 3
355 ret <4 x i32> %r3 355 ret <4 x i32> %r3
356 } 356 }
357 357
358 ; CHECK-NEXT: define <4 x i32> @InsertV4xi32(<4 x i32> %v, i32 %e) { 358 ; CHECK-NEXT: define internal <4 x i32> @InsertV4xi32(<4 x i32> %v, i32 %e) {
359 ; CHECK-NEXT: entry: 359 ; CHECK-NEXT: entry:
360 ; CHECK-NEXT: %r0 = insertelement <4 x i32> %v, i32 %e, i32 0 360 ; CHECK-NEXT: %r0 = insertelement <4 x i32> %v, i32 %e, i32 0
361 ; CHECK-NEXT: %r1 = insertelement <4 x i32> %v, i32 %e, i32 1 361 ; CHECK-NEXT: %r1 = insertelement <4 x i32> %v, i32 %e, i32 1
362 ; CHECK-NEXT: %r2 = insertelement <4 x i32> %v, i32 %e, i32 2 362 ; CHECK-NEXT: %r2 = insertelement <4 x i32> %v, i32 %e, i32 2
363 ; CHECK-NEXT: %r3 = insertelement <4 x i32> %v, i32 %e, i32 3 363 ; CHECK-NEXT: %r3 = insertelement <4 x i32> %v, i32 %e, i32 3
364 ; CHECK-NEXT: ret <4 x i32> %r3 364 ; CHECK-NEXT: ret <4 x i32> %r3
365 ; CHECK-NEXT: } 365 ; CHECK-NEXT: }
366 366
367 define <4 x float> @InsertV4xfloat(<4 x float> %v, float %e) { 367 define internal <4 x float> @InsertV4xfloat(<4 x float> %v, float %e) {
368 entry: 368 entry:
369 %r0 = insertelement <4 x float> %v, float %e, i32 0 369 %r0 = insertelement <4 x float> %v, float %e, i32 0
370 %r1 = insertelement <4 x float> %v, float %e, i32 1 370 %r1 = insertelement <4 x float> %v, float %e, i32 1
371 %r2 = insertelement <4 x float> %v, float %e, i32 2 371 %r2 = insertelement <4 x float> %v, float %e, i32 2
372 %r3 = insertelement <4 x float> %v, float %e, i32 3 372 %r3 = insertelement <4 x float> %v, float %e, i32 3
373 ret <4 x float> %r3 373 ret <4 x float> %r3
374 } 374 }
375 375
376 ; CHECK-NEXT: define <4 x float> @InsertV4xfloat(<4 x float> %v, float %e) { 376 ; CHECK-NEXT: define internal <4 x float> @InsertV4xfloat(<4 x float> %v, float %e) {
377 ; CHECK-NEXT: entry: 377 ; CHECK-NEXT: entry:
378 ; CHECK-NEXT: %r0 = insertelement <4 x float> %v, float %e, i32 0 378 ; CHECK-NEXT: %r0 = insertelement <4 x float> %v, float %e, i32 0
379 ; CHECK-NEXT: %r1 = insertelement <4 x float> %v, float %e, i32 1 379 ; CHECK-NEXT: %r1 = insertelement <4 x float> %v, float %e, i32 1
380 ; CHECK-NEXT: %r2 = insertelement <4 x float> %v, float %e, i32 2 380 ; CHECK-NEXT: %r2 = insertelement <4 x float> %v, float %e, i32 2
381 ; CHECK-NEXT: %r3 = insertelement <4 x float> %v, float %e, i32 3 381 ; CHECK-NEXT: %r3 = insertelement <4 x float> %v, float %e, i32 3
382 ; CHECK-NEXT: ret <4 x float> %r3 382 ; CHECK-NEXT: ret <4 x float> %r3
383 ; CHECK-NEXT: } 383 ; CHECK-NEXT: }
384 384
385 ; NOIR: Total across all functions 385 ; NOIR: Total across all functions
OLDNEW
« no previous file with comments | « tests_lit/reader_tests/globalrelocs.ll ('k') | tests_lit/reader_tests/load.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698