Lines Matching refs:a2
104 mull a2, a2, a3
107 or a4, a2, a3
110 mul16u a2, a2, a3
113 srai a4, a2, 16
116 mul16u a6, a5, a2
117 mul16u a4, a2, a3
120 add a2, a7, a4
123 mul.aa.hl a2, a3
124 mula.aa.lh a2, a3
126 umul.aa.ll a2, a3
129 add a2, a4, a5
138 xor a5, a2, a3 /* Top bit is 1 if one input is negative. */
140 do_abs a2, a2, a6
143 sub a7, a2, a3
145 movgez a4, a2, a7 /* a4 = max (a2, a3) */
146 movltz a3, a2, a7 /* a3 = min (a2, a3) */
148 movi a2, 0
150 movnez a2, a4, a6
152 do_addx2 a7, a4, a2, a7
154 movnez a2, a7, a6
156 do_addx4 a7, a4, a2, a7
158 movnez a2, a7, a6
160 do_addx8 a7, a4, a2, a7
162 movnez a2, a7, a6
165 neg a3, a2
166 movltz a2, a3, a5
174 add a7, a4, a2
176 movnez a2, a7, a6
178 do_addx2 a7, a4, a2, a7
180 movnez a2, a7, a6
182 do_addx4 a7, a4, a2, a7
184 movnez a2, a7, a6
186 do_addx8 a7, a4, a2, a7
188 movnez a2, a7, a6
192 neg a3, a2
193 movltz a2, a3, a5
229 #define wh a2
233 #define wl a2
240 mull a6, a2, a3
241 muluh wh, a2, a3
258 srli a2h, a2, 16
261 #define a2l a2
267 extui a2, a2, 0, 16
321 do_mul(a6, a2, l, a3, h) /* pp 1 */
322 do_mul(a11, a2, h, a3, l) /* pp 2 */
334 do_mul(a11, a2, l, a3, l) /* pp 0 */
341 do_mul(wh, a2, h, a3, h) /* pp 3 */
395 /* The result will be written into a2, so save that argument in a4. */
396 mov a4, a2
397 mul_mulsi3_body a2, a4, a3, a5, a6
472 nsa a2, a2
474 srai a3, a2, 31
475 xor a3, a3, a2
476 movi a2, 31
478 do_nsau a2, a3, a4, a5
479 addi a2, a2, -1
494 do_nsau a2, a2, a3, a4
507 neg a3, a2
508 and a3, a3, a2
509 do_nsau a2, a3, a4, a5
510 neg a2, a2
511 addi a2, a2, 31
524 neg a3, a2
525 and a3, a3, a2
526 do_nsau a2, a3, a4, a5
527 neg a2, a2
528 addi a2, a2, 32
542 quou a2, a2, a3
546 mov a6, a2 /* keep dividend in a6 */
547 do_nsau a5, a6, a2, a7 /* dividend_shift = nsau (dividend) */
548 do_nsau a4, a3, a2, a7 /* divisor_shift = nsau (divisor) */
554 movi a2, 0 /* quotient = 0 */
563 addi a2, a2, 1
565 slli a2, a2, 1
574 addi a2, a2, 1 /* increment quotient if dividend >= divisor */
585 movi a2, 1
596 movi a2, 0
611 quos a2, a2, a3
613 xor a7, a2, a3 /* sign = dividend ^ divisor */
614 do_abs a6, a2, a4 /* udividend = abs (dividend) */
617 do_nsau a5, a6, a2, a8 /* udividend_shift = nsau (udividend) */
618 do_nsau a4, a3, a2, a8 /* udivisor_shift = nsau (udivisor) */
624 movi a2, 0 /* quotient = 0 */
633 addi a2, a2, 1
635 slli a2, a2, 1
644 addi a2, a2, 1 /* increment if udividend >= udivisor */
646 neg a5, a2
647 movltz a2, a5, a7 /* return (sign < 0) ? -quotient : quotient */
652 neg a2, a6 /* if udivisor == 1, then return... */
653 movgez a2, a6, a7 /* (sign < 0) ? -udividend : udividend */
658 movi a2, 1
660 movltz a2, a4, a7 /* else return (sign < 0) ? -1 : 1 */
671 movi a2, 0
686 remu a2, a2, a3
690 do_nsau a5, a2, a6, a7 /* dividend_shift = nsau (dividend) */
703 bltu a2, a3, .Lzerobit
704 sub a2, a2, a3
714 bltu a2, a3, .Lreturn
715 sub a2, a2, a3 /* subtract once more if dividend >= divisor */
729 movi a2, 0
744 rems a2, a2, a3
746 mov a7, a2 /* save original (signed) dividend */
747 do_abs a2, a2, a4 /* udividend = abs (dividend) */
750 do_nsau a5, a2, a6, a8 /* udividend_shift = nsau (udividend) */
763 bltu a2, a3, .Lzerobit
764 sub a2, a2, a3
774 bltu a2, a3, .Lreturn
775 sub a2, a2, a3 /* subtract again if udividend >= udivisor */
778 neg a2, a2 /* if (dividend < 0), return -udividend */
792 movi a2, 0
801 #define uh a2
805 #define ul a2
879 srli a3, a2, 16
880 src a3, a3, a2
882 src a2, a2, a3
896 srli a4, a2, 16
897 src a4, a4, a2
899 src a4, a2, a4
900 srli a2, a3, 16
901 src a2, a2, a3
902 src a2, a2, a2
903 src a2, a3, a2