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