bfd/
[deliverable/binutils-gdb.git] / gas / testsuite / gas / mips / mips32.s
1 # source file to test assembly of mips32 instructions
2
3 .set noreorder
4 .set noat
5
6 .text
7 text_label:
8
9 # unprivileged CPU instructions
10
11 clo $1, $2
12 clz $3, $4
13 madd $5, $6
14 maddu $7, $8
15 msub $9, $10
16 msubu $11, $12
17 mul $13, $14, $15
18 pref 4, ($16)
19 pref 4, 32767($17)
20 pref 4, -32768($18)
21 ssnop
22
23
24 # unprivileged coprocessor instructions.
25 # these tests use cp2 to avoid other (cp0, fpu, prefetch) opcodes.
26
27 bc2f text_label
28 nop
29 bc2fl text_label
30 nop
31 bc2t text_label
32 nop
33 bc2tl text_label
34 nop
35 # XXX other BCzCond encodings not currently expressable
36 cfc2 $1, $2
37 cop2 0x1234567 # disassembles as c2 ...
38 ctc2 $2, $3
39 mfc2 $3, $4
40 mfc2 $4, $5, 0 # disassembles without sel
41 mfc2 $5, $6, 7
42 mtc2 $6, $7
43 mtc2 $7, $8, 0 # disassembles without sel
44 mtc2 $8, $9, 7
45
46
47 # privileged instructions
48
49 cache 5, ($1)
50 cache 5, 32767($2)
51 cache 5, -32768($3)
52 .set at
53 cache 5, 32768($4)
54 cache 5, -32769($5)
55 cache 5, 32768
56 cache 5, -32769
57 .set noat
58 eret
59 tlbp
60 tlbr
61 tlbwi
62 tlbwr
63 wait
64 wait 0 # disassembles without code
65 wait 0x56789
66
67 # For a while break for the mips32 ISA interpreted a single argument
68 # as a 20-bit code, placing it in the opcode differently to
69 # traditional ISAs. This turned out to cause problems, so it has
70 # been removed. This test is to assure consistent interpretation.
71 break
72 break 0 # disassembles without code
73 break 0x345
74 break 0x48,0x345 # this still specifies a 20-bit code
75
76 # Instructions in previous ISAs or CPUs which are now slightly
77 # different.
78 sdbbp
79 sdbbp 0 # disassembles without code
80 sdbbp 0x56789
81
82 # Cop2 branches with cond code number, like bc1t/f
83 bc2f $cc0,text_label
84 nop
85 bc2fl $cc1,text_label
86 nop
87 bc2t $cc6,text_label
88 nop
89 bc2tl $cc7,text_label
90 nop
91
92 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
93 .space 8
This page took 0.031506 seconds and 4 git commands to generate.