Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / Mips / micromips-b-range.ll
blob26f8cfd31ceba626a7e3df863801bddb2bb8dab9
1 ; RUN: llc -mtriple=mips -relocation-model=pic -mattr=+micromips \
2 ; RUN:     -filetype=obj -o - %s | llvm-objdump --no-print-imm-hex -d - | FileCheck %s
4 ; CHECK-LABEL: <foo>:
5 ; CHECK-NEXT:     0:    41 a2 00 00     lui     $2, 0
6 ; CHECK-NEXT:     4:    30 42 00 00     addiu   $2, $2, 0
7 ; CHECK-NEXT:     8:    03 22 11 50     addu    $2, $2, $25
8 ; CHECK-NEXT:     c:    fc 42 00 00     lw      $2, 0($2)
9 ; CHECK-NEXT:    10:    69 20         lw16      $2, 0($2)
10 ; CHECK-NEXT:    12:    40 c2 00 14     bgtz    $2, 0x3e <foo+0x3e>
11 ; CHECK-NEXT:    16:    00 00 00 00     nop
12 ; CHECK-NEXT:    1a:    33 bd ff f8     addiu   $sp, $sp, -8
13 ; CHECK-NEXT:    1e:    fb fd 00 00     sw      $ra, 0($sp)
14 ; CHECK-NEXT:    22:    41 a1 00 01     lui     $1, 1
15 ; CHECK-NEXT:    26:    40 60 00 02     bal     0x2e <foo+0x2e>
16 ; CHECK-NEXT:    2a:    30 21 04 68     addiu   $1, $1, 1128
17 ; CHECK-NEXT:    2e:    00 3f 09 50     addu    $1, $ra, $1
18 ; CHECK-NEXT:    32:    ff fd 00 00     lw      $ra, 0($sp)
19 ; CHECK-NEXT:    36:    00 01 0f 3c     jr      $1
20 ; CHECK-NEXT:    3a:    33 bd 00 08     addiu   $sp, $sp, 8
21 ; CHECK-NEXT:    3e:    94 00 00 02     b       0x46 <foo+0x46>
22 ; CHECK-NEXT:    42:    00 00 00 00     nop
23 ; CHECK-NEXT:    46:    30 20 4e 1f     addiu   $1, $zero, 19999
24 ; CHECK-NEXT:    4a:    b4 22 00 14     bne     $2, $1, 0x76 <foo+0x76>
25 ; CHECK-NEXT:    4e:    00 00 00 00     nop
26 ; CHECK-NEXT:    52:    33 bd ff f8     addiu   $sp, $sp, -8
27 ; CHECK-NEXT:    56:    fb fd 00 00     sw      $ra, 0($sp)
28 ; CHECK-NEXT:    5a:    41 a1 00 01     lui     $1, 1
29 ; CHECK-NEXT:    5e:    40 60 00 02     bal     0x66 <foo+0x66>
30 ; CHECK-NEXT:    62:    30 21 04 5c     addiu   $1, $1, 1116
31 ; CHECK-NEXT:    66:    00 3f 09 50     addu    $1, $ra, $1
32 ; CHECK-NEXT:    6a:    ff fd 00 00     lw      $ra, 0($sp)
33 ; CHECK-NEXT:    6e:    00 01 0f 3c     jr      $1
34 ; CHECK-NEXT:    72:    33 bd 00 08     addiu   $sp, $sp, 8
35 ; CHECK-NEXT:    76:    30 20 27 0f     addiu   $1, $zero, 9999
36 ; CHECK-NEXT:    7a:    94 22 00 14     beq     $2, $1, 0xa6 <foo+0xa6>
37 ; CHECK-NEXT:    7e:    00 00 00 00     nop
38 ; CHECK-NEXT:    82:    33 bd ff f8     addiu   $sp, $sp, -8
39 ; CHECK-NEXT:    86:    fb fd 00 00     sw      $ra, 0($sp)
40 ; CHECK-NEXT:    8a:    41 a1 00 01     lui     $1, 1
41 ; CHECK-NEXT:    8e:    40 60 00 02     bal     0x96 <foo+0x96>
42 ; CHECK-NEXT:    92:    30 21 04 2c     addiu   $1, $1, 1068
43 ; CHECK-NEXT:    96:    00 3f 09 50     addu    $1, $ra, $1
44 ; CHECK-NEXT:    9a:    ff fd 00 00     lw      $ra, 0($sp)
45 ; CHECK-NEXT:    9e:    00 01 0f 3c     jr      $1
46 ; CHECK-NEXT:    a2:    33 bd 00 08     addiu   $sp, $sp, 8
47 ; CHECK:                ...
48 ; CHECK-NEXT: 1046a:    94 00 00 02     b       0x10472 <foo+0x10472>
49 ; CHECK-NEXT: 1046e:    00 00 00 00     nop
50 ; CHECK-NEXT: 10472:    33 bd ff f8     addiu   $sp, $sp, -8
51 ; CHECK-NEXT: 10476:    fb fd 00 00     sw      $ra, 0($sp)
52 ; CHECK-NEXT: 1047a:    41 a1 00 01     lui     $1, 1
53 ; CHECK-NEXT: 1047e:    40 60 00 02     bal     0x10486 <foo+0x10486>
54 ; CHECK-NEXT: 10482:    30 21 04 00     addiu   $1, $1, 1024
55 ; CHECK-NEXT: 10486:    00 3f 09 50     addu    $1, $ra, $1
56 ; CHECK-NEXT: 1048a:    ff fd 00 00     lw      $ra, 0($sp)
57 ; CHECK-NEXT: 1048e:    00 01 0f 3c     jr      $1
58 ; CHECK-NEXT: 10492:    33 bd 00 08     addiu   $sp, $sp, 8
59 ; CHECK-NEXT: 10496:    94 00 00 02     b       0x1049e <foo+0x1049e>
61 @x = external global i32, align 4
63 define void @foo() {
64   %1 = load i32, ptr @x, align 4
65   %2 = icmp sgt i32 %1, 0
66   br i1 %2, label %la, label %lf
68 la:
69   switch i32 %1, label %le [
70     i32 9999, label %lb
71     i32 19999, label %lc
72   ]
74 lb:
75   tail call void asm sideeffect ".space 0", ""()
76   br label %le
78 lc:
79   tail call void asm sideeffect ".space 0", ""()
80   br label %le
82 le:
83   tail call void asm sideeffect ".space 66500", ""()
84   br label %lg
86 lf:
87   tail call void asm sideeffect ".space 0", ""()
88   br label %lg
90 lg:
91   tail call void asm sideeffect ".space 0", ""()
92   br label %li
94 li:
95   tail call void asm sideeffect ".space 0", ""()
96   ret void