• Home
  • Raw
  • Download

Lines Matching +full:native +full:- +full:test

1 // REQUIRES: arm-registered-target
2 // RUN: %clang_cc1 -emit-llvm -o - -triple arm-none-linux-gnueabi %s | FileCheck %s --check-prefix=…
3 // RUN: %clang_cc1 -emit-llvm -o - -triple aarch64-none-linux-gnueabi %s | FileCheck %s --check-pre…
4 // RUN: %clang_cc1 -emit-llvm -o - -triple x86_64-linux-gnu %s | FileCheck %s --check-prefix=NOTNAT…
5 …clang_cc1 -emit-llvm -o - -triple arm-none-linux-gnueabi -fallow-half-arguments-and-returns %s | F…
6 …ang_cc1 -emit-llvm -o - -triple aarch64-none-linux-gnueabi -fallow-half-arguments-and-returns %s |…
7 // RUN: %clang_cc1 -emit-llvm -o - -triple arm-none-linux-gnueabi -fnative-half-type %s \
8 // RUN: | FileCheck %s --check-prefix=NATIVE-HALF
9 // RUN: %clang_cc1 -emit-llvm -o - -triple aarch64-none-linux-gnueabi -fnative-half-type %s \
10 // RUN: | FileCheck %s --check-prefix=NATIVE-HALF
11 // RUN: %clang_cc1 -emit-llvm -o - -x renderscript %s \
12 // RUN: | FileCheck %s --check-prefix=NATIVE-HALF
16 volatile cond_t test; variable
24 // CHECK-LABEL: define void @foo() in foo()
30 // NATIVE-HALF: fptoui half in foo()
31 test = (h0); in foo()
34 // NATIVE-HALF: uitofp i32 {{.*}} to half in foo()
35 h0 = (test); in foo()
38 // NATIVE-HALF: fcmp une half in foo()
39 test = (!h1); in foo()
43 // NATIVE-HALF: fneg half in foo()
44 h1 = -h1; in foo()
47 // NATIVE-HALF: load volatile half in foo()
48 // NATIVE-HALF-NEXT: store volatile half in foo()
53 // NATIVE-HALF: fadd half in foo()
58 // NATIVE-HALF: fadd half in foo()
63 // NATIVE-HALF: fadd half in foo()
64 --h1; in foo()
68 // NATIVE-HALF: fadd half in foo()
69 h1--; in foo()
76 // NATIVE-HALF: fmul half in foo()
81 // NATIVE-HALF: fmul half in foo()
82 h1 = h0 * (__fp16) -2.0f; in foo()
86 // NATIVE-HALF: fpext half in foo()
87 // NATIVE-HALF: fmul float in foo()
92 // NATIVE-HALF: fpext half in foo()
93 // NATIVE-HALF: fmul float in foo()
98 // NATIVE-HALF: fmul half in foo()
105 // NATIVE-HALF: fdiv half in foo()
110 // NATIVE-HALF: fdiv half in foo()
111 h1 = (h0 / (__fp16) -2.0f); in foo()
115 // NATIVE-HALF: fpext half in foo()
116 // NATIVE-HALF: fdiv float in foo()
121 // NATIVE-HALF: fpext half in foo()
122 // NATIVE-HALF: fdiv float in foo()
127 // NATIVE-HALF: fdiv half in foo()
134 // NATIVE-HALF: fadd half in foo()
139 // NATIVE-HALF: fadd half in foo()
140 h1 = ((__fp16)-2.0 + h0); in foo()
144 // NATIVE-HALF: fpext half in foo()
145 // NATIVE-HALF: fadd float in foo()
150 // NATIVE-HALF: fpext half in foo()
151 // NATIVE-HALF: fadd float in foo()
156 // NATIVE-HALF: fadd half in foo()
163 // NATIVE-HALF: fsub half in foo()
164 h1 = (h2 - h0); in foo()
168 // NATIVE-HALF: fsub half in foo()
169 h1 = ((__fp16)-2.0f - h0); in foo()
173 // NATIVE-HALF: fpext half in foo()
174 // NATIVE-HALF: fsub float in foo()
175 h1 = (h2 - f0); in foo()
179 // NATIVE-HALF: fpext half in foo()
180 // NATIVE-HALF: fsub float in foo()
181 h1 = (f2 - h0); in foo()
185 // NATIVE-HALF: fsub half in foo()
186 h1 = (h0 - i0); in foo()
191 // NATIVE-HALF: fcmp olt half in foo()
192 test = (h2 < h0); in foo()
195 // NATIVE-HALF: fcmp olt half in foo()
196 test = (h2 < (__fp16)42.0); in foo()
199 // NATIVE-HALF: fpext half in foo()
200 // NATIVE-HALF: fcmp olt float in foo()
201 test = (h2 < f0); in foo()
204 // NATIVE-HALF: fpext half in foo()
205 // NATIVE-HALF: fcmp olt float in foo()
206 test = (f2 < h0); in foo()
209 // NATIVE-HALF: fcmp olt half in foo()
210 test = (i0 < h0); in foo()
213 // NATIVE-HALF: fcmp olt half in foo()
214 test = (h0 < i0); in foo()
219 // NATIVE-HALF: fcmp ogt half in foo()
220 test = (h0 > h2); in foo()
223 // NATIVE-HALF: fcmp ogt half in foo()
224 test = ((__fp16)42.0 > h2); in foo()
227 // NATIVE-HALF: fpext half in foo()
228 // NATIVE-HALF: fcmp ogt float in foo()
229 test = (h0 > f2); in foo()
232 // NATIVE-HALF: fpext half in foo()
233 // NATIVE-HALF: fcmp ogt float in foo()
234 test = (f0 > h2); in foo()
237 // NATIVE-HALF: fcmp ogt half in foo()
238 test = (i0 > h0); in foo()
241 // NATIVE-HALF: fcmp ogt half in foo()
242 test = (h0 > i0); in foo()
247 // NATIVE-HALF: fcmp ole half in foo()
248 test = (h2 <= h0); in foo()
251 // NATIVE-HALF: fcmp ole half in foo()
252 test = (h2 <= (__fp16)42.0); in foo()
255 // NATIVE-HALF: fpext half in foo()
256 // NATIVE-HALF: fcmp ole float in foo()
257 test = (h2 <= f0); in foo()
260 // NATIVE-HALF: fpext half in foo()
261 // NATIVE-HALF: fcmp ole float in foo()
262 test = (f2 <= h0); in foo()
265 // NATIVE-HALF: fcmp ole half in foo()
266 test = (i0 <= h0); in foo()
269 // NATIVE-HALF: fcmp ole half in foo()
270 test = (h0 <= i0); in foo()
276 // NATIVE-HALF: fcmp oge half in foo()
277 test = (h0 >= h2); in foo()
280 // NATIVE-HALF: fcmp oge half in foo()
281 test = (h0 >= (__fp16)-2.0); in foo()
284 // NATIVE-HALF: fpext half in foo()
285 // NATIVE-HALF: fcmp oge float in foo()
286 test = (h0 >= f2); in foo()
289 // NATIVE-HALF: fpext half in foo()
290 // NATIVE-HALF: fcmp oge float in foo()
291 test = (f0 >= h2); in foo()
294 // NATIVE-HALF: fcmp oge half in foo()
295 test = (i0 >= h0); in foo()
298 // NATIVE-HALF: fcmp oge half in foo()
299 test = (h0 >= i0); in foo()
304 // NATIVE-HALF: fcmp oeq half in foo()
305 test = (h1 == h2); in foo()
308 // NATIVE-HALF: fcmp oeq half in foo()
309 test = (h1 == (__fp16)1.0); in foo()
312 // NATIVE-HALF: fpext half in foo()
313 // NATIVE-HALF: fcmp oeq float in foo()
314 test = (h1 == f1); in foo()
317 // NATIVE-HALF: fpext half in foo()
318 // NATIVE-HALF: fcmp oeq float in foo()
319 test = (f1 == h1); in foo()
322 // NATIVE-HALF: fcmp oeq half in foo()
323 test = (i0 == h0); in foo()
326 // NATIVE-HALF: fcmp oeq half in foo()
327 test = (h0 == i0); in foo()
332 // NATIVE-HALF: fcmp une half in foo()
333 test = (h1 != h2); in foo()
336 // NATIVE-HALF: fcmp une half in foo()
337 test = (h1 != (__fp16)1.0); in foo()
340 // NATIVE-HALF: fpext half in foo()
341 // NATIVE-HALF: fcmp une float in foo()
342 test = (h1 != f1); in foo()
345 // NATIVE-HALF: fpext half in foo()
346 // NATIVE-HALF: fcmp une float in foo()
347 test = (f1 != h1); in foo()
350 // NATIVE-HALF: fcmp une half in foo()
351 test = (i0 != h0); in foo()
354 // NATIVE-HALF: fcmp une half in foo()
355 test = (h0 != i0); in foo()
362 // NATIVE-HALF: fcmp une half {{.*}}, 0xH0000 in foo()
367 // NATIVE-HALF: store {{.*}} half 0xHC000 in foo()
368 h0 = (__fp16)-2.0f; in foo()
370 // NATIVE-HALF: fptrunc float in foo()
375 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
379 // NATIVE-HALF: fptosi half {{.*}} to i32 in foo()
386 // NATIVE-HALF: fadd half in foo()
391 // NATIVE-HALF: fadd half in foo()
396 // NATIVE-HALF: fpext half in foo()
397 // NATIVE-HALF: fadd float in foo()
398 // NATIVE-HALF: fptrunc float in foo()
404 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
405 // NATIVE-HALF: fadd half in foo()
406 // NATIVE-HALF: fptosi half {{.*}} to i32 in foo()
412 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
413 // NATIVE-HALF: fadd half in foo()
420 // NATIVE-HALF: fsub half in foo()
421 h0 -= h1; in foo()
425 // NATIVE-HALF: fsub half in foo()
426 h0 -= (__fp16)1.0; in foo()
430 // NATIVE-HALF: fpext half in foo()
431 // NATIVE-HALF: fsub float in foo()
432 // NATIVE-HALF: fptrunc float in foo()
433 h0 -= f2; in foo()
438 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
439 // NATIVE-HALF: fsub half in foo()
440 // NATIVE-HALF: fptosi half {{.*}} to i32 in foo()
441 i0 -= h0; in foo()
446 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
447 // NATIVE-HALF: fsub half in foo()
448 h0 -= i0; in foo()
454 // NATIVE-HALF: fmul half in foo()
459 // NATIVE-HALF: fmul half in foo()
464 // NATIVE-HALF: fpext half in foo()
465 // NATIVE-HALF: fmul float in foo()
466 // NATIVE-HALF: fptrunc float in foo()
472 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
473 // NATIVE-HALF: fmul half in foo()
474 // NATIVE-HALF: fptosi half {{.*}} to i32 in foo()
480 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
481 // NATIVE-HALF: fmul half in foo()
488 // NATIVE-HALF: fdiv half in foo()
493 // NATIVE-HALF: fdiv half in foo()
498 // NATIVE-HALF: fpext half in foo()
499 // NATIVE-HALF: fdiv float in foo()
500 // NATIVE-HALF: fptrunc float in foo()
506 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
507 // NATIVE-HALF: fdiv half in foo()
508 // NATIVE-HALF: fptosi half {{.*}} to i32 in foo()
514 // NATIVE-HALF: sitofp i32 {{.*}} to half in foo()
515 // NATIVE-HALF: fdiv half in foo()
520 // NATIVE-HALF: fptrunc double {{.*}} to half in foo()
525 // NATIVE-HALF: [[MID:%.*]] = fptrunc double {{%.*}} to float in foo()
526 // NATIVE-HALF: fptrunc float {{.*}} to half in foo()
530 // NATIVE-HALF: fpext half {{.*}} to double in foo()
535 // NATIVE-HALF: [[MID:%.*]] = fpext half {{.*}} to float in foo()
536 // NATIVE-HALF: fpext float [[MID]] to double in foo()
546 // CHECK-LABEL: define void @testTypeDef(