Revert "[AMDGPU][CodeGen] Do not backtrace invalid -regalloc param (#119687)"
[llvm-project.git] / llvm / test / CodeGen / RISCV / GlobalISel / instruction-select / fp-load-store.mir
blobb137b64584f1c13ac3d542c2c762962160386a7b
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -mattr=+d,+zfh -run-pass=instruction-select %s -o - \
3 # RUN:   | FileCheck %s
4 # RUN: llc -mtriple=riscv64 -mattr=+d,+zfh -run-pass=instruction-select %s -o - \
5 # RUN:   | FileCheck %s
7 ---
8 name:            fp_store_f32
9 legalized:       true
10 regBankSelected: true
11 selected:        false
12 tracksRegLiveness: true
13 body:             |
14   bb.0:
15     liveins: $x10, $f10_f
17     ; CHECK-LABEL: name: fp_store_f32
18     ; CHECK: liveins: $x10, $f10_f
19     ; CHECK-NEXT: {{  $}}
20     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
21     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f10_f
22     ; CHECK-NEXT: FSW [[COPY1]], [[COPY]], 0 :: (store (s32))
23     ; CHECK-NEXT: PseudoRET
24     %0:gprb(p0) = COPY $x10
25     %1:fprb(s32) = COPY $f10_f
26     G_STORE %1(s32), %0(p0) :: (store (s32))
27     PseudoRET
29 ...
30 ---
31 name:            fp_store_f64
32 legalized:       true
33 regBankSelected: true
34 tracksRegLiveness: true
35 body:             |
36   bb.0:
37     liveins: $x10, $f10_d
39     ; CHECK-LABEL: name: fp_store_f64
40     ; CHECK: liveins: $x10, $f10_d
41     ; CHECK-NEXT: {{  $}}
42     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
43     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f10_d
44     ; CHECK-NEXT: FSD [[COPY1]], [[COPY]], 0 :: (store (s64))
45     ; CHECK-NEXT: PseudoRET
46     %0:gprb(p0) = COPY $x10
47     %1:fprb(s64) = COPY $f10_d
48     G_STORE %1(s64), %0(p0) :: (store (s64))
49     PseudoRET
51 ...
52 ---
53 name:            fp_load_f32
54 legalized:       true
55 regBankSelected: true
56 tracksRegLiveness: true
57 body:             |
58   bb.0:
59     liveins: $x10
61     ; CHECK-LABEL: name: fp_load_f32
62     ; CHECK: liveins: $x10
63     ; CHECK-NEXT: {{  $}}
64     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
65     ; CHECK-NEXT: [[FLW:%[0-9]+]]:fpr32 = FLW [[COPY]], 0 :: (load (s32))
66     ; CHECK-NEXT: $f10_f = COPY [[FLW]]
67     ; CHECK-NEXT: PseudoRET implicit $f10_f
68     %0:gprb(p0) = COPY $x10
69     %1:fprb(s32) = G_LOAD %0(p0) :: (load (s32))
70     $f10_f = COPY %1(s32)
71     PseudoRET implicit $f10_f
73 ...
74 ---
75 name:            fp_load_f64
76 legalized:       true
77 regBankSelected: true
78 tracksRegLiveness: true
79 body:             |
80   bb.0:
81     liveins: $x10
83     ; CHECK-LABEL: name: fp_load_f64
84     ; CHECK: liveins: $x10
85     ; CHECK-NEXT: {{  $}}
86     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
87     ; CHECK-NEXT: [[FLD:%[0-9]+]]:fpr64 = FLD [[COPY]], 0 :: (load (s64))
88     ; CHECK-NEXT: $f10_d = COPY [[FLD]]
89     ; CHECK-NEXT: PseudoRET implicit $f10_d
90     %0:gprb(p0) = COPY $x10
91     %1:fprb(s64) = G_LOAD %0(p0) :: (load (s64))
92     $f10_d = COPY %1(s64)
93     PseudoRET implicit $f10_d
95 ...
96 ---
97 name:            fp_store_f16
98 legalized:       true
99 regBankSelected: true
100 selected:        false
101 tracksRegLiveness: true
102 body:             |
103   bb.0:
104     liveins: $x10, $f10_h
106     ; CHECK-LABEL: name: fp_store_f16
107     ; CHECK: liveins: $x10, $f10_h
108     ; CHECK-NEXT: {{  $}}
109     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
110     ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr16 = COPY $f10_h
111     ; CHECK-NEXT: FSH [[COPY1]], [[COPY]], 0 :: (store (s16))
112     ; CHECK-NEXT: PseudoRET
113     %0:gprb(p0) = COPY $x10
114     %1:fprb(s16) = COPY $f10_h
115     G_STORE %1(s16), %0(p0) :: (store (s16))
116     PseudoRET
120 name:            fp_load_f16
121 legalized:       true
122 regBankSelected: true
123 tracksRegLiveness: true
124 body:             |
125   bb.0:
126     liveins: $x10
128     ; CHECK-LABEL: name: fp_load_f16
129     ; CHECK: liveins: $x10
130     ; CHECK-NEXT: {{  $}}
131     ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x10
132     ; CHECK-NEXT: [[FLH:%[0-9]+]]:fpr16 = FLH [[COPY]], 0 :: (load (s16))
133     ; CHECK-NEXT: $f10_h = COPY [[FLH]]
134     ; CHECK-NEXT: PseudoRET implicit $f10_h
135     %0:gprb(p0) = COPY $x10
136     %1:fprb(s16) = G_LOAD %0(p0) :: (load (s16))
137     $f10_h = COPY %1(s16)
138     PseudoRET implicit $f10_h