1#objdump: -dr
2#name: arithmetic
3.*: +file format .*
4
5
6Disassembly of section .text:
7
800000000 <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;
15
1600000018 <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\);
25
2600000032 <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\);
30
310000003e <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\);
36
370000004e <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;.*
47
4800000060 <divide_primitive>:
49  60:	6b 42       	DIVS \(R3, R5\);
50  62:	2b 42       	DIVQ \(R3, R5\);
51
5200000064 <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\);
56
5700000070 <max>:
58  70:	07 c4 2a 0c 	R6 = MAX \(R5, R2\);
59  74:	07 c4 0b 00 	R0 = MAX \(R1, R3\);
60
6100000078 <min>:
62  78:	07 c4 13 4a 	R5 = MIN \(R2, R3\);
63  7c:	07 c4 38 48 	R4 = MIN \(R7, R0\);
64
6500000080 <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;
72
7300000090 <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\);
83
84000000ac <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\);
97
98000000dc <multiply32>:
99  dc:	c4 40       	R4 \*= R0;
100  de:	d7 40       	R7 \*= R2;
101
102000000e0 <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;
116
11700000114 <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\);
130
13100000144 <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\);
145
14600000178 <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;
155
15600000196 <round_half>:
157 196:	0c c4 18 ca 	R5.L = R3 \(RND\);
158 19a:	2c c4 00 cc 	R6.H = R0 \(RND\);
159
1600000019e <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\);
164
165000001aa <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;
170
171000001ba <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\);
177
178000001cc <subtract_immediate>:
179 1cc:	66 9f       	I2 -= 0x2;.*
180 1ce:	6c 9f       	I0 -= 0x4;.*
181