xref: /aosp_15_r20/external/llvm/test/MC/Mips/mips-control-instructions.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc %s -triple=mips-unknown-unknown -show-encoding -mcpu=mips32r2 | \
2*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck -check-prefix=CHECK32  %s
3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc %s -triple=mips64-unknown-unknown -show-encoding -mcpu=mips64r2 \
4*9880d681SAndroid Build Coastguard Worker# RUN: | FileCheck -check-prefix=CHECK64  %s
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker# CHECK32:    break                      # encoding: [0x00,0x00,0x00,0x0d]
7*9880d681SAndroid Build Coastguard Worker# CHECK32:    break   7                  # encoding: [0x00,0x07,0x00,0x0d]
8*9880d681SAndroid Build Coastguard Worker# CHECK32:    break   7, 5               # encoding: [0x00,0x07,0x01,0x4d]
9*9880d681SAndroid Build Coastguard Worker# CHECK32:    eret                       # encoding: [0x42,0x00,0x00,0x18]
10*9880d681SAndroid Build Coastguard Worker# CHECK32:    deret                      # encoding: [0x42,0x00,0x00,0x1f]
11*9880d681SAndroid Build Coastguard Worker# CHECK32:    di                         # encoding: [0x41,0x60,0x60,0x00]
12*9880d681SAndroid Build Coastguard Worker# CHECK32:    di                         # encoding: [0x41,0x60,0x60,0x00]
13*9880d681SAndroid Build Coastguard Worker# CHECK32:    di      $10                # encoding: [0x41,0x6a,0x60,0x00]
14*9880d681SAndroid Build Coastguard Worker# CHECK32:    ei                         # encoding: [0x41,0x60,0x60,0x20]
15*9880d681SAndroid Build Coastguard Worker# CHECK32:    ei                         # encoding: [0x41,0x60,0x60,0x20]
16*9880d681SAndroid Build Coastguard Worker# CHECK32:    ei      $10                # encoding: [0x41,0x6a,0x60,0x20]
17*9880d681SAndroid Build Coastguard Worker# CHECK32:    wait                       # encoding: [0x42,0x00,0x00,0x20]
18*9880d681SAndroid Build Coastguard Worker# CHECK32:    teq     $zero, $3          # encoding: [0x00,0x03,0x00,0x34]
19*9880d681SAndroid Build Coastguard Worker# CHECK32:    teq     $zero, $3, 1       # encoding: [0x00,0x03,0x00,0x74]
20*9880d681SAndroid Build Coastguard Worker# CHECK32:    teqi    $3, 1              # encoding: [0x04,0x6c,0x00,0x01]
21*9880d681SAndroid Build Coastguard Worker# CHECK32:    tge     $zero, $3          # encoding: [0x00,0x03,0x00,0x30]
22*9880d681SAndroid Build Coastguard Worker# CHECK32:    tge     $zero, $3, 3       # encoding: [0x00,0x03,0x00,0xf0]
23*9880d681SAndroid Build Coastguard Worker# CHECK32:    tgei    $3, 3              # encoding: [0x04,0x68,0x00,0x03]
24*9880d681SAndroid Build Coastguard Worker# CHECK32:    tgeu    $zero, $3          # encoding: [0x00,0x03,0x00,0x31]
25*9880d681SAndroid Build Coastguard Worker# CHECK32:    tgeu    $zero, $3, 7       # encoding: [0x00,0x03,0x01,0xf1]
26*9880d681SAndroid Build Coastguard Worker# CHECK32:    tgeiu   $3, 7              # encoding: [0x04,0x69,0x00,0x07]
27*9880d681SAndroid Build Coastguard Worker# CHECK32:    tlt     $zero, $3          # encoding: [0x00,0x03,0x00,0x32]
28*9880d681SAndroid Build Coastguard Worker# CHECK32:    tlt     $zero, $3, 31      # encoding: [0x00,0x03,0x07,0xf2]
29*9880d681SAndroid Build Coastguard Worker# CHECK32:    tlti    $3, 31             # encoding: [0x04,0x6a,0x00,0x1f]
30*9880d681SAndroid Build Coastguard Worker# CHECK32:    tltu    $zero, $3          # encoding: [0x00,0x03,0x00,0x33]
31*9880d681SAndroid Build Coastguard Worker# CHECK32:    tltu    $zero, $3, 255     # encoding: [0x00,0x03,0x3f,0xf3]
32*9880d681SAndroid Build Coastguard Worker# CHECK32:    tltiu   $3, 255            # encoding: [0x04,0x6b,0x00,0xff]
33*9880d681SAndroid Build Coastguard Worker# CHECK32:    tne     $zero, $3          # encoding: [0x00,0x03,0x00,0x36]
34*9880d681SAndroid Build Coastguard Worker# CHECK32:    tne     $zero, $3, 1023    # encoding: [0x00,0x03,0xff,0xf6]
35*9880d681SAndroid Build Coastguard Worker# CHECK32:    tnei    $3, 1023           # encoding: [0x04,0x6e,0x03,0xff]
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Worker# CHECK64:    break                      # encoding: [0x00,0x00,0x00,0x0d]
38*9880d681SAndroid Build Coastguard Worker# CHECK64:    break   7                  # encoding: [0x00,0x07,0x00,0x0d]
39*9880d681SAndroid Build Coastguard Worker# CHECK64:    break   7, 5               # encoding: [0x00,0x07,0x01,0x4d]
40*9880d681SAndroid Build Coastguard Worker# CHECK64:    eret                       # encoding: [0x42,0x00,0x00,0x18]
41*9880d681SAndroid Build Coastguard Worker# CHECK64:    deret                      # encoding: [0x42,0x00,0x00,0x1f]
42*9880d681SAndroid Build Coastguard Worker# CHECK64:    di                         # encoding: [0x41,0x60,0x60,0x00]
43*9880d681SAndroid Build Coastguard Worker# CHECK64:    di                         # encoding: [0x41,0x60,0x60,0x00]
44*9880d681SAndroid Build Coastguard Worker# CHECK64:    di      $10                # encoding: [0x41,0x6a,0x60,0x00]
45*9880d681SAndroid Build Coastguard Worker# CHECK64:    ei                         # encoding: [0x41,0x60,0x60,0x20]
46*9880d681SAndroid Build Coastguard Worker# CHECK64:    ei                         # encoding: [0x41,0x60,0x60,0x20]
47*9880d681SAndroid Build Coastguard Worker# CHECK64:    ei      $10                # encoding: [0x41,0x6a,0x60,0x20]
48*9880d681SAndroid Build Coastguard Worker# CHECK64:    wait                       # encoding: [0x42,0x00,0x00,0x20]
49*9880d681SAndroid Build Coastguard Worker# CHECK64:    teq     $zero, $3          # encoding: [0x00,0x03,0x00,0x34]
50*9880d681SAndroid Build Coastguard Worker# CHECK64:    teq     $zero, $3, 1       # encoding: [0x00,0x03,0x00,0x74]
51*9880d681SAndroid Build Coastguard Worker# CHECK64:    teqi    $3, 1              # encoding: [0x04,0x6c,0x00,0x01]
52*9880d681SAndroid Build Coastguard Worker# CHECK64:    tge     $zero, $3          # encoding: [0x00,0x03,0x00,0x30]
53*9880d681SAndroid Build Coastguard Worker# CHECK64:    tge     $zero, $3, 3       # encoding: [0x00,0x03,0x00,0xf0]
54*9880d681SAndroid Build Coastguard Worker# CHECK64:    tgei    $3, 3              # encoding: [0x04,0x68,0x00,0x03]
55*9880d681SAndroid Build Coastguard Worker# CHECK64:    tgeu    $zero, $3          # encoding: [0x00,0x03,0x00,0x31]
56*9880d681SAndroid Build Coastguard Worker# CHECK64:    tgeu    $zero, $3, 7       # encoding: [0x00,0x03,0x01,0xf1]
57*9880d681SAndroid Build Coastguard Worker# CHECK64:    tgeiu   $3, 7              # encoding: [0x04,0x69,0x00,0x07]
58*9880d681SAndroid Build Coastguard Worker# CHECK64:    tlt     $zero, $3          # encoding: [0x00,0x03,0x00,0x32]
59*9880d681SAndroid Build Coastguard Worker# CHECK64:    tlt     $zero, $3, 31      # encoding: [0x00,0x03,0x07,0xf2]
60*9880d681SAndroid Build Coastguard Worker# CHECK64:    tlti    $3, 31             # encoding: [0x04,0x6a,0x00,0x1f]
61*9880d681SAndroid Build Coastguard Worker# CHECK64:    tltu    $zero, $3          # encoding: [0x00,0x03,0x00,0x33]
62*9880d681SAndroid Build Coastguard Worker# CHECK64:    tltu    $zero, $3, 255     # encoding: [0x00,0x03,0x3f,0xf3]
63*9880d681SAndroid Build Coastguard Worker# CHECK64:    tltiu   $3, 255            # encoding: [0x04,0x6b,0x00,0xff]
64*9880d681SAndroid Build Coastguard Worker# CHECK64:    tne     $zero, $3          # encoding: [0x00,0x03,0x00,0x36]
65*9880d681SAndroid Build Coastguard Worker# CHECK64:    tne     $zero, $3, 1023    # encoding: [0x00,0x03,0xff,0xf6]
66*9880d681SAndroid Build Coastguard Worker# CHECK64:    tnei    $3, 1023           # encoding: [0x04,0x6e,0x03,0xff]
67*9880d681SAndroid Build Coastguard Worker
68*9880d681SAndroid Build Coastguard Worker    break
69*9880d681SAndroid Build Coastguard Worker    break 7
70*9880d681SAndroid Build Coastguard Worker    break 7,5
71*9880d681SAndroid Build Coastguard Worker    eret
72*9880d681SAndroid Build Coastguard Worker    deret
73*9880d681SAndroid Build Coastguard Worker    di
74*9880d681SAndroid Build Coastguard Worker    di  $0
75*9880d681SAndroid Build Coastguard Worker    di  $10
76*9880d681SAndroid Build Coastguard Worker
77*9880d681SAndroid Build Coastguard Worker    ei
78*9880d681SAndroid Build Coastguard Worker    ei  $0
79*9880d681SAndroid Build Coastguard Worker    ei  $10
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Worker    wait
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker    teq   $0,$3
84*9880d681SAndroid Build Coastguard Worker    teq   $0,$3,1
85*9880d681SAndroid Build Coastguard Worker    teqi  $3,1
86*9880d681SAndroid Build Coastguard Worker    tge   $0,$3
87*9880d681SAndroid Build Coastguard Worker    tge   $0,$3,3
88*9880d681SAndroid Build Coastguard Worker    tgei  $3,3
89*9880d681SAndroid Build Coastguard Worker    tgeu  $0,$3
90*9880d681SAndroid Build Coastguard Worker    tgeu  $0,$3,7
91*9880d681SAndroid Build Coastguard Worker    tgeiu $3,7
92*9880d681SAndroid Build Coastguard Worker    tlt   $0,$3
93*9880d681SAndroid Build Coastguard Worker    tlt   $0,$3,31
94*9880d681SAndroid Build Coastguard Worker    tlti  $3,31
95*9880d681SAndroid Build Coastguard Worker    tltu  $0,$3
96*9880d681SAndroid Build Coastguard Worker    tltu  $0,$3,255
97*9880d681SAndroid Build Coastguard Worker    tltiu $3,255
98*9880d681SAndroid Build Coastguard Worker    tne   $0,$3
99*9880d681SAndroid Build Coastguard Worker    tne   $0,$3,1023
100*9880d681SAndroid Build Coastguard Worker    tnei  $3,1023
101