1 #as: -march=r4000 -mtune=r4000
2 #objdump: -dr --prefix-addresses -mmips:4000
3 #name: MIPS div
4 
5 # Test the div macro.
6 
7 .*: +file format .*mips.*
8 
9 Disassembly of section .text:
10 0+0000 <[^>]*> div	zero,a0,a1
11 0+0004 <[^>]*> bnez	a1,0+0010 <foo\+0x10>
12 0+0008 <[^>]*> div	zero,a0,a1
13 0+000c <[^>]*> break	(0x0,0x7|0x7)
14 0+0010 <[^>]*> li	at,-1
15 0+0014 <[^>]*> bne	a1,at,0+0028 <foo\+0x28>
16 0+0018 <[^>]*> lui	at,0x8000
17 0+001c <[^>]*> bne	a0,at,0+0028 <foo\+0x28>
18 0+0020 <[^>]*> nop
19 0+0024 <[^>]*> break	(0x0,0x6|0x6)
20 0+0028 <[^>]*> mflo	a0
21 0+002c <[^>]*> nop
22 0+0030 <[^>]*> bnez	a2,0+003c <foo\+0x3c>
23 0+0034 <[^>]*> div	zero,a1,a2
24 0+0038 <[^>]*> break	(0x0,0x7|0x7)
25 0+003c <[^>]*> li	at,-1
26 0+0040 <[^>]*> bne	a2,at,0+0054 <foo\+0x54>
27 0+0044 <[^>]*> lui	at,0x8000
28 0+0048 <[^>]*> bne	a1,at,0+0054 <foo\+0x54>
29 0+004c <[^>]*> nop
30 0+0050 <[^>]*> break	(0x0,0x6|0x6)
31 0+0054 <[^>]*> mflo	a0
32 0+0058 <[^>]*> move	a0,a0
33 0+005c <[^>]*> move	a0,a1
34 0+0060 <[^>]*> neg	a0,a0
35 0+0064 <[^>]*> neg	a0,a1
36 0+0068 <[^>]*> li	at,2
37 0+006c <[^>]*> div	zero,a0,at
38 0+0070 <[^>]*> mflo	a0
39 0+0074 <[^>]*> li	at,2
40 0+0078 <[^>]*> nop
41 0+007c <[^>]*> div	zero,a1,at
42 0+0080 <[^>]*> mflo	a0
43 0+0084 <[^>]*> li	at,0x8000
44 0+0088 <[^>]*> nop
45 0+008c <[^>]*> div	zero,a0,at
46 0+0090 <[^>]*> mflo	a0
47 0+0094 <[^>]*> li	at,0x8000
48 0+0098 <[^>]*> nop
49 0+009c <[^>]*> div	zero,a1,at
50 0+00a0 <[^>]*> mflo	a0
51 0+00a4 <[^>]*> li	at,-32768
52 0+00a8 <[^>]*> nop
53 0+00ac <[^>]*> div	zero,a0,at
54 0+00b0 <[^>]*> mflo	a0
55 0+00b4 <[^>]*> li	at,-32768
56 0+00b8 <[^>]*> nop
57 0+00bc <[^>]*> div	zero,a1,at
58 0+00c0 <[^>]*> mflo	a0
59 0+00c4 <[^>]*> lui	at,0x1
60 0+00c8 <[^>]*> nop
61 0+00cc <[^>]*> div	zero,a0,at
62 0+00d0 <[^>]*> mflo	a0
63 0+00d4 <[^>]*> lui	at,0x1
64 0+00d8 <[^>]*> nop
65 0+00dc <[^>]*> div	zero,a1,at
66 0+00e0 <[^>]*> mflo	a0
67 0+00e4 <[^>]*> lui	at,0x1
68 0+00e8 <[^>]*> ori	at,at,0xa5a5
69 0+00ec <[^>]*> div	zero,a0,at
70 0+00f0 <[^>]*> mflo	a0
71 0+00f4 <[^>]*> lui	at,0x1
72 0+00f8 <[^>]*> ori	at,at,0xa5a5
73 0+00fc <[^>]*> div	zero,a1,at
74 0+0100 <[^>]*> mflo	a0
75 	...
76 0+010c <[^>]*> divu	zero,a0,a1
77 0+0110 <[^>]*> bnez	a1,0+011c <foo\+0x11c>
78 0+0114 <[^>]*> divu	zero,a0,a1
79 0+0118 <[^>]*> break	(0x0,0x7|0x7)
80 0+011c <[^>]*> mflo	a0
81 0+0120 <[^>]*> nop
82 0+0124 <[^>]*> bnez	a2,0+0130 <foo\+0x130>
83 0+0128 <[^>]*> divu	zero,a1,a2
84 0+012c <[^>]*> break	(0x0,0x7|0x7)
85 0+0130 <[^>]*> mflo	a0
86 0+0134 <[^>]*> move	a0,a0
87 0+0138 <[^>]*> bnez	a2,0+0144 <foo\+0x144>
88 0+013c <[^>]*> div	zero,a1,a2
89 0+0140 <[^>]*> break	(0x0,0x7|0x7)
90 0+0144 <[^>]*> li	at,-1
91 0+0148 <[^>]*> bne	a2,at,0+015c <foo\+0x15c>
92 0+014c <[^>]*> lui	at,0x8000
93 0+0150 <[^>]*> bne	a1,at,0+015c <foo\+0x15c>
94 0+0154 <[^>]*> nop
95 0+0158 <[^>]*> break	(0x0,0x6|0x6)
96 0+015c <[^>]*> mfhi	a0
97 0+0160 <[^>]*> li	at,2
98 0+0164 <[^>]*> nop
99 0+0168 <[^>]*> divu	zero,a1,at
100 0+016c <[^>]*> mfhi	a0
101 0+0170 <[^>]*> nop
102 0+0174 <[^>]*> bnez	a2,0+0180 <foo\+0x180>
103 0+0178 <[^>]*> ddiv	zero,a1,a2
104 0+017c <[^>]*> break	(0x0,0x7|0x7)
105 0+0180 <[^>]*> (daddiu	at,zero,-1|li	at,-1)
106 0+0184 <[^>]*> bne	a2,at,0+019c <foo\+0x19c>
107 0+0188 <[^>]*> (daddiu	at,zero,1|li	at,1)
108 0+018c <[^>]*> dsll32	at,at,0x1f
109 0+0190 <[^>]*> bne	a1,at,0+019c <foo\+0x19c>
110 0+0194 <[^>]*> nop
111 0+0198 <[^>]*> break	(0x0,0x6|0x6)
112 0+019c <[^>]*> mflo	a0
113 0+01a0 <[^>]*> li	at,2
114 0+01a4 <[^>]*> nop
115 0+01a8 <[^>]*> ddivu	zero,a1,at
116 0+01ac <[^>]*> mflo	a0
117 0+01b0 <[^>]*> li	at,0x8000
118 0+01b4 <[^>]*> nop
119 0+01b8 <[^>]*> ddiv	zero,a1,at
120 0+01bc <[^>]*> mfhi	a0
121 0+01c0 <[^>]*> li	at,-32768
122 0+01c4 <[^>]*> nop
123 0+01c8 <[^>]*> ddivu	zero,a1,at
124 0+01cc <[^>]*> mfhi	a0
125 	...
126