opcodes: blackfin: fix decoding of ABS
[binutils.git] / gas / testsuite / gas / bfin / arithmetic.d
blob2cbdb71fa4d143a5a16312b0e42e4dee9e0cfa86
1 #objdump: -dr
2 #name: arithmetic
3 .*: +file format .*
6 Disassembly of section .text:
8 00000000 <abs>:
9 0: 10 c4 [0-3][[:xdigit:]] 00 A0 = ABS A0;
10 4: 10 c4 [0-3][[:xdigit:]] 40 A0 = ABS A1;
11 8: 30 c4 [0-3][[:xdigit:]] 00 A1 = ABS A0;
12 c: 30 c4 [0-3][[:xdigit:]] 40 A1 = ABS A1;
13 10: 10 c4 [0-3][[:xdigit:]] c0 A1 = ABS A1, A0 = ABS A0;
14 14: 07 c4 10 80 R0 = ABS R2;
16 00000018 <add>:
17 18: 86 5b SP = SP \+ P0;
18 1a: 96 5b SP = SP \+ P2;
19 1c: f9 5b FP = P1 \+ FP;
20 1e: 04 c4 3a 0e R7 = R7 \+ R2 \(NS\);
21 22: 04 c4 30 2c R6 = R6 \+ R0 \(S\);
22 26: 02 c4 10 a8 R4.L = R2.H \+ R0.L \(S\);
23 2a: 22 c4 09 aa R5.H = R1.H \+ R1.L \(S\);
24 2e: 02 c4 35 0c R6.L = R6.L \+ R5.L \(NS\);
26 00000032 <add_sub_prescale_down>:
27 32: 05 c4 01 98 R4.L = R0 \+ R1 \(RND20\);
28 36: 25 c4 28 96 R3.H = R5 \+ R0 \(RND20\);
29 3a: 05 c4 3d d2 R1.L = R7 - R5 \(RND20\);
31 0000003e <add_sub_prescale_up>:
32 3e: 05 c4 01 04 R2.L = R0 \+ R1 \(RND12\);
33 42: 25 c4 3e 0e R7.H = R7 \+ R6 \(RND12\);
34 46: 05 c4 1a 4a R5.L = R3 - R2 \(RND12\);
35 4a: 25 c4 0a 44 R2.H = R1 - R2 \(RND12\);
37 0000004e <add_immediate>:
38 4e: 05 66 R5 \+= -0x40;.*
39 50: fa 65 R2 \+= 0x3f;.*
40 52: 60 9f I0 \+= 0x2;.*
41 54: 63 9f I3 \+= 0x2;.*
42 56: 6a 9f I2 \+= 0x4;.*
43 58: 69 9f I1 \+= 0x4;.*
44 5a: 20 6c P0 \+= 0x4;.*
45 5c: 86 6c SP \+= 0x10;.*
46 5e: 07 6f FP \+= -0x20;.*
48 00000060 <divide_primitive>:
49 60: 6b 42 DIVS \(R3, R5\);
50 62: 2b 42 DIVQ \(R3, R5\);
52 00000064 <expadj>:
53 64: 07 c6 25 0c R6.L = EXPADJ \(R5, R4.L\);
54 68: 07 c6 08 ca R5.L = EXPADJ \(R0.H, R1.L\);
55 6c: 07 c6 2b 48 R4.L = EXPADJ \(R3, R5.L\) \(V\);
57 00000070 <max>:
58 70: 07 c4 2a 0c R6 = MAX \(R5, R2\);
59 74: 07 c4 0b 00 R0 = MAX \(R1, R3\);
61 00000078 <min>:
62 78: 07 c4 13 4a R5 = MIN \(R2, R3\);
63 7c: 07 c4 38 48 R4 = MIN \(R7, R0\);
65 00000080 <modify_decrement>:
66 80: 0b c4 [0-3][[:xdigit:]] c0 A0 -= A1;
67 84: 0b c4 [0-3][[:xdigit:]] e0 A0 -= A1 \(W32\);
68 88: 17 44 FP -= P2;
69 8a: 06 44 SP -= P0;
70 8c: 73 9e I3 -= M0;
71 8e: 75 9e I1 -= M1;
73 00000090 <modify_increment>:
74 90: 0b c4 [0-3][[:xdigit:]] 80 A0 \+= A1;
75 94: 0b c4 [0-3][[:xdigit:]] a0 A0 \+= A1 \(W32\);
76 98: 4e 45 SP \+= P1 \(BREV\);
77 9a: 7d 45 P5 \+= FP \(BREV\);
78 9c: 6a 9e I2 \+= M2;
79 9e: e0 9e I0 \+= M0 \(BREV\);
80 a0: 0b c4 [0-3][[:xdigit:]] 0e R7 = \(A0 \+= A1\);
81 a4: 0b c4 [0-3][[:xdigit:]] 4c R6.L = \(A0 \+= A1\);
82 a8: 2b c4 [0-3][[:xdigit:]] 40 R0.H = \(A0 \+= A1\);
84 000000ac <multiply16>:
85 ac: 00 c2 0a 24 R0.L = R1.H \* R2.L;
86 b0: 20 c2 68 26 R1.L = R5.H \* R0.H \(S2RND\);
87 b4: 80 c2 db 23 R7.L = R3.L \* R3.H \(FU\);
88 b8: 28 c3 15 27 R4 = R2.H \* R5.H \(ISS2\);
89 bc: 08 c3 0b 20 R0 = R1.L \* R3.L \(IS\);
90 c0: 08 c2 a8 25 R6 = R5.H \* R0.L;
91 c4: 94 c3 be 40 R2.H = R7.L \* R6.H \(M, IU\);
92 c8: 04 c2 e8 80 R3.H = R5.H \* R0.L;
93 cc: 14 c2 09 40 R0.H = R1.L \* R1.H \(M\);
94 d0: 1c c3 3e 80 R1 = R7.H \* R6.L \(M, IS\);
95 d4: 0c c2 02 41 R5 = R0.L \* R2.H;
96 d8: 1c c2 b0 c0 R3 = R6.H \* R0.H \(M\);
98 000000dc <multiply32>:
99 dc: c4 40 R4 \*= R0;
100 de: d7 40 R7 \*= R2;
102 000000e0 <multiply_accumulate>:
103 e0: 63 c0 2f 02 A0 = R5.L \* R7.H \(W32\);
104 e4: 03 c0 00 04 A0 = R0.H \* R0.L;
105 e8: 83 c0 13 0a A0 \+= R2.L \* R3.H \(FU\);
106 ec: 03 c0 21 0c A0 \+= R4.H \* R1.L;
107 f0: 03 c1 3e 12 A0 -= R7.L \* R6.H \(IS\);
108 f4: 03 c0 2a 16 A0 -= R5.H \* R2.H;
109 f8: 10 c0 08 58 A1 = R1.L \* R0.H \(M\);
110 fc: 00 c0 10 98 A1 = R2.H \* R0.L;
111 100: 70 c0 3e 98 A1 = R7.H \* R6.L \(M, W32\);
112 104: 81 c0 1a 18 A1 \+= R3.L \* R2.L \(FU\);
113 108: 01 c0 31 98 A1 \+= R6.H \* R1.L;
114 10c: 02 c1 03 58 A1 -= R0.L \* R3.H \(IS\);
115 110: 02 c0 17 58 A1 -= R2.L \* R7.H;
117 00000114 <multiply_accumulate_half>:
118 114: 03 c0 f5 25 R7.L = \(A0 = R6.H \* R5.L\);
119 118: c3 c0 0a 24 R0.L = \(A0 = R1.H \* R2.L\) \(TFU\);
120 11c: 03 c0 ac 28 R2.L = \(A0 \+= R5.L \* R4.L\);
121 120: 43 c0 fe 2e R3.L = \(A0 \+= R7.H \* R6.H\) \(T\);
122 124: 03 c0 1a 36 R0.L = \(A0 -= R3.H \* R2.H\);
123 128: 63 c1 6c 30 R1.L = \(A0 -= R5.L \* R4.L\) \(IH\);
124 12c: 04 c0 48 58 R1.H = \(A1 = R1.L \* R0.H\);
125 130: 34 c1 83 98 R2.H = \(A1 = R0.H \* R3.L\) \(M, ISS2\);
126 134: 05 c0 bf 59 R6.H = \(A1 \+= R7.L \* R7.H\);
127 138: 25 c0 d3 19 R7.H = \(A1 \+= R2.L \* R3.L\) \(S2RND\);
128 13c: 06 c0 a2 d9 R6.H = \(A1 -= R4.H \* R2.H\);
129 140: d6 c0 5f 99 R5.H = \(A1 -= R3.H \* R7.L\) \(M, TFU\);
131 00000144 <multiply_accumulate_data_reg>:
132 144: 0b c0 0a 20 R0 = \(A0 = R1.L \* R2.L\);
133 148: 0b c1 8a 20 R2 = \(A0 = R1.L \* R2.L\) \(IS\);
134 14c: 0b c0 3e 2d R4 = \(A0 \+= R7.H \* R6.L\);
135 150: 2b c0 ab 2b R6 = \(A0 \+= R5.L \* R3.H\) \(S2RND\);
136 154: 0b c0 97 35 R6 = \(A0 -= R2.H \* R7.L\);
137 158: 8b c0 06 33 R4 = \(A0 -= R0.L \* R6.H\) \(FU\);
138 15c: 0c c0 81 99 R7 = \(A1 = R0.H \* R1.L\);
139 160: 9c c0 13 d9 R5 = \(A1 = R2.H \* R3.H\) \(M, FU\);
140 164: 0d c0 bd 18 R3 = \(A1 \+= R7.L \* R5.L\);
141 168: 2d c1 17 d8 R1 = \(A1 \+= R2.H \* R7.H\) \(ISS2\);
142 16c: 0e c0 80 58 R3 = \(A1 -= R0.L \* R0.H\);
143 170: 1e c1 17 59 R5 = \(A1 -= R2.L \* R7.H\) \(M, IS\);
144 174: 8d c1 8b d9 R7 = \(A1 \+= R1.H \* R3.H\) \(IU\);
146 00000178 <negate>:
147 178: 85 43 R5 = -R0;
148 17a: 07 c4 10 ee R7 = -R2 \(S\);
149 17e: 07 c4 10 ce R7 = -R2 \(NS\);
150 182: 0e c4 [0-3][[:xdigit:]] 00 A0 = -A0;
151 186: 0e c4 [0-3][[:xdigit:]] 40 A0 = -A1;
152 18a: 2e c4 [0-3][[:xdigit:]] 00 A1 = -A0;
153 18e: 2e c4 [0-3][[:xdigit:]] 40 A1 = -A1;
154 192: 0e c4 [0-3][[:xdigit:]] c0 A1 = -A1, A0 = -A0;
156 00000196 <round_half>:
157 196: 0c c4 18 ca R5.L = R3 \(RND\);
158 19a: 2c c4 00 cc R6.H = R0 \(RND\);
160 0000019e <saturate>:
161 19e: 08 c4 [0-3][[:xdigit:]] 20 A0 = A0 \(S\);
162 1a2: 08 c4 [0-3][[:xdigit:]] 60 A1 = A1 \(S\);
163 1a6: 08 c4 [0-3][[:xdigit:]] a0 A1 = A1 \(S\), A0 = A0 \(S\);
165 000001aa <signbits>:
166 1aa: 05 c6 00 0a R5.L = SIGNBITS R0;
167 1ae: 05 c6 07 80 R0.L = SIGNBITS R7.H;
168 1b2: 06 c6 00 06 R3.L = SIGNBITS A0;
169 1b6: 06 c6 00 4e R7.L = SIGNBITS A1;
171 000001ba <subtract>:
172 1ba: 43 53 R5 = R3 - R0;
173 1bc: 04 c4 38 6e R7 = R7 - R0 \(S\);
174 1c0: 04 c4 11 46 R3 = R2 - R1 \(NS\);
175 1c4: 03 c4 37 ea R5.L = R6.H - R7.H \(S\);
176 1c8: 23 c4 1b 40 R0.H = R3.L - R3.H \(NS\);
178 000001cc <subtract_immediate>:
179 1cc: 66 9f I2 -= 0x2;.*
180 1ce: 6c 9f I0 -= 0x4;.*