Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / fptoi-f16-rv64.mir
blob11a3f47ea7f14eb94df120f8420608afb555cefd
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -mattr=+zfh -run-pass=instruction-select \
3 # RUN:   -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s
5 ---
6 name:            fptosi_s32_s16
7 legalized:       true
8 regBankSelected: true
9 tracksRegLiveness: true
10 body:             |
11   bb.1:
12     liveins: $f10_h
14     ; CHECK-LABEL: name: fptosi_s32_s16
15     ; CHECK: liveins: $f10_h
16     ; CHECK-NEXT: {{  $}}
17     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h
18     ; CHECK-NEXT: [[FCVT_W_H:%[0-9]+]]:gpr = nofpexcept FCVT_W_H [[COPY]], 1
19     ; CHECK-NEXT: $x10 = COPY [[FCVT_W_H]]
20     ; CHECK-NEXT: PseudoRET implicit $x10
21     %0:fprb(s16) = COPY $f10_h
22     %1:gprb(s32) = G_FPTOSI %0(s16)
23     %2:gprb(s64) = G_ANYEXT %1(s32)
24     $x10 = COPY %2(s64)
25     PseudoRET implicit $x10
27 ...
28 ---
29 name:            fptoui_s32_s16
30 legalized:       true
31 regBankSelected: true
32 tracksRegLiveness: true
33 body:             |
34   bb.1:
35     liveins: $f10_h
37     ; CHECK-LABEL: name: fptoui_s32_s16
38     ; CHECK: liveins: $f10_h
39     ; CHECK-NEXT: {{  $}}
40     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h
41     ; CHECK-NEXT: [[FCVT_WU_H:%[0-9]+]]:gpr = nofpexcept FCVT_WU_H [[COPY]], 1
42     ; CHECK-NEXT: $x10 = COPY [[FCVT_WU_H]]
43     ; CHECK-NEXT: PseudoRET implicit $x10
44     %0:fprb(s16) = COPY $f10_h
45     %1:gprb(s32) = G_FPTOUI %0(s16)
46     %2:gprb(s64) = G_ANYEXT %1(s32)
47     $x10 = COPY %2(s64)
48     PseudoRET implicit $x10
50 ...
51 ---
52 name:            fptosi_s64_s16
53 legalized:       true
54 regBankSelected: true
55 tracksRegLiveness: true
56 body:             |
57   bb.1:
58     liveins: $f10_h
60     ; CHECK-LABEL: name: fptosi_s64_s16
61     ; CHECK: liveins: $f10_h
62     ; CHECK-NEXT: {{  $}}
63     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h
64     ; CHECK-NEXT: [[FCVT_L_H:%[0-9]+]]:gpr = nofpexcept FCVT_L_H [[COPY]], 1
65     ; CHECK-NEXT: $x10 = COPY [[FCVT_L_H]]
66     ; CHECK-NEXT: PseudoRET implicit $x10
67     %0:fprb(s16) = COPY $f10_h
68     %1:gprb(s64) = G_FPTOSI %0(s16)
69     $x10 = COPY %1(s64)
70     PseudoRET implicit $x10
72 ...
73 ---
74 name:            fptoui_s64_s16
75 legalized:       true
76 regBankSelected: true
77 tracksRegLiveness: true
78 body:             |
79   bb.1:
80     liveins: $f10_h
82     ; CHECK-LABEL: name: fptoui_s64_s16
83     ; CHECK: liveins: $f10_h
84     ; CHECK-NEXT: {{  $}}
85     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr16 = COPY $f10_h
86     ; CHECK-NEXT: [[FCVT_LU_H:%[0-9]+]]:gpr = nofpexcept FCVT_LU_H [[COPY]], 1
87     ; CHECK-NEXT: $x10 = COPY [[FCVT_LU_H]]
88     ; CHECK-NEXT: PseudoRET implicit $x10
89     %0:fprb(s16) = COPY $f10_h
90     %1:gprb(s64) = G_FPTOUI %0(s16)
91     $x10 = COPY %1(s64)
92     PseudoRET implicit $x10
94 ...