1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=legalizer %s -o - \
4 # RUN: llc -mtriple=riscv64 -mattr=+d -run-pass=legalizer %s -o - \
13 ; CHECK-LABEL: name: fp_store_f32
14 ; CHECK: liveins: $x10, $f10_f
16 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
17 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $f10_f
18 ; CHECK-NEXT: G_STORE [[COPY1]](s32), [[COPY]](p0) :: (store (s32))
19 ; CHECK-NEXT: PseudoRET
21 %1:_(s32) = COPY $f10_f
22 G_STORE %1(s32), %0(p0) :: (store (s32))
32 ; CHECK-LABEL: name: fp_store_f64
33 ; CHECK: liveins: $x10, $f10_d
35 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
36 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $f10_d
37 ; CHECK-NEXT: G_STORE [[COPY1]](s64), [[COPY]](p0) :: (store (s64))
38 ; CHECK-NEXT: PseudoRET
40 %1:_(s64) = COPY $f10_d
41 G_STORE %1(s64), %0(p0) :: (store (s64))
51 ; CHECK-LABEL: name: fp_load_f32
52 ; CHECK: liveins: $x10, $f10_f
54 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
55 ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p0) :: (load (s32))
56 ; CHECK-NEXT: $f10_f = COPY [[LOAD]](s32)
57 ; CHECK-NEXT: PseudoRET implicit $f10_f
59 %2:_(s32) = G_LOAD %0(p0) :: (load (s32))
61 PseudoRET implicit $f10_f
70 ; CHECK-LABEL: name: fp_load_f64
71 ; CHECK: liveins: $x10, $f10_d
73 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x10
74 ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s64) = G_LOAD [[COPY]](p0) :: (load (s64))
75 ; CHECK-NEXT: $f10_d = COPY [[LOAD]](s64)
76 ; CHECK-NEXT: PseudoRET implicit $f10_d
78 %2:_(s64) = G_LOAD %0(p0) :: (load (s64))
80 PseudoRET implicit $f10_d