blob: 47da8ccca3c4e322c4d7a472022107342364cef7 [file] [log] [blame]
Vladimir Medic29410f92013-07-17 14:05:19 +00001# RUN: llvm-mc %s -triple=mips-unknown-unknown -show-encoding -mcpu=mips32r2 | \
2# RUN: FileCheck -check-prefix=CHECK32 %s
Vladimir Medic8277c182013-08-26 10:02:40 +00003# RUN: llvm-mc %s -triple=mips64-unknown-unknown -show-encoding -mcpu=mips64r2 \
4# RUN: | FileCheck -check-prefix=CHECK64 %s
Vladimir Medic29410f92013-07-17 14:05:19 +00005
6# CHECK32: break # encoding: [0x00,0x00,0x00,0x0d]
Tim Northoveree20caa2014-05-12 18:04:06 +00007# CHECK32: break 7 # encoding: [0x00,0x07,0x00,0x0d]
Vladimir Medic29410f92013-07-17 14:05:19 +00008# 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]
Vladimir Medic939877e2013-08-12 13:07:23 +000013# 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]
Vladimir Medic2df9ee62013-08-16 10:17:03 +000019# CHECK32: wait # encoding: [0x42,0x00,0x00,0x20]
Vladimir Medic8277c182013-08-26 10:02:40 +000020# 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]
Vladimir Medic29410f92013-07-17 14:05:19 +000038
39# CHECK64: break # encoding: [0x00,0x00,0x00,0x0d]
Tim Northoveree20caa2014-05-12 18:04:06 +000040# CHECK64: break 7 # encoding: [0x00,0x07,0x00,0x0d]
Vladimir Medic29410f92013-07-17 14:05:19 +000041# 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]
Vladimir Medic939877e2013-08-12 13:07:23 +000046# 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]
Vladimir Medic2df9ee62013-08-16 10:17:03 +000052# CHECK64: wait # encoding: [0x42,0x00,0x00,0x20]
Vladimir Medic8277c182013-08-26 10:02:40 +000053# 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
Vladimir Medic29410f92013-07-17 14:05:19 +000072 break
73 break 7
74 break 7,5
75 syscall
76 syscall 0x3454
77 eret
78 deret
Vladimir Medic939877e2013-08-12 13:07:23 +000079 di
80 di $0
81 di $10
82
83 ei
84 ei $0
85 ei $10
Vladimir Medic2df9ee62013-08-16 10:17:03 +000086
87 wait
Vladimir Medic8277c182013-08-26 10:02:40 +000088
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