Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / Mips / GlobalISel / regbankselect / store_4_unaligned.mir
blob3f705ebea309f4b4bca08d0cdd3693e192ac67d3
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=regbankselect -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32
3 # RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=regbankselect -mcpu=mips32r6 -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32R6
4 --- |
6   @float_align1 = common global float 0.000000e+00, align 1
7   @float_align4 = common global float 0.000000e+00, align 4
8   @i32_align8 = common global i32 0, align 8
10   define void @store_float_align1(float %a) {
11   entry:
12     store float %a, ptr @float_align1, align 1
13     ret void
14   }
16   define void @store_float_align4(float %a) {
17   entry:
18     store float %a, ptr @float_align4, align 4
19     ret void
20   }
22   define void @store_i32_align8(i32 signext %a) {
23   entry:
24     store i32 %a, ptr @i32_align8, align 8
25     ret void
26   }
28 ...
29 ---
30 name:            store_float_align1
31 alignment:       4
32 legalized:       true
33 tracksRegLiveness: true
34 body:             |
35   bb.1.entry:
36     liveins: $f12
38     ; MIPS32-LABEL: name: store_float_align1
39     ; MIPS32: liveins: $f12
40     ; MIPS32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12
41     ; MIPS32: [[GV:%[0-9]+]]:gprb(p0) = G_GLOBAL_VALUE @float_align1
42     ; MIPS32: [[COPY1:%[0-9]+]]:gprb(s32) = COPY [[COPY]](s32)
43     ; MIPS32: G_STORE [[COPY1]](s32), [[GV]](p0) :: (store (s32) into @float_align1, align 1)
44     ; MIPS32: RetRA
45     ; MIPS32R6-LABEL: name: store_float_align1
46     ; MIPS32R6: liveins: $f12
47     ; MIPS32R6: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12
48     ; MIPS32R6: [[GV:%[0-9]+]]:gprb(p0) = G_GLOBAL_VALUE @float_align1
49     ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align1, align 1)
50     ; MIPS32R6: RetRA
51     %0:_(s32) = COPY $f12
52     %1:_(p0) = G_GLOBAL_VALUE @float_align1
53     G_STORE %0(s32), %1(p0) :: (store (s32) into @float_align1, align 1)
54     RetRA
56 ...
57 ---
58 name:            store_float_align4
59 alignment:       4
60 legalized:       true
61 tracksRegLiveness: true
62 body:             |
63   bb.1.entry:
64     liveins: $f12
66     ; MIPS32-LABEL: name: store_float_align4
67     ; MIPS32: liveins: $f12
68     ; MIPS32: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12
69     ; MIPS32: [[GV:%[0-9]+]]:gprb(p0) = G_GLOBAL_VALUE @float_align4
70     ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align4)
71     ; MIPS32: RetRA
72     ; MIPS32R6-LABEL: name: store_float_align4
73     ; MIPS32R6: liveins: $f12
74     ; MIPS32R6: [[COPY:%[0-9]+]]:fprb(s32) = COPY $f12
75     ; MIPS32R6: [[GV:%[0-9]+]]:gprb(p0) = G_GLOBAL_VALUE @float_align4
76     ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @float_align4)
77     ; MIPS32R6: RetRA
78     %0:_(s32) = COPY $f12
79     %1:_(p0) = G_GLOBAL_VALUE @float_align4
80     G_STORE %0(s32), %1(p0) :: (store (s32) into @float_align4)
81     RetRA
83 ...
84 ---
85 name:            store_i32_align8
86 alignment:       4
87 legalized:       true
88 tracksRegLiveness: true
89 body:             |
90   bb.1.entry:
91     liveins: $a0
93     ; MIPS32-LABEL: name: store_i32_align8
94     ; MIPS32: liveins: $a0
95     ; MIPS32: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a0
96     ; MIPS32: [[GV:%[0-9]+]]:gprb(p0) = G_GLOBAL_VALUE @i32_align8
97     ; MIPS32: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align8, align 8)
98     ; MIPS32: RetRA
99     ; MIPS32R6-LABEL: name: store_i32_align8
100     ; MIPS32R6: liveins: $a0
101     ; MIPS32R6: [[COPY:%[0-9]+]]:gprb(s32) = COPY $a0
102     ; MIPS32R6: [[GV:%[0-9]+]]:gprb(p0) = G_GLOBAL_VALUE @i32_align8
103     ; MIPS32R6: G_STORE [[COPY]](s32), [[GV]](p0) :: (store (s32) into @i32_align8, align 8)
104     ; MIPS32R6: RetRA
105     %0:_(s32) = COPY $a0
106     %1:_(p0) = G_GLOBAL_VALUE @i32_align8
107     G_STORE %0(s32), %1(p0) :: (store (s32) into @i32_align8, align 8)
108     RetRA