|
1 | 1 | # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
2 |
| -# RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=regbankselect \ |
3 |
| -# RUN: -simplify-mir -verify-machineinstrs %s \ |
| 2 | +# RUN: llc -mtriple=riscv32 -mattr=+d,+zfh -run-pass=regbankselect \ |
| 3 | +# RUN: -disable-gisel-legality-check -simplify-mir -verify-machineinstrs %s \ |
4 | 4 | # RUN: -o - | FileCheck %s --check-prefixes=CHECK
|
5 |
| -# RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=regbankselect \ |
6 |
| -# RUN: -simplify-mir -verify-machineinstrs %s \ |
| 5 | +# RUN: llc -mtriple=riscv64 -mattr=+d,+zfh -run-pass=regbankselect \ |
| 6 | +# RUN: -disable-gisel-legality-check -simplify-mir -verify-machineinstrs %s \ |
7 | 7 | # RUN: -o - | FileCheck %s --check-prefixes=CHECK
|
8 | 8 |
|
9 | 9 | ---
|
@@ -150,3 +150,53 @@ body: |
|
150 | 150 | PseudoRET implicit $f10_d
|
151 | 151 |
|
152 | 152 | ...
|
| 153 | +--- |
| 154 | +name: fp_store_fp_def_f16 |
| 155 | +legalized: true |
| 156 | +tracksRegLiveness: true |
| 157 | +body: | |
| 158 | + bb.1: |
| 159 | + liveins: $x10, $f10_h, $f11_h |
| 160 | +
|
| 161 | + ; CHECK-LABEL: name: fp_store_fp_def_f16 |
| 162 | + ; CHECK: liveins: $x10, $f10_h, $f11_h |
| 163 | + ; CHECK-NEXT: {{ $}} |
| 164 | + ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10 |
| 165 | + ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f10_h |
| 166 | + ; CHECK-NEXT: [[COPY2:%[0-9]+]]:fprb(s16) = COPY $f11_h |
| 167 | + ; CHECK-NEXT: [[FADD:%[0-9]+]]:fprb(s16) = G_FADD [[COPY1]], [[COPY2]] |
| 168 | + ; CHECK-NEXT: G_STORE [[FADD]](s16), [[COPY]](p0) :: (store (s16)) |
| 169 | + ; CHECK-NEXT: PseudoRET |
| 170 | + %0:_(p0) = COPY $x10 |
| 171 | + %1:_(s16) = COPY $f10_h |
| 172 | + %2:_(s16) = COPY $f11_h |
| 173 | + %3:_(s16) = G_FADD %1, %2 |
| 174 | + G_STORE %3(s16), %0(p0) :: (store (s16)) |
| 175 | + PseudoRET |
| 176 | +
|
| 177 | +... |
| 178 | +--- |
| 179 | +name: fp_load_fp_use_f16 |
| 180 | +legalized: true |
| 181 | +tracksRegLiveness: true |
| 182 | +body: | |
| 183 | + bb.1: |
| 184 | + liveins: $x10, $f10_h |
| 185 | +
|
| 186 | + ; CHECK-LABEL: name: fp_load_fp_use_f16 |
| 187 | + ; CHECK: liveins: $x10, $f10_h |
| 188 | + ; CHECK-NEXT: {{ $}} |
| 189 | + ; CHECK-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10 |
| 190 | + ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fprb(s16) = COPY $f10_h |
| 191 | + ; CHECK-NEXT: [[LOAD:%[0-9]+]]:fprb(s16) = G_LOAD [[COPY]](p0) :: (load (s16)) |
| 192 | + ; CHECK-NEXT: [[FADD:%[0-9]+]]:fprb(s16) = G_FADD [[LOAD]], [[COPY1]] |
| 193 | + ; CHECK-NEXT: $f10_h = COPY [[FADD]](s16) |
| 194 | + ; CHECK-NEXT: PseudoRET implicit $f10_h |
| 195 | + %0:_(p0) = COPY $x10 |
| 196 | + %1:_(s16) = COPY $f10_h |
| 197 | + %2:_(s16) = G_LOAD %0(p0) :: (load (s16)) |
| 198 | + %3:_(s16) = G_FADD %2, %1 |
| 199 | + $f10_h = COPY %3(s16) |
| 200 | + PseudoRET implicit $f10_h |
| 201 | +
|
| 202 | +... |
0 commit comments