Home | History | Annotate | Download | only in bfin
      1 #objdump: -dr
      2 #name: arithmetic
      3 .*: +file format .*
      4 
      5 
      6 Disassembly of section .text:
      7 
      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;
     15 
     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\);
     25 
     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\);
     30 
     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\);
     36 
     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;.*
     47 
     48 00000060 <divide_primitive>:
     49   60:	6b 42       	DIVS \(R3, R5\);
     50   62:	2b 42       	DIVQ \(R3, R5\);
     51 
     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\);
     56 
     57 00000070 <max>:
     58   70:	07 c4 2a 0c 	R6 = MAX \(R5, R2\);
     59   74:	07 c4 0b 00 	R0 = MAX \(R1, R3\);
     60 
     61 00000078 <min>:
     62   78:	07 c4 13 4a 	R5 = MIN \(R2, R3\);
     63   7c:	07 c4 38 48 	R4 = MIN \(R7, R0\);
     64 
     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;
     72 
     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\);
     83 
     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\);
     97 
     98 000000dc <multiply32>:
     99   dc:	c4 40       	R4 \*= R0;
    100   de:	d7 40       	R7 \*= R2;
    101 
    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;
    116 
    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\);
    130 
    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\);
    145 
    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;
    155 
    156 00000196 <round_half>:
    157  196:	0c c4 18 ca 	R5.L = R3 \(RND\);
    158  19a:	2c c4 00 cc 	R6.H = R0 \(RND\);
    159 
    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\);
    164 
    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;
    170 
    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\);
    177 
    178 000001cc <subtract_immediate>:
    179  1cc:	66 9f       	I2 -= 0x2;.*
    180  1ce:	6c 9f       	I0 -= 0x4;.*
    181