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