Skip to content

Commit ff338fa

Browse files
committed
[mips] Add missing MIPS-III disassembler tests.
llvm-svn: 247416
1 parent ba4e977 commit ff338fa

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# RUN: llvm-mc %s -triple=mips-unknown-linux -disassemble -mcpu=mips3 | FileCheck %s
2+
# XFAIL: *
3+
4+
# Start with a valid instruction. Otherwise llvm-mc gives up immediately.
5+
0x00 0x00 0x00 0x00
6+
7+
# CHECK: .text
8+
0x45 0x06 0x00 0x82 # bc1fl $fcc1, 520 # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding
9+
0x45 0x07 0xd8 0x01 # bc1tl $fcc1, -40956 # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding
10+
0x45 0x08 0x14 0x02 # bc1f $fcc2, 20488 # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding
11+
0x45 0x09 0x01 0x01 # bc1t $fcc2, 1028 # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding
12+
0x48 0x00 0x00 0x01 # mfc2 $zero, $0, 1 # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding
13+
0x48 0x86 0x00 0x04 # mtc2 $6, $0, 4 # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding
14+
0xce 0x00 0x00 0x00 # pref 0, 0($16) # CHECK: :[[@LINE]]:1: warning: invalid instruction encoding

llvm/test/MC/Disassembler/Mips/mips3/valid-mips3.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
# RUN: llvm-mc %s -triple=mips64-unknown-linux -disassemble -mcpu=mips3 | FileCheck %s
22
# CHECK: .text
33
0x00 0x00 0x00 0x00 # CHECK: nop
4+
0x00 0x00 0x00 0x09 # CHECK: jr $zero
5+
0x00 0x00 0x00 0x0c # CHECK: syscall
6+
0x00 0x00 0x00 0x0d # CHECK: break
7+
0x00 0x00 0x00 0x20 # CHECK: add $zero, $zero, $zero
48
0x00 0x00 0x00 0x40 # CHECK: ssnop
9+
0x00 0x00 0x00 0x80 # CHECK: sll $zero, $zero, 2
510
0x00 0x00 0x00 0xc0 # CHECK: ehb
611
0x00 0x00 0x04 0xb8 # CHECK: dsll $zero, $zero, 18
712
0x00 0x00 0x04 0xbc # CHECK: dsll32 $zero, $zero, 18
813
0x00 0x00 0x04 0xbc # CHECK: dsll32 $zero, $zero, 18
14+
0x00 0x00 0x28 0x09 # CHECK: jalr $5, $zero
915
0x00 0x00 0x3c 0x80 # CHECK: sll $7, $zero, 18
16+
0x00 0x00 0x72 0x0d # CHECK: break 0, 456
1017
0x00 0x00 0x88 0x12 # CHECK: mflo $17
1118
0x00 0x00 0x98 0x10 # CHECK: mfhi $19
1219
0x00 0x00 0xe8 0x10 # CHECK: mfhi $sp
@@ -21,6 +28,8 @@
2128
0x00 0x06 0x9d 0xfe # CHECK: dsrl32 $19, $6, 23
2229
0x00 0x07 0x38 0x27 # CHECK: nor $7, $zero, $7
2330
0x00 0x07 0x3c 0x80 # CHECK: sll $7, $7, 18
31+
0x00 0x08 0xe8 0x22 # CHECK: neg $sp, $8
32+
0x00 0x10 0x00 0x80 # CHECK: sll $zero, $16, 2
2433
0x00 0x11 0x8b 0xc3 # CHECK: sra $17, $17, 15
2534
0x00 0x12 0xe2 0xbb # CHECK: dsra $gp, $18, 10
2635
0x00 0x12 0xe2 0xbf # CHECK: dsra32 $gp, $18, 10
@@ -30,6 +39,7 @@
3039
0x00 0x17 0x8b 0xc3 # CHECK: sra $17, $23, 15
3140
0x00 0x1c 0xe2 0xbb # CHECK: dsra $gp, $gp, 10
3241
0x00 0x1c 0xe2 0xbf # CHECK: dsra32 $gp, $gp, 10
42+
0x00 0x3a 0x3a 0xcc # CHECK: syscall 59627
3343
0x00 0x3f 0x98 0x2c # CHECK: dadd $19, $1, $ra
3444
0x00 0x3f 0x98 0x2d # CHECK: daddu $19, $1, $ra
3545
0x00 0x4c 0xb8 0x24 # CHECK: and $23, $2, $12
@@ -47,6 +57,7 @@
4757
0x00 0xba 0x28 0x2f # CHECK: dsubu $5, $5, $26
4858
0x00 0xc0 0xc8 0x21 # CHECK: move $25, $6
4959
0x00 0xc0 0xc8 0x25 # CHECK: move $25, $6
60+
0x00 0xc0 0xc8 0x27 # CHECK: not $25, $6
5061
0x00 0xc0 0xc8 0x2d # CHECK: move $25, $6
5162
0x00 0xd1 0x00 0x36 # CHECK: tne $6, $17
5263
0x00 0xe8 0xdd 0x76 # CHECK: tne $7, $8, 885
@@ -63,6 +74,7 @@
6374
0x02 0x1d 0x60 0x25 # CHECK: or $12, $16, $sp
6475
0x02 0x1d 0xfe 0x33 # CHECK: tltu $16, $sp, 1016
6576
0x02 0x20 0x00 0x11 # CHECK: mthi $17
77+
0x02 0x27 0x00 0x0d # CHECK: break 551
6678
0x02 0x45 0xb8 0x20 # CHECK: add $23, $18, $5
6779
0x02 0x6c 0xb0 0x22 # CHECK: sub $22, $19, $12
6880
0x02 0x72 0xe0 0x17 # CHECK: dsrav $gp, $18, $19
@@ -85,9 +97,11 @@
8597
0x03 0xb4 0x00 0x18 # CHECK: mult $sp, $20
8698
0x03 0xb7 0x88 0x07 # CHECK: srav $17, $23, $sp
8799
0x03 0xb7 0x88 0x07 # CHECK: srav $17, $23, $sp
100+
0x03 0xcd 0x23 0xcd # CHECK: break 973, 143
88101
0x04 0x11 0x14 0x9b # CHECK: bal 21104
89102
0x04 0x83 0xf9 0x4d # CHECK: bgezl $4, -6856
90103
0x04 0xd0 0x14 0x9b # CHECK: bltzal $6, 21104
104+
0x04 0xd1 0x14 0x9b # CHECK: bgezal $6, 21104
91105
0x04 0xd2 0x00 0x7a # CHECK: bltzall $6, 492
92106
0x05 0x8e 0x8c 0x31 # CHECK: tnei $12, 35889
93107
0x05 0x93 0x07 0x1f # CHECK: bgezall $12, 7296
@@ -97,6 +111,9 @@
97111
0x06 0xac 0xbb 0xa0 # CHECK: teqi $21, 48032
98112
0x07 0xa9 0x90 0x33 # CHECK: tgeiu $sp, 36915
99113
0x07 0xeb 0xec 0x2c # CHECK: tltiu $ra, 60460
114+
0x08 0x00 0x00 0x01 # CHECK: j 4
115+
0x09 0x33 0x00 0x2a # CHECK: j 80478376
116+
0x0b 0x2a 0xd1 0x44 # CHECK: j 212550928
100117
0x21 0x08 0xff 0xfe # CHECK: addi $8, $8, -2
101118
0x21 0x2d 0x66 0xd2 # CHECK: addi $13, $9, 26322
102119
0x21 0xad 0xe6 0x90 # CHECK: addi $13, $13, -6512
@@ -110,7 +127,10 @@
110127
0x2f 0x38 0xc3 0x55 # CHECK: sltiu $24, $25, -15531
111128
0x2f 0x39 0xc3 0x55 # CHECK: sltiu $25, $25, -15531
112129
0x30 0x42 0x00 0x04 # CHECK: andi $2, $2, 4
130+
0x34 0x42 0x00 0x00 # CHECK: ori $2, $2, 0
113131
0x34 0x42 0x00 0x04 # CHECK: ori $2, $2, 4
132+
0x3a 0x00 0x27 0x12 # CHECK: xori $zero, $16, 10002
133+
0x3c 0x00 0x00 0x80 # CHECK: lui $zero, 128
114134
0x42 0x00 0x00 0x01 # CHECK: tlbr
115135
0x42 0x00 0x00 0x02 # CHECK: tlbwi
116136
0x42 0x00 0x00 0x06 # CHECK: tlbwr
@@ -199,6 +219,7 @@
199219
0xb5 0x8b 0xb0 0x39 # CHECK: sdr $11, -20423($12)
200220
0xb9 0xd1 0x98 0x22 # CHECK: swr $17, -26590($14)
201221
0xbc 0xa1 0x00 0x08 # CHECK: cache 1, 8($5)
222+
0xbf 0x00 0xe2 0x1c # CHECK: cache 0, -7652($24)
202223
0xc2 0x42 0xe3 0x67 # CHECK: ll $2, -7321($18)
203224
0xc7 0x50 0x27 0xf1 # CHECK: lwc1 $f16, 10225($26)
204225
0xc8 0xd2 0xfc 0xb7 # CHECK: lwc2 $18, -841($6)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# RUN: llvm-mc %s -triple=mips-unknown-linux -disassemble -mcpu=mips3 | FileCheck %s
2+
# XFAIL: *
3+
0x10 0x00 0x00 0x02 # CHECK: b 8
4+
0x10 0x00 0x00 0x05 # CHECK: b 20
5+
0x10 0x00 0x28 0x09 # CHECK: b 40996
6+
0x10 0x04 0x14 0xe1 # CHECK: beq $zero, $4, 21380
7+
0x11 0x00 0x00 0xc3 # CHECK: beqz $8, 780
8+
0x12 0x88 0x00 0x16 # CHECK: beq $20, $8, 88
9+
0x15 0x00 0x88 0x13 # CHECK: bnez $8, -122804
10+
0x15 0x8a 0x9f 0x89 # CHECK: bne $12, $10, -98780
11+
0x50 0xc7 0x07 0xf2 # CHECK: beql $6, $7, 8136
12+
0xc2 0x44 0xe3 0x67 # CHECK: lwc0 $4, -7321($18)
13+
0xe2 0x64 0x49 0xd8 # CHECK: swc0 $4, 18904($19)

0 commit comments

Comments
 (0)