1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -run-pass=regbankselect \
3 # RUN: -simplify-mir -verify-machineinstrs %s \
4 # RUN: -o - | FileCheck -check-prefix=RV64I %s
13 ; RV64I-LABEL: name: store_i8
14 ; RV64I: liveins: $x10, $x11
16 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(s64) = COPY $x10
17 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $x11
18 ; RV64I-NEXT: [[TRUNC:%[0-9]+]]:gprb(s32) = G_TRUNC [[COPY]](s64)
19 ; RV64I-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s8))
20 ; RV64I-NEXT: PseudoRET
23 %3:_(s32) = G_TRUNC %2(s64)
24 G_STORE %3(s32), %1(p0) :: (store (s8))
35 ; RV64I-LABEL: name: store_i16
36 ; RV64I: liveins: $x10, $x11
38 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(s64) = COPY $x10
39 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $x11
40 ; RV64I-NEXT: [[TRUNC:%[0-9]+]]:gprb(s32) = G_TRUNC [[COPY]](s64)
41 ; RV64I-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s16))
42 ; RV64I-NEXT: PseudoRET
45 %3:_(s32) = G_TRUNC %2(s64)
46 G_STORE %3(s32), %1(p0) :: (store (s16))
57 ; RV64I-LABEL: name: store_i32
58 ; RV64I: liveins: $x10, $x11
60 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(s64) = COPY $x10
61 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $x11
62 ; RV64I-NEXT: [[TRUNC:%[0-9]+]]:gprb(s32) = G_TRUNC [[COPY]](s64)
63 ; RV64I-NEXT: G_STORE [[TRUNC]](s32), [[COPY1]](p0) :: (store (s32))
64 ; RV64I-NEXT: PseudoRET
67 %3:_(s32) = G_TRUNC %2(s64)
68 G_STORE %3(s32), %1(p0) :: (store (s32))
75 tracksRegLiveness: true
80 ; RV64I-LABEL: name: store_i64
81 ; RV64I: liveins: $x10, $x11
83 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(s64) = COPY $x10
84 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $x11
85 ; RV64I-NEXT: G_STORE [[COPY]](s64), [[COPY1]](p0) :: (store (s64))
86 ; RV64I-NEXT: PseudoRET
89 G_STORE %0(s64), %1(p0) :: (store (s64))
96 tracksRegLiveness: true
101 ; RV64I-LABEL: name: store_ptr
102 ; RV64I: liveins: $x10, $x11
104 ; RV64I-NEXT: [[COPY:%[0-9]+]]:gprb(p0) = COPY $x10
105 ; RV64I-NEXT: [[COPY1:%[0-9]+]]:gprb(p0) = COPY $x11
106 ; RV64I-NEXT: G_STORE [[COPY]](p0), [[COPY1]](p0) :: (store (p0))
107 ; RV64I-NEXT: PseudoRET
110 G_STORE %0(p0), %1(p0) :: (store (p0))