xref: /llvm-project/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/bitwise.mir (revision 1f559353a7821769c94f03b00cc9c2f65f982d42)
13b953c37SPetar Jovanovic# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
23b953c37SPetar Jovanovic# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=MIPS32
33b953c37SPetar Jovanovic--- |
43b953c37SPetar Jovanovic
5150fd430SPetar Avramovic  define void @and_i32() {entry: ret void}
6*1f559353SPetar Avramovic  define void @and_imm() {entry: ret void}
7*1f559353SPetar Avramovic  define void @and_not_imm32ZExt16() {entry: ret void}
8150fd430SPetar Avramovic  define void @or_i32() {entry: ret void}
9*1f559353SPetar Avramovic  define void @or_imm() {entry: ret void}
10*1f559353SPetar Avramovic  define void @or_not_imm32ZExt16() {entry: ret void}
11150fd430SPetar Avramovic  define void @xor_i32() {entry: ret void}
12*1f559353SPetar Avramovic  define void @xor_imm() {entry: ret void}
13*1f559353SPetar Avramovic  define void @xor_not_imm32ZExt16() {entry: ret void}
143b953c37SPetar Jovanovic  define void @shl(i32) {entry: ret void}
153b953c37SPetar Jovanovic  define void @ashr(i32) {entry: ret void}
163b953c37SPetar Jovanovic  define void @lshr(i32) {entry: ret void}
173b953c37SPetar Jovanovic  define void @shlv(i32, i32) {entry: ret void}
183b953c37SPetar Jovanovic  define void @ashrv(i32, i32) {entry: ret void}
193b953c37SPetar Jovanovic  define void @lshrv(i32, i32) {entry: ret void}
203b953c37SPetar Jovanovic
213b953c37SPetar Jovanovic...
223b953c37SPetar Jovanovic---
23150fd430SPetar Avramovicname:            and_i32
2448904e94SGuillaume Chateletalignment:       4
253b953c37SPetar Jovanoviclegalized:       true
263b953c37SPetar JovanovicregBankSelected: true
273b953c37SPetar JovanovictracksRegLiveness: true
283b953c37SPetar Jovanovicbody:             |
293b953c37SPetar Jovanovic  bb.1.entry:
303b953c37SPetar Jovanovic    liveins: $a0, $a1
313b953c37SPetar Jovanovic
32150fd430SPetar Avramovic    ; MIPS32-LABEL: name: and_i32
333b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0, $a1
343b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
353b953c37SPetar Jovanovic    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
363b953c37SPetar Jovanovic    ; MIPS32: [[AND:%[0-9]+]]:gpr32 = AND [[COPY1]], [[COPY]]
373b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[AND]]
383b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
393b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
403b953c37SPetar Jovanovic    %1:gprb(s32) = COPY $a1
413b953c37SPetar Jovanovic    %2:gprb(s32) = G_AND %1, %0
423b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
433b953c37SPetar Jovanovic    RetRA implicit $v0
443b953c37SPetar Jovanovic
453b953c37SPetar Jovanovic...
463b953c37SPetar Jovanovic---
47*1f559353SPetar Avramovicname:            and_imm
48*1f559353SPetar Avramovicalignment:       4
49*1f559353SPetar Avramoviclegalized:       true
50*1f559353SPetar AvramovicregBankSelected: true
51*1f559353SPetar AvramovictracksRegLiveness: true
52*1f559353SPetar Avramovicbody:             |
53*1f559353SPetar Avramovic  bb.1.entry:
54*1f559353SPetar Avramovic    liveins: $a0
55*1f559353SPetar Avramovic
56*1f559353SPetar Avramovic    ; MIPS32-LABEL: name: and_imm
57*1f559353SPetar Avramovic    ; MIPS32: liveins: $a0
58*1f559353SPetar Avramovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
59*1f559353SPetar Avramovic    ; MIPS32: [[ANDi:%[0-9]+]]:gpr32 = ANDi [[COPY]], 255
60*1f559353SPetar Avramovic    ; MIPS32: $v0 = COPY [[ANDi]]
61*1f559353SPetar Avramovic    ; MIPS32: RetRA implicit $v0
62*1f559353SPetar Avramovic    %0:gprb(s32) = COPY $a0
63*1f559353SPetar Avramovic    %1:gprb(s32) = G_CONSTANT i32 255
64*1f559353SPetar Avramovic    %2:gprb(s32) = G_AND %0, %1
65*1f559353SPetar Avramovic    $v0 = COPY %2(s32)
66*1f559353SPetar Avramovic    RetRA implicit $v0
67*1f559353SPetar Avramovic
68*1f559353SPetar Avramovic...
69*1f559353SPetar Avramovic---
70*1f559353SPetar Avramovicname:            and_not_imm32ZExt16
71*1f559353SPetar Avramovicalignment:       4
72*1f559353SPetar Avramoviclegalized:       true
73*1f559353SPetar AvramovicregBankSelected: true
74*1f559353SPetar AvramovictracksRegLiveness: true
75*1f559353SPetar Avramovicbody:             |
76*1f559353SPetar Avramovic  bb.1.entry:
77*1f559353SPetar Avramovic    liveins: $a0
78*1f559353SPetar Avramovic
79*1f559353SPetar Avramovic    ; MIPS32-LABEL: name: and_not_imm32ZExt16
80*1f559353SPetar Avramovic    ; MIPS32: liveins: $a0
81*1f559353SPetar Avramovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
82*1f559353SPetar Avramovic    ; MIPS32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 65280
83*1f559353SPetar Avramovic    ; MIPS32: [[AND:%[0-9]+]]:gpr32 = AND [[COPY]], [[ADDiu]]
84*1f559353SPetar Avramovic    ; MIPS32: $v0 = COPY [[AND]]
85*1f559353SPetar Avramovic    ; MIPS32: RetRA implicit $v0
86*1f559353SPetar Avramovic    %0:gprb(s32) = COPY $a0
87*1f559353SPetar Avramovic    %1:gprb(s32) = G_CONSTANT i32 -256
88*1f559353SPetar Avramovic    %2:gprb(s32) = G_AND %0, %1
89*1f559353SPetar Avramovic    $v0 = COPY %2(s32)
90*1f559353SPetar Avramovic    RetRA implicit $v0
91*1f559353SPetar Avramovic
92*1f559353SPetar Avramovic...
93*1f559353SPetar Avramovic---
94150fd430SPetar Avramovicname:            or_i32
9548904e94SGuillaume Chateletalignment:       4
963b953c37SPetar Jovanoviclegalized:       true
973b953c37SPetar JovanovicregBankSelected: true
983b953c37SPetar JovanovictracksRegLiveness: true
993b953c37SPetar Jovanovicbody:             |
1003b953c37SPetar Jovanovic  bb.1.entry:
1013b953c37SPetar Jovanovic    liveins: $a0, $a1
1023b953c37SPetar Jovanovic
103150fd430SPetar Avramovic    ; MIPS32-LABEL: name: or_i32
1043b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0, $a1
1053b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
1063b953c37SPetar Jovanovic    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
1073b953c37SPetar Jovanovic    ; MIPS32: [[OR:%[0-9]+]]:gpr32 = OR [[COPY1]], [[COPY]]
1083b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[OR]]
1093b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
1103b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
1113b953c37SPetar Jovanovic    %1:gprb(s32) = COPY $a1
1123b953c37SPetar Jovanovic    %2:gprb(s32) = G_OR %1, %0
1133b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
1143b953c37SPetar Jovanovic    RetRA implicit $v0
1153b953c37SPetar Jovanovic
1163b953c37SPetar Jovanovic...
1173b953c37SPetar Jovanovic---
118*1f559353SPetar Avramovicname:            or_imm
119*1f559353SPetar Avramovicalignment:       4
120*1f559353SPetar Avramoviclegalized:       true
121*1f559353SPetar AvramovicregBankSelected: true
122*1f559353SPetar AvramovictracksRegLiveness: true
123*1f559353SPetar Avramovicbody:             |
124*1f559353SPetar Avramovic  bb.1.entry:
125*1f559353SPetar Avramovic    liveins: $a0
126*1f559353SPetar Avramovic
127*1f559353SPetar Avramovic    ; MIPS32-LABEL: name: or_imm
128*1f559353SPetar Avramovic    ; MIPS32: liveins: $a0
129*1f559353SPetar Avramovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
130*1f559353SPetar Avramovic    ; MIPS32: [[ORi:%[0-9]+]]:gpr32 = ORi [[COPY]], 65535
131*1f559353SPetar Avramovic    ; MIPS32: $v0 = COPY [[ORi]]
132*1f559353SPetar Avramovic    ; MIPS32: RetRA implicit $v0
133*1f559353SPetar Avramovic    %0:gprb(s32) = COPY $a0
134*1f559353SPetar Avramovic    %1:gprb(s32) = G_CONSTANT i32 65535
135*1f559353SPetar Avramovic    %2:gprb(s32) = G_OR %0, %1
136*1f559353SPetar Avramovic    $v0 = COPY %2(s32)
137*1f559353SPetar Avramovic    RetRA implicit $v0
138*1f559353SPetar Avramovic
139*1f559353SPetar Avramovic...
140*1f559353SPetar Avramovic---
141*1f559353SPetar Avramovicname:            or_not_imm32ZExt16
142*1f559353SPetar Avramovicalignment:       4
143*1f559353SPetar Avramoviclegalized:       true
144*1f559353SPetar AvramovicregBankSelected: true
145*1f559353SPetar AvramovictracksRegLiveness: true
146*1f559353SPetar Avramovicbody:             |
147*1f559353SPetar Avramovic  bb.1.entry:
148*1f559353SPetar Avramovic    liveins: $a0
149*1f559353SPetar Avramovic
150*1f559353SPetar Avramovic    ; MIPS32-LABEL: name: or_not_imm32ZExt16
151*1f559353SPetar Avramovic    ; MIPS32: liveins: $a0
152*1f559353SPetar Avramovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
153*1f559353SPetar Avramovic    ; MIPS32: [[LUi:%[0-9]+]]:gpr32 = LUi 1
154*1f559353SPetar Avramovic    ; MIPS32: [[OR:%[0-9]+]]:gpr32 = OR [[COPY]], [[LUi]]
155*1f559353SPetar Avramovic    ; MIPS32: $v0 = COPY [[OR]]
156*1f559353SPetar Avramovic    ; MIPS32: RetRA implicit $v0
157*1f559353SPetar Avramovic    %0:gprb(s32) = COPY $a0
158*1f559353SPetar Avramovic    %1:gprb(s32) = G_CONSTANT i32 65536
159*1f559353SPetar Avramovic    %2:gprb(s32) = G_OR %0, %1
160*1f559353SPetar Avramovic    $v0 = COPY %2(s32)
161*1f559353SPetar Avramovic    RetRA implicit $v0
162*1f559353SPetar Avramovic
163*1f559353SPetar Avramovic...
164*1f559353SPetar Avramovic---
165150fd430SPetar Avramovicname:            xor_i32
16648904e94SGuillaume Chateletalignment:       4
1673b953c37SPetar Jovanoviclegalized:       true
1683b953c37SPetar JovanovicregBankSelected: true
1693b953c37SPetar JovanovictracksRegLiveness: true
1703b953c37SPetar Jovanovicbody:             |
1713b953c37SPetar Jovanovic  bb.1.entry:
1723b953c37SPetar Jovanovic    liveins: $a0, $a1
1733b953c37SPetar Jovanovic
174150fd430SPetar Avramovic    ; MIPS32-LABEL: name: xor_i32
1753b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0, $a1
1763b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
1773b953c37SPetar Jovanovic    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
1783b953c37SPetar Jovanovic    ; MIPS32: [[XOR:%[0-9]+]]:gpr32 = XOR [[COPY1]], [[COPY]]
1793b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[XOR]]
1803b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
1813b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
1823b953c37SPetar Jovanovic    %1:gprb(s32) = COPY $a1
1833b953c37SPetar Jovanovic    %2:gprb(s32) = G_XOR %1, %0
1843b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
1853b953c37SPetar Jovanovic    RetRA implicit $v0
1863b953c37SPetar Jovanovic
1873b953c37SPetar Jovanovic...
1883b953c37SPetar Jovanovic---
189*1f559353SPetar Avramovicname:            xor_imm
190*1f559353SPetar Avramovicalignment:       4
191*1f559353SPetar Avramoviclegalized:       true
192*1f559353SPetar AvramovicregBankSelected: true
193*1f559353SPetar AvramovictracksRegLiveness: true
194*1f559353SPetar Avramovicbody:             |
195*1f559353SPetar Avramovic  bb.1.entry:
196*1f559353SPetar Avramovic    liveins: $a0
197*1f559353SPetar Avramovic
198*1f559353SPetar Avramovic    ; MIPS32-LABEL: name: xor_imm
199*1f559353SPetar Avramovic    ; MIPS32: liveins: $a0
200*1f559353SPetar Avramovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
201*1f559353SPetar Avramovic    ; MIPS32: [[XORi:%[0-9]+]]:gpr32 = XORi [[COPY]], 1
202*1f559353SPetar Avramovic    ; MIPS32: $v0 = COPY [[XORi]]
203*1f559353SPetar Avramovic    ; MIPS32: RetRA implicit $v0
204*1f559353SPetar Avramovic    %0:gprb(s32) = COPY $a0
205*1f559353SPetar Avramovic    %1:gprb(s32) = G_CONSTANT i32 1
206*1f559353SPetar Avramovic    %2:gprb(s32) = G_XOR %0, %1
207*1f559353SPetar Avramovic    $v0 = COPY %2(s32)
208*1f559353SPetar Avramovic    RetRA implicit $v0
209*1f559353SPetar Avramovic
210*1f559353SPetar Avramovic...
211*1f559353SPetar Avramovic---
212*1f559353SPetar Avramovicname:            xor_not_imm32ZExt16
213*1f559353SPetar Avramovicalignment:       4
214*1f559353SPetar Avramoviclegalized:       true
215*1f559353SPetar AvramovicregBankSelected: true
216*1f559353SPetar AvramovictracksRegLiveness: true
217*1f559353SPetar Avramovicbody:             |
218*1f559353SPetar Avramovic  bb.1.entry:
219*1f559353SPetar Avramovic    liveins: $a0
220*1f559353SPetar Avramovic
221*1f559353SPetar Avramovic    ; MIPS32-LABEL: name: xor_not_imm32ZExt16
222*1f559353SPetar Avramovic    ; MIPS32: liveins: $a0
223*1f559353SPetar Avramovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
224*1f559353SPetar Avramovic    ; MIPS32: [[NOR:%[0-9]+]]:gpr32 = NOR [[COPY]], $zero
225*1f559353SPetar Avramovic    ; MIPS32: $v0 = COPY [[NOR]]
226*1f559353SPetar Avramovic    ; MIPS32: RetRA implicit $v0
227*1f559353SPetar Avramovic    %0:gprb(s32) = COPY $a0
228*1f559353SPetar Avramovic    %1:gprb(s32) = G_CONSTANT i32 -1
229*1f559353SPetar Avramovic    %2:gprb(s32) = G_XOR %0, %1
230*1f559353SPetar Avramovic    $v0 = COPY %2(s32)
231*1f559353SPetar Avramovic    RetRA implicit $v0
232*1f559353SPetar Avramovic
233*1f559353SPetar Avramovic...
234*1f559353SPetar Avramovic---
2353b953c37SPetar Jovanovicname:            shl
23648904e94SGuillaume Chateletalignment:       4
2373b953c37SPetar Jovanoviclegalized:       true
2383b953c37SPetar JovanovicregBankSelected: true
2393b953c37SPetar JovanovictracksRegLiveness: true
2403b953c37SPetar Jovanovicbody:             |
2413b953c37SPetar Jovanovic  bb.1.entry:
2423b953c37SPetar Jovanovic    liveins: $a0
2433b953c37SPetar Jovanovic
2443b953c37SPetar Jovanovic    ; MIPS32-LABEL: name: shl
2453b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0
2463b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
2473b953c37SPetar Jovanovic    ; MIPS32: [[SLL:%[0-9]+]]:gpr32 = SLL [[COPY]], 1
2483b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[SLL]]
2493b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
2503b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
2513b953c37SPetar Jovanovic    %1:gprb(s32) = G_CONSTANT i32 1
2523b953c37SPetar Jovanovic    %2:gprb(s32) = G_SHL %0, %1
2533b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
2543b953c37SPetar Jovanovic    RetRA implicit $v0
2553b953c37SPetar Jovanovic
2563b953c37SPetar Jovanovic...
2573b953c37SPetar Jovanovic---
2583b953c37SPetar Jovanovicname:            ashr
25948904e94SGuillaume Chateletalignment:       4
2603b953c37SPetar Jovanoviclegalized:       true
2613b953c37SPetar JovanovicregBankSelected: true
2623b953c37SPetar JovanovictracksRegLiveness: true
2633b953c37SPetar Jovanovicbody:             |
2643b953c37SPetar Jovanovic  bb.1.entry:
2653b953c37SPetar Jovanovic    liveins: $a0
2663b953c37SPetar Jovanovic
2673b953c37SPetar Jovanovic    ; MIPS32-LABEL: name: ashr
2683b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0
2693b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
2703b953c37SPetar Jovanovic    ; MIPS32: [[SRA:%[0-9]+]]:gpr32 = SRA [[COPY]], 1
2713b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[SRA]]
2723b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
2733b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
2743b953c37SPetar Jovanovic    %1:gprb(s32) = G_CONSTANT i32 1
2753b953c37SPetar Jovanovic    %2:gprb(s32) = G_ASHR %0, %1
2763b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
2773b953c37SPetar Jovanovic    RetRA implicit $v0
2783b953c37SPetar Jovanovic
2793b953c37SPetar Jovanovic...
2803b953c37SPetar Jovanovic---
2813b953c37SPetar Jovanovicname:            lshr
28248904e94SGuillaume Chateletalignment:       4
2833b953c37SPetar Jovanoviclegalized:       true
2843b953c37SPetar JovanovicregBankSelected: true
2853b953c37SPetar JovanovictracksRegLiveness: true
2863b953c37SPetar Jovanovicbody:             |
2873b953c37SPetar Jovanovic  bb.1.entry:
2883b953c37SPetar Jovanovic    liveins: $a0
2893b953c37SPetar Jovanovic
2903b953c37SPetar Jovanovic    ; MIPS32-LABEL: name: lshr
2913b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0
2923b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
2933b953c37SPetar Jovanovic    ; MIPS32: [[SRL:%[0-9]+]]:gpr32 = SRL [[COPY]], 1
2943b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[SRL]]
2953b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
2963b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
2973b953c37SPetar Jovanovic    %1:gprb(s32) = G_CONSTANT i32 1
2983b953c37SPetar Jovanovic    %2:gprb(s32) = G_LSHR %0, %1
2993b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
3003b953c37SPetar Jovanovic    RetRA implicit $v0
3013b953c37SPetar Jovanovic
3023b953c37SPetar Jovanovic...
3033b953c37SPetar Jovanovic---
3043b953c37SPetar Jovanovicname:            shlv
30548904e94SGuillaume Chateletalignment:       4
3063b953c37SPetar Jovanoviclegalized:       true
3073b953c37SPetar JovanovicregBankSelected: true
3083b953c37SPetar JovanovictracksRegLiveness: true
3093b953c37SPetar Jovanovicbody:             |
3103b953c37SPetar Jovanovic  bb.1.entry:
3113b953c37SPetar Jovanovic    liveins: $a0, $a1
3123b953c37SPetar Jovanovic
3133b953c37SPetar Jovanovic    ; MIPS32-LABEL: name: shlv
3143b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0, $a1
3153b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
3163b953c37SPetar Jovanovic    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
3173b953c37SPetar Jovanovic    ; MIPS32: [[SLLV:%[0-9]+]]:gpr32 = SLLV [[COPY]], [[COPY1]]
3183b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[SLLV]]
3193b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
3203b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
3213b953c37SPetar Jovanovic    %1:gprb(s32) = COPY $a1
3223b953c37SPetar Jovanovic    %2:gprb(s32) = G_SHL %0, %1
3233b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
3243b953c37SPetar Jovanovic    RetRA implicit $v0
3253b953c37SPetar Jovanovic
3263b953c37SPetar Jovanovic...
3273b953c37SPetar Jovanovic---
3283b953c37SPetar Jovanovicname:            ashrv
32948904e94SGuillaume Chateletalignment:       4
3303b953c37SPetar Jovanoviclegalized:       true
3313b953c37SPetar JovanovicregBankSelected: true
3323b953c37SPetar JovanovictracksRegLiveness: true
3333b953c37SPetar Jovanovicbody:             |
3343b953c37SPetar Jovanovic  bb.1.entry:
3353b953c37SPetar Jovanovic    liveins: $a0, $a1
3363b953c37SPetar Jovanovic
3373b953c37SPetar Jovanovic    ; MIPS32-LABEL: name: ashrv
3383b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0, $a1
3393b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
3403b953c37SPetar Jovanovic    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
3413b953c37SPetar Jovanovic    ; MIPS32: [[SRAV:%[0-9]+]]:gpr32 = SRAV [[COPY]], [[COPY1]]
3423b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[SRAV]]
3433b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
3443b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
3453b953c37SPetar Jovanovic    %1:gprb(s32) = COPY $a1
3463b953c37SPetar Jovanovic    %2:gprb(s32) = G_ASHR %0, %1
3473b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
3483b953c37SPetar Jovanovic    RetRA implicit $v0
3493b953c37SPetar Jovanovic
3503b953c37SPetar Jovanovic...
3513b953c37SPetar Jovanovic---
3523b953c37SPetar Jovanovicname:            lshrv
35348904e94SGuillaume Chateletalignment:       4
3543b953c37SPetar Jovanoviclegalized:       true
3553b953c37SPetar JovanovicregBankSelected: true
3563b953c37SPetar JovanovictracksRegLiveness: true
3573b953c37SPetar Jovanovicbody:             |
3583b953c37SPetar Jovanovic  bb.1.entry:
3593b953c37SPetar Jovanovic    liveins: $a0, $a1
3603b953c37SPetar Jovanovic
3613b953c37SPetar Jovanovic    ; MIPS32-LABEL: name: lshrv
3623b953c37SPetar Jovanovic    ; MIPS32: liveins: $a0, $a1
3633b953c37SPetar Jovanovic    ; MIPS32: [[COPY:%[0-9]+]]:gpr32 = COPY $a0
3643b953c37SPetar Jovanovic    ; MIPS32: [[COPY1:%[0-9]+]]:gpr32 = COPY $a1
3653b953c37SPetar Jovanovic    ; MIPS32: [[SRLV:%[0-9]+]]:gpr32 = SRLV [[COPY]], [[COPY1]]
3663b953c37SPetar Jovanovic    ; MIPS32: $v0 = COPY [[SRLV]]
3673b953c37SPetar Jovanovic    ; MIPS32: RetRA implicit $v0
3683b953c37SPetar Jovanovic    %0:gprb(s32) = COPY $a0
3693b953c37SPetar Jovanovic    %1:gprb(s32) = COPY $a1
3703b953c37SPetar Jovanovic    %2:gprb(s32) = G_LSHR %0, %1
3713b953c37SPetar Jovanovic    $v0 = COPY %2(s32)
3723b953c37SPetar Jovanovic    RetRA implicit $v0
3733b953c37SPetar Jovanovic
3743b953c37SPetar Jovanovic...
375