Lines Matching refs:FP16

3 …ost-ra -frame-pointer=non-leaf | FileCheck %s --check-prefix=CHECK-COMMON --check-prefix=CHECK-FP16
14 ; RUN: --check-prefixes=FALLBACK-FP16,GISEL-FP16,GISEL
25 ; CHECK-FP16-LABEL: test_fadd:
26 ; CHECK-FP16-NEXT: fadd h0, h0, h1
27 ; CHECK-FP16-NEXT: ret
41 ; CHECK-FP16-LABEL: test_fsub:
42 ; CHECK-FP16-NEXT: fsub h0, h0, h1
43 ; CHECK-FP16-NEXT: ret
57 ; CHECK-FP16-LABEL: test_fmul:
58 ; CHECK-FP16-NEXT: fmul h0, h0, h1
59 ; CHECK-FP16-NEXT: ret
77 ; CHECK-FP16-LABEL: test_fmadd:
78 ; CHECK-FP16-NEXT: fmadd h0, h0, h1, h2
79 ; CHECK-FP16-NEXT: ret
93 ; CHECK-FP16-LABEL: test_fdiv:
94 ; CHECK-FP16-NEXT: fdiv h0, h0, h1
95 ; CHECK-FP16-NEXT: ret
177 ; CHECK-FP16-LABEL: test_select:
178 ; CHECK-FP16-NEXT: cmp w0, #0
179 ; CHECK-FP16-NEXT: fcsel h0, h0, h1, ne
180 ; CHECK-FP16-NEXT: ret
197 ; CHECK-FP16-LABEL: test_select_cc:
198 ; CHECK-FP16-NEXT: fcmp h2, h3
199 ; CHECK-FP16-NEXT: fcsel h0, h0, h1, ne
200 ; CHECK-FP16-NEXT: ret
215 ; CHECK-FP16-LABEL: test_select_cc_f32_f16:
216 ; CHECK-FP16-NEXT: fcmp h2, h3
217 ; CHECK-FP16-NEXT: fcsel s0, s0, s1, ne
218 ; CHECK-FP16-NEXT: ret
234 ; CHECK-FP16-LABEL: test_select_cc_f16_f32:
235 ; CHECK-FP16-NEXT: fcmp s2, s3
236 ; CHECK-FP16-NEXT: fcsel h0, h0, h1, ne
237 ; CHECK-FP16-NEXT: ret
252 ; CHECK-FP16-LABEL: test_fcmp_une:
253 ; CHECK-FP16-NEXT: fcmp h0, h1
254 ; CHECK-FP16-NEXT: cset w0, ne
255 ; CHECK-FP16-NEXT: ret
270 ; CHECK-FP16-LABEL: test_fcmp_ueq:
271 ; CHECK-FP16-NEXT: fcmp h0, h1
272 ; CHECK-FP16-NEXT: cset [[TRUE:w[0-9]+]], eq
273 ; CHECK-FP16-NEXT: csinc w0, [[TRUE]], wzr, vc
274 ; CHECK-FP16-NEXT: ret
288 ; CHECK-FP16-LABEL: test_fcmp_ugt:
289 ; CHECK-FP16-NEXT: fcmp h0, h1
290 ; CHECK-FP16-NEXT: cset w0, hi
291 ; CHECK-FP16-NEXT: ret
305 ; CHECK-FP16-LABEL: test_fcmp_uge:
306 ; CHECK-FP16-NEXT: fcmp h0, h1
307 ; CHECK-FP16-NEXT: cset w0, pl
308 ; CHECK-FP16-NEXT: ret
322 ; CHECK-FP16-LABEL: test_fcmp_ult:
323 ; CHECK-FP16-NEXT: fcmp h0, h1
324 ; CHECK-FP16-NEXT: cset w0, lt
325 ; CHECK-FP16-NEXT: ret
339 ; CHECK-FP16-LABEL: test_fcmp_ule:
340 ; CHECK-FP16-NEXT: fcmp h0, h1
341 ; CHECK-FP16-NEXT: cset w0, le
342 ; CHECK-FP16-NEXT: ret
356 ; CHECK-FP16-LABEL: test_fcmp_uno:
357 ; CHECK-FP16-NEXT: fcmp h0, h1
358 ; CHECK-FP16-NEXT: cset w0, vs
359 ; CHECK-FP16-NEXT: ret
374 ; CHECK-FP16-LABEL: test_fcmp_one:
375 ; CHECK-FP16-NEXT: fcmp h0, h1
376 ; CHECK-FP16-NEXT: cset [[TRUE:w[0-9]+]], mi
377 ; CHECK-FP16-NEXT: csinc w0, [[TRUE]], wzr, le
378 ; CHECK-FP16-NEXT: ret
392 ; CHECK-FP16-LABEL: test_fcmp_oeq:
393 ; CHECK-FP16-NEXT: fcmp h0, h1
394 ; CHECK-FP16-NEXT: cset w0, eq
395 ; CHECK-FP16-NEXT: ret
409 ; CHECK-FP16-LABEL: test_fcmp_ogt:
410 ; CHECK-FP16-NEXT: fcmp h0, h1
411 ; CHECK-FP16-NEXT: cset w0, gt
412 ; CHECK-FP16-NEXT: ret
426 ; CHECK-FP16-LABEL: test_fcmp_oge:
427 ; CHECK-FP16-NEXT: fcmp h0, h1
428 ; CHECK-FP16-NEXT: cset w0, ge
429 ; CHECK-FP16-NEXT: ret
443 ; CHECK-FP16-LABEL: test_fcmp_olt:
444 ; CHECK-FP16-NEXT: fcmp h0, h1
445 ; CHECK-FP16-NEXT: cset w0, mi
446 ; CHECK-FP16-NEXT: ret
460 ; CHECK-FP16-LABEL: test_fcmp_ole:
461 ; CHECK-FP16-NEXT: fcmp h0, h1
462 ; CHECK-FP16-NEXT: cset w0, ls
463 ; CHECK-FP16-NEXT: ret
477 ; CHECK-FP16-LABEL: test_fcmp_ord:
478 ; CHECK-FP16-NEXT: fcmp h0, h1
479 ; CHECK-FP16-NEXT: cset w0, vc
480 ; CHECK-FP16-NEXT: ret
500 ; CHECK-FP16: fmov h1, #5.00000000
501 ; CHECK-FP16-NEXT: fcmp h0, h1
502 ; CHECK-FP16-NEXT: fmov h2, #8.00000000
503 ; CHECK-FP16-NEXT: fccmp h0, h2, #4, mi
504 ; CHECK-FP16-NEXT: fcsel h0, h0, h1, gt
505 ; CHECK-FP16-NEXT: str h0, [x0]
506 ; CHECK-FP16-NEXT: ret
525 ; CHECK-FP16-LABEL: test_br_cc:
526 ; CHECK-FP16-NEXT: fcmp h0, h1
527 ; CHECK-FP16-NEXT: csel x8, x0, x1, pl
528 ; CHECK-FP16-NEXT: str wzr, [x8]
529 ; CHECK-FP16-NEXT: ret
572 ; CHECK-FP16-LABEL: test_fptosi_i32:
573 ; CHECK-FP16-NEXT: fcvtzs w0, h0
574 ; CHECK-FP16-NEXT: ret
586 ; CHECK-FP16-LABEL: test_fptosi_i64:
587 ; CHECK-FP16-NEXT: fcvtzs x0, h0
588 ; CHECK-FP16-NEXT: ret
600 ; CHECK-FP16-LABEL: test_fptoui_i32:
601 ; CHECK-FP16-NEXT: fcvtzu w0, h0
602 ; CHECK-FP16-NEXT: ret
614 ; CHECK-FP16-LABEL: test_fptoui_i64:
615 ; CHECK-FP16-NEXT: fcvtzu x0, h0
616 ; CHECK-FP16-NEXT: ret
628 ; CHECK-FP16-LABEL: test_uitofp_i32:
629 ; CHECK-FP16-NEXT: ucvtf h0, w0
630 ; CHECK-FP16-NEXT: ret
642 ; CHECK-FP16-LABEL: test_uitofp_i64:
643 ; CHECK-FP16-NEXT: ucvtf h0, x0
644 ; CHECK-FP16-NEXT: ret
656 ; CHECK-FP16-LABEL: test_sitofp_i32:
657 ; CHECK-FP16-NEXT: scvtf h0, w0
658 ; CHECK-FP16-NEXT: ret
670 ; CHECK-FP16-LABEL: test_sitofp_i64:
671 ; CHECK-FP16-NEXT: scvtf h0, x0
672 ; CHECK-FP16-NEXT: ret
687 ; CHECK-FP16-LABEL: test_uitofp_i32_fadd:
688 ; CHECK-FP16-NEXT: ucvtf h1, w0
689 ; CHECK-FP16-NEXT: fadd h0, h0, h1
690 ; CHECK-FP16-NEXT: ret
707 ; CHECK-FP16-LABEL: test_sitofp_i32_fadd:
708 ; CHECK-FP16-NEXT: scvtf h1, w0
709 ; CHECK-FP16-NEXT: fadd h0, h0, h1
710 ; CHECK-FP16-NEXT: ret
794 ; FALLBACK-FP16-NOT: remark:{{.*}}test_sqrt
802 ; CHECK-FP16-LABEL: test_sqrt:
803 ; CHECK-FP16-NEXT: fsqrt h0, h0
804 ; CHECK-FP16-NEXT: ret
812 ; GISEL-FP16-LABEL: test_sqrt:
813 ; GISEL-FP16-NEXT: fsqrt h0, h0
814 ; GISEL-FP16-NEXT: ret
835 ; FALLBACK-FP16-NOT: remark:{{.*}}test_sin
860 ; FALLBACK-FP16-NOT: remark:{{.*}}test_cos
899 ; FALLBACK-FP16-NOT: remark:{{.*}}test_exp
946 ; FALLBACK-FP16-NOT: remark:{{.*}}test_log
972 ; FALLBACK-FP16-NOT: remark:{{.*}}test_log10
998 ; FALLBACK-FP16-NOT: remark:{{.*}}test_log2
1031 ; CHECK-FP16-LABEL: test_fma:
1032 ; CHECK-FP16-NEXT: fmadd h0, h0, h1, h2
1033 ; CHECK-FP16-NEXT: ret
1046 ; CHECK-FP16-LABEL: test_fabs:
1047 ; CHECK-FP16-NEXT: fabs h0, h0
1048 ; CHECK-FP16-NEXT: ret
1051 ; FALLBACK-FP16-NOT: remark:{{.*}}test_fabs
1059 ; GISEL-FP16-LABEL: test_fabs:
1060 ; GISEL-FP16-NEXT: fabs h0, h0
1061 ; GISEL-FP16-NEXT: ret
1075 ; CHECK-FP16-LABEL: test_minnum:
1076 ; CHECK-FP16-NEXT: fminnm h0, h0, h1
1077 ; CHECK-FP16-NEXT: ret
1091 ; CHECK-FP16-LABEL: test_maxnum:
1092 ; CHECK-FP16-NEXT: fmaxnm h0, h0, h1
1093 ; CHECK-FP16-NEXT: ret
1108 ; CHECK-FP16-LABEL: test_copysign:
1109 ; CHECK-FP16-NEXT: mvni.8h v2, #128, lsl #8
1110 ; CHECK-FP16-NEXT: bif.16b v0, v1, v2
1111 ; CHECK-FP16-NEXT: ret
1125 ; CHECK-FP16-LABEL: test_copysign_f32:
1126 ; CHECK-FP16-NEXT: fcvt h1, s1
1127 ; CHECK-FP16-NEXT: mvni.8h v2, #128, lsl #8
1128 ; CHECK-FP16-NEXT: bif.16b v0, v1, v2
1129 ; CHECK-FP16-NEXT: ret
1145 ; CHECK-FP16-LABEL: test_copysign_f64:
1146 ; CHECK-FP16-NEXT: fcvt h1, d1
1147 ; CHECK-FP16-NEXT: mvni.8h v2, #128, lsl #8
1148 ; CHECK-FP16-NEXT: bif.16b v0, v1, v2
1149 ; CHECK-FP16-NEXT: ret
1167 ; CHECK-FP16-LABEL: test_copysign_extended:
1168 ; CHECK-FP16-NEXT: mvni.8h v2, #128, lsl #8
1169 ; CHECK-FP16-NEXT: bif.16b v0, v1, v2
1170 ; CHECK-FP16-NEXT: fcvt s0, h0
1171 ; CHECK-FP16-NEXT: ret
1185 ; CHECK-FP16-LABEL: test_floor:
1186 ; CHECK-FP16-NEXT: frintm h0, h0
1187 ; CHECK-FP16-NEXT: ret
1190 ; FALLBACK-FP16-NOT: remark:{{.*}}test_floor
1198 ; GISEL-FP16-LABEL: test_floor:
1199 ; GISEL-FP16-NEXT: frintm h0, h0
1200 ; GISEL-FP16-NEXT: ret
1213 ; CHECK-FP16-LABEL: test_ceil:
1214 ; CHECK-FP16-NEXT: frintp h0, h0
1215 ; CHECK-FP16-NEXT: ret
1218 ; FALLBACK-FP16-NOT: remark:{{.*}}test_ceil
1226 ; GISEL-FP16-LABEL: test_ceil:
1227 ; GISEL-FP16-NEXT: frintp h0, h0
1228 ; GISEL-FP16-NEXT: ret
1240 ; CHECK-FP16-LABEL: test_trunc:
1241 ; CHECK-FP16-NEXT: frintz h0, h0
1242 ; CHECK-FP16-NEXT: ret
1255 ; CHECK-FP16-LABEL: test_rint:
1256 ; CHECK-FP16-NEXT: frintx h0, h0
1257 ; CHECK-FP16-NEXT: ret
1270 ; CHECK-FP16-LABEL: test_nearbyint:
1271 ; CHECK-FP16-NEXT: frinti h0, h0
1272 ; CHECK-FP16-NEXT: ret
1292 ; CHECK-FP16-LABEL: test_round:
1293 ; CHECK-FP16-NEXT: frinta h0, h0
1294 ; CHECK-FP16-NEXT: ret
1296 ; GISEL-FP16-LABEL: test_round:
1297 ; GISEL-FP16-NEXT: frinta h0, h0
1298 ; GISEL-FP16-NEXT: ret
1318 ; CHECK-FP16-LABEL: test_roundeven:
1319 ; CHECK-FP16-NEXT: frintn h0, h0
1320 ; CHECK-FP16-NEXT: ret
1322 ; GISEL-FP16-LABEL: test_roundeven:
1323 ; GISEL-FP16-NEXT: frintn h0, h0
1324 ; GISEL-FP16-NEXT: ret
1342 ; CHECK-FP16-LABEL: test_fmuladd:
1343 ; CHECK-FP16-NEXT: fmadd h0, h0, h1, h2
1344 ; CHECK-FP16-NEXT: ret