1 #objdump: -dr --prefix-addresses -mmips:4000
2 #as: -march=r4000 -mtune=r4000
3 #name: MIPS mul
4 
5 # Test the mul macro.
6 
7 .*: +file format .*mips.*
8 
9 Disassembly of section .text:
10 0+0000 <[^>]*> multu	a0,a1
11 0+0004 <[^>]*> mflo	a0
12 	...
13 0+0010 <[^>]*> multu	a1,a2
14 0+0014 <[^>]*> mflo	a0
15 0+0018 <[^>]*> li	at,0
16 0+001c <[^>]*> nop
17 0+0020 <[^>]*> mult	a1,at
18 0+0024 <[^>]*> mflo	a0
19 0+0028 <[^>]*> li	at,1
20 0+002c <[^>]*> nop
21 0+0030 <[^>]*> mult	a1,at
22 0+0034 <[^>]*> mflo	a0
23 0+0038 <[^>]*> li	at,0x8000
24 0+003c <[^>]*> nop
25 0+0040 <[^>]*> mult	a1,at
26 0+0044 <[^>]*> mflo	a0
27 0+0048 <[^>]*> li	at,-32768
28 0+004c <[^>]*> nop
29 0+0050 <[^>]*> mult	a1,at
30 0+0054 <[^>]*> mflo	a0
31 0+0058 <[^>]*> lui	at,0x1
32 0+005c <[^>]*> nop
33 0+0060 <[^>]*> mult	a1,at
34 0+0064 <[^>]*> mflo	a0
35 0+0068 <[^>]*> lui	at,0x1
36 0+006c <[^>]*> ori	at,at,0xa5a5
37 0+0070 <[^>]*> mult	a1,at
38 0+0074 <[^>]*> mflo	a0
39 	...
40 0+0080 <[^>]*> mult	a0,a1
41 0+0084 <[^>]*> mflo	a0
42 0+0088 <[^>]*> sra	a0,a0,0x1f
43 0+008c <[^>]*> mfhi	at
44 0+0090 <[^>]*> beq	a0,at,0+9c <foo\+(0x|)9c>
45 0+0094 <[^>]*> nop
46 0+0098 <[^>]*> break	(0x0,0x6|0x6)
47 0+009c <[^>]*> mflo	a0
48 	...
49 0+00a8 <[^>]*> mult	a1,a2
50 0+00ac <[^>]*> mflo	a0
51 0+00b0 <[^>]*> sra	a0,a0,0x1f
52 0+00b4 <[^>]*> mfhi	at
53 0+00b8 <[^>]*> beq	a0,at,0+c4 <foo\+(0x|)c4>
54 0+00bc <[^>]*> nop
55 0+00c0 <[^>]*> break	(0x0,0x6|0x6)
56 0+00c4 <[^>]*> mflo	a0
57 	...
58 0+00d0 <[^>]*> multu	a0,a1
59 0+00d4 <[^>]*> mfhi	at
60 0+00d8 <[^>]*> mflo	a0
61 0+00dc <[^>]*> beqz	at,0+e8 <foo\+(0x|)e8>
62 0+00e0 <[^>]*> nop
63 0+00e4 <[^>]*> break	(0x0,0x6|0x6)
64 0+00e8 <[^>]*> multu	a1,a2
65 0+00ec <[^>]*> mfhi	at
66 0+00f0 <[^>]*> mflo	a0
67 0+00f4 <[^>]*> beqz	at,0+100 <foo\+(0x|)100>
68 0+00f8 <[^>]*> nop
69 0+00fc <[^>]*> break	(0x0,0x6|0x6)
70 0+0100 <[^>]*> dmultu	a1,a2
71 0+0104 <[^>]*> mflo	a0
72 0+0108 <[^>]*> li	at,1
73 0+010c <[^>]*> nop
74 0+0110 <[^>]*> dmult	a1,at
75 0+0114 <[^>]*> mflo	a0
76 	...
77 0+0120 <[^>]*> dmult	a1,a2
78 0+0124 <[^>]*> mflo	a0
79 0+0128 <[^>]*> dsra32	a0,a0,0x1f
80 0+012c <[^>]*> mfhi	at
81 0+0130 <[^>]*> beq	a0,at,0+13c <foo\+(0x|)13c>
82 0+0134 <[^>]*> nop
83 0+0138 <[^>]*> break	(0x0,0x6|0x6)
84 0+013c <[^>]*> mflo	a0
85 	...
86 0+0148 <[^>]*> dmultu	a1,a2
87 0+014c <[^>]*> mfhi	at
88 0+0150 <[^>]*> mflo	a0
89 0+0154 <[^>]*> beqz	at,0+160 <foo\+(0x|)160>
90 0+0158 <[^>]*> nop
91 0+015c <[^>]*> break	(0x0,0x6|0x6)
92 	...
93