Commit | Line | Data |
---|---|---|
e7af610e NC |
1 | # source file to test assembly of mips32 instructions |
2 | ||
3 | .set noreorder | |
4 | .set noat | |
5 | ||
63ba7a1c | 6 | .text |
e7af610e NC |
7 | text_label: |
8 | ||
9 | # unprivileged CPU instructions | |
10 | ||
11 | clo $1, $2 | |
12 | clz $3, $4 | |
7361da2c | 13 | .ifndef r6 |
e70f2590 NC |
14 | madd $5, $6 |
15 | maddu $7, $8 | |
e7af610e NC |
16 | msub $9, $10 |
17 | msubu $11, $12 | |
7361da2c | 18 | .endif |
e7af610e NC |
19 | mul $13, $14, $15 |
20 | pref 4, ($16) | |
7361da2c | 21 | .ifndef r6 |
df58fc94 RS |
22 | pref 4, 2047($17) |
23 | pref 4, -2048($18) | |
7361da2c | 24 | .endif |
e7af610e NC |
25 | ssnop |
26 | ||
27 | ||
e7af610e NC |
28 | # privileged instructions |
29 | ||
30 | cache 5, ($1) | |
7361da2c | 31 | .ifndef r6 |
df58fc94 RS |
32 | cache 5, 2047($2) |
33 | cache 5, -2048($3) | |
409a6ecd TS |
34 | .set at |
35 | cache 5, 32768($4) | |
36 | cache 5, -32769($5) | |
37 | cache 5, 32768 | |
38 | cache 5, -32769 | |
39 | .set noat | |
7361da2c | 40 | .endif |
e7af610e NC |
41 | eret |
42 | tlbp | |
43 | tlbr | |
44 | tlbwi | |
45 | tlbwr | |
46 | wait | |
47 | wait 0 # disassembles without code | |
df58fc94 | 48 | wait 0x345 |
e7af610e | 49 | |
1586d91e MR |
50 | # For a while break for the mips32 ISA interpreted a single argument |
51 | # as a 20-bit code, placing it in the opcode differently to | |
52 | # traditional ISAs. This turned out to cause problems, so it has | |
53 | # been removed. This test is to assure consistent interpretation. | |
e70f2590 NC |
54 | break |
55 | break 0 # disassembles without code | |
1586d91e MR |
56 | break 0x345 |
57 | break 0x48,0x345 # this still specifies a 20-bit code | |
58 | ||
59 | # Instructions in previous ISAs or CPUs which are now slightly | |
60 | # different. | |
e70f2590 NC |
61 | sdbbp |
62 | sdbbp 0 # disassembles without code | |
df58fc94 | 63 | sdbbp 0x345 |
e70f2590 NC |
64 | |
65 | # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... | |
66 | .space 8 |