xref: /aosp_15_r20/external/llvm/test/MC/Mips/mips-jump-delay-slots.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# Verify that every branch and jump instruction is followed by a delay slot
2*9880d681SAndroid Build Coastguard Worker# except for the branch likely instructions.
3*9880d681SAndroid Build Coastguard Worker#
4*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 | FileCheck %s
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker        .set noat
7*9880d681SAndroid Build Coastguard Worker        # CHECK: b 1332
8*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
9*9880d681SAndroid Build Coastguard Worker        b 1332
10*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1f 1332
11*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
12*9880d681SAndroid Build Coastguard Worker        bc1f 1332
13*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1t 1332
14*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
15*9880d681SAndroid Build Coastguard Worker        bc1t 1332
16*9880d681SAndroid Build Coastguard Worker        # CHECK: beq $9, $6, 1332
17*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
18*9880d681SAndroid Build Coastguard Worker        beq $9,$6,1332
19*9880d681SAndroid Build Coastguard Worker        # CHECK: bgez $6, 1332
20*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
21*9880d681SAndroid Build Coastguard Worker        bgez $6,1332
22*9880d681SAndroid Build Coastguard Worker        # CHECK: bgezal $6, 1332
23*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
24*9880d681SAndroid Build Coastguard Worker        bgezal $6,1332
25*9880d681SAndroid Build Coastguard Worker        # CHECK: bgtz $6, 1332
26*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
27*9880d681SAndroid Build Coastguard Worker        bgtz $6,1332
28*9880d681SAndroid Build Coastguard Worker        # CHECK: blez $6, 1332
29*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
30*9880d681SAndroid Build Coastguard Worker        blez $6,1332
31*9880d681SAndroid Build Coastguard Worker        # CHECK: bltz $6, 1332
32*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
33*9880d681SAndroid Build Coastguard Worker        bltz $6,1332
34*9880d681SAndroid Build Coastguard Worker        # CHECK: bne $9, $6, 1332
35*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
36*9880d681SAndroid Build Coastguard Worker        bne $9,$6,1332
37*9880d681SAndroid Build Coastguard Worker        # CHECK: bltzal $6, 1332
38*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
39*9880d681SAndroid Build Coastguard Worker        bltzal $6,1332
40*9880d681SAndroid Build Coastguard Worker        # CHECK: bal 1332
41*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
42*9880d681SAndroid Build Coastguard Worker        bal 1332
43*9880d681SAndroid Build Coastguard Worker        # CHECK: bnez $11, 1332
44*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
45*9880d681SAndroid Build Coastguard Worker        bnez $11,1332
46*9880d681SAndroid Build Coastguard Worker        # CHECK: beqz $11, 1332
47*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
48*9880d681SAndroid Build Coastguard Worker        beqz $11,1332
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1fl 1332
51*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
52*9880d681SAndroid Build Coastguard Worker        bc1fl 1332
53*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1fl 1332
54*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
55*9880d681SAndroid Build Coastguard Worker        bc1fl $fcc0, 1332
56*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1fl $fcc3, 1332
57*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
58*9880d681SAndroid Build Coastguard Worker        bc1fl $fcc3, 1332
59*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1tl 1332
60*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
61*9880d681SAndroid Build Coastguard Worker        bc1tl 1332
62*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1tl 1332
63*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
64*9880d681SAndroid Build Coastguard Worker        bc1tl $fcc0, 1332
65*9880d681SAndroid Build Coastguard Worker        # CHECK: bc1tl $fcc3, 1332
66*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
67*9880d681SAndroid Build Coastguard Worker        bc1tl $fcc3, 1332
68*9880d681SAndroid Build Coastguard Worker        # CHECK: beql $9, $6, 1332
69*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
70*9880d681SAndroid Build Coastguard Worker        beql $9,$6,1332
71*9880d681SAndroid Build Coastguard Worker        # CHECK: beql $9, $zero, 1332
72*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
73*9880d681SAndroid Build Coastguard Worker        beqzl $9,1332
74*9880d681SAndroid Build Coastguard Worker        # CHECK: bnel $9, $6, 1332
75*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
76*9880d681SAndroid Build Coastguard Worker        bnel $9,$6,1332
77*9880d681SAndroid Build Coastguard Worker        # CHECK: bnel $9, $zero, 1332
78*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
79*9880d681SAndroid Build Coastguard Worker        bnezl $9,1332
80*9880d681SAndroid Build Coastguard Worker        # CHECK: bgezl $6, 1332
81*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
82*9880d681SAndroid Build Coastguard Worker        bgezl $6,1332
83*9880d681SAndroid Build Coastguard Worker        # CHECK: bgtzl $6, 1332
84*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
85*9880d681SAndroid Build Coastguard Worker        bgtzl $6,1332
86*9880d681SAndroid Build Coastguard Worker        # CHECK: blezl $6, 1332
87*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
88*9880d681SAndroid Build Coastguard Worker        blezl $6,1332
89*9880d681SAndroid Build Coastguard Worker        # CHECK: bltzl $6, 1332
90*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
91*9880d681SAndroid Build Coastguard Worker        bltzl $6,1332
92*9880d681SAndroid Build Coastguard Worker        # CHECK: bgezall $6, 1332
93*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
94*9880d681SAndroid Build Coastguard Worker        bgezall $6,1332
95*9880d681SAndroid Build Coastguard Worker        # CHECK: bltzall $6, 1332
96*9880d681SAndroid Build Coastguard Worker        # CHECK-NOT: nop
97*9880d681SAndroid Build Coastguard Worker        bltzall $6,1332
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker        # CHECK: j 1328
100*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
101*9880d681SAndroid Build Coastguard Worker        j 1328
102*9880d681SAndroid Build Coastguard Worker        # CHECK: jal 1328
103*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
104*9880d681SAndroid Build Coastguard Worker        jal 1328
105*9880d681SAndroid Build Coastguard Worker        # CHECK: jalr $6
106*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
107*9880d681SAndroid Build Coastguard Worker        jalr $6
108*9880d681SAndroid Build Coastguard Worker        # CHECK: jalr $25
109*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
110*9880d681SAndroid Build Coastguard Worker        jalr $31,$25
111*9880d681SAndroid Build Coastguard Worker        # CHECK: jalr $10, $11
112*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
113*9880d681SAndroid Build Coastguard Worker        jalr $10,$11
114*9880d681SAndroid Build Coastguard Worker        # CHECK: jr $7
115*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
116*9880d681SAndroid Build Coastguard Worker        jr $7
117*9880d681SAndroid Build Coastguard Worker        # CHECK: jr $7
118*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
119*9880d681SAndroid Build Coastguard Worker        j $7
120*9880d681SAndroid Build Coastguard Worker        # CHECK: jalr $25
121*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
122*9880d681SAndroid Build Coastguard Worker        jal $25
123*9880d681SAndroid Build Coastguard Worker        # CHECK: jalr $4, $25
124*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
125*9880d681SAndroid Build Coastguard Worker        jal $4,$25
126*9880d681SAndroid Build Coastguard Worker        # CHECK: jalx lab
127*9880d681SAndroid Build Coastguard Worker        # CHECK: nop
128*9880d681SAndroid Build Coastguard Worker        jalx lab
129