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