[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / fptoi-rv32.mir
blobab737be929ef2770fdc152684baa2f1706d5d103
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=instruction-select \
3 # RUN:   -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s
5 ---
6 name:            fptosi_s32_s32
7 legalized:       true
8 regBankSelected: true
9 tracksRegLiveness: true
10 body:             |
11   bb.1:
12     liveins: $f10_f
14     ; CHECK-LABEL: name: fptosi_s32_s32
15     ; CHECK: liveins: $f10_f
16     ; CHECK-NEXT: {{  $}}
17     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
18     ; CHECK-NEXT: [[FCVT_W_S:%[0-9]+]]:gpr = nofpexcept FCVT_W_S [[COPY]], 1
19     ; CHECK-NEXT: $x10 = COPY [[FCVT_W_S]]
20     ; CHECK-NEXT: PseudoRET implicit $x10
21     %0:fprb(s32) = COPY $f10_f
22     %1:gprb(s32) = G_FPTOSI %0(s32)
23     $x10 = COPY %1(s32)
24     PseudoRET implicit $x10
26 ...
27 ---
28 name:            fptoui_s32_s32
29 legalized:       true
30 regBankSelected: true
31 tracksRegLiveness: true
32 body:             |
33   bb.1:
34     liveins: $f10_f
36     ; CHECK-LABEL: name: fptoui_s32_s32
37     ; CHECK: liveins: $f10_f
38     ; CHECK-NEXT: {{  $}}
39     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
40     ; CHECK-NEXT: [[FCVT_WU_S:%[0-9]+]]:gpr = nofpexcept FCVT_WU_S [[COPY]], 1
41     ; CHECK-NEXT: $x10 = COPY [[FCVT_WU_S]]
42     ; CHECK-NEXT: PseudoRET implicit $x10
43     %0:fprb(s32) = COPY $f10_f
44     %1:gprb(s32) = G_FPTOUI %0(s32)
45     $x10 = COPY %1(s32)
46     PseudoRET implicit $x10
48 ...
49 ---
50 name:            fptosi_s32_s64
51 legalized:       true
52 regBankSelected: true
53 tracksRegLiveness: true
54 body:             |
55   bb.1:
56     liveins: $f10_d
58     ; CHECK-LABEL: name: fptosi_s32_s64
59     ; CHECK: liveins: $f10_d
60     ; CHECK-NEXT: {{  $}}
61     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
62     ; CHECK-NEXT: [[FCVT_W_D:%[0-9]+]]:gpr = nofpexcept FCVT_W_D [[COPY]], 1
63     ; CHECK-NEXT: $x10 = COPY [[FCVT_W_D]]
64     ; CHECK-NEXT: PseudoRET implicit $x10
65     %0:fprb(s64) = COPY $f10_d
66     %1:gprb(s32) = G_FPTOSI %0(s64)
67     $x10 = COPY %1(s32)
68     PseudoRET implicit $x10
70 ...
71 ---
72 name:            fptoui_s32_s64
73 legalized:       true
74 regBankSelected: true
75 tracksRegLiveness: true
76 body:             |
77   bb.1:
78     liveins: $f10_d
80     ; CHECK-LABEL: name: fptoui_s32_s64
81     ; CHECK: liveins: $f10_d
82     ; CHECK-NEXT: {{  $}}
83     ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
84     ; CHECK-NEXT: [[FCVT_WU_D:%[0-9]+]]:gpr = nofpexcept FCVT_WU_D [[COPY]], 1
85     ; CHECK-NEXT: $x10 = COPY [[FCVT_WU_D]]
86     ; CHECK-NEXT: PseudoRET implicit $x10
87     %0:fprb(s64) = COPY $f10_d
88     %1:gprb(s32) = G_FPTOUI %0(s64)
89     $x10 = COPY %1(s32)
90     PseudoRET implicit $x10
92 ...