Lines Matching refs:a0
87 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by 64
95 (This routine makes more sense if `a0' and `a1' are considered to form a
96 fixed-point value with binary point between `a0' and `a1'. This fixed-point
105 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
112 z0 = a0;
115 z1 = ( a0<<negCount ) | ( a1 != 0 );
116 z0 = a0>>count;
120 z1 = a0 | ( a1 != 0 );
123 z1 = ( ( a0 | a1 ) != 0 );
134 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by the
143 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
150 z0 = a0;
153 z1 = ( a0<<negCount ) | ( a1>>count );
154 z0 = a0>>count;
157 z1 = ( count < 64 ) ? ( a0>>( count & 63 ) ) : 0;
167 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by the
172 or 1, depending on whether the concatenation of `a0' and `a1' is zero or
179 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
186 z0 = a0;
189 z1 = ( a0<<negCount ) | ( a1>>count ) | ( ( a1<<negCount ) != 0 );
190 z0 = a0>>count;
194 z1 = a0 | ( a1 != 0 );
197 z1 = ( a0>>( count & 63 ) ) | ( ( ( a0<<negCount ) | a1 ) != 0 );
200 z1 = ( ( a0 | a1 ) != 0 );
211 Shifts the 192-bit value formed by concatenating `a0', `a1', and `a2' right
220 (This routine makes more sense if `a0', `a1', and `a2' are considered
231 bits64 a0,
246 z0 = a0;
251 z1 = ( a0<<negCount ) | ( a1>>count );
252 z0 = a0>>count;
257 z1 = a0;
262 z2 = a0<<negCount;
263 z1 = a0>>( count & 63 );
266 z2 = ( count == 128 ) ? a0 : ( a0 != 0 );
282 Shifts the 128-bit value formed by concatenating `a0' and `a1' left by the
290 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
295 ( count == 0 ) ? a0 : ( a0<<count ) | ( a1>>( ( - count ) & 63 ) );
301 Shifts the 192-bit value formed by concatenating `a0', `a1', and `a2' left
310 bits64 a0,
324 z0 = a0<<count;
338 Adds the 128-bit value formed by concatenating `a0' and `a1' to the 128-bit
346 bits64 a0, bits64 a1, bits64 b0, bits64 b1, bits64 *z0Ptr, bits64 *z1Ptr )
352 *z0Ptr = a0 + b0 + ( z1 < a1 );
358 Adds the 192-bit value formed by concatenating `a0', `a1', and `a2' to the
367 bits64 a0,
385 z0 = a0 + b0;
398 128-bit value formed by concatenating `a0' and `a1'. Subtraction is modulo
406 bits64 a0, bits64 a1, bits64 b0, bits64 b1, bits64 *z0Ptr, bits64 *z1Ptr )
410 *z0Ptr = a0 - b0 - ( a1 < b1 );
417 from the 192-bit value formed by concatenating `a0', `a1', and `a2'.
425 bits64 a0,
443 z0 = a0 - b0;
485 Multiplies the 128-bit value formed by concatenating `a0' and `a1' by `b' to
493 bits64 a0,
504 mul64To128( a0, b, &z0, &more1 );
514 Multiplies the 128-bit value formed by concatenating `a0' and `a1' to the
522 bits64 a0,
538 mul64To128( a0, b0, &z0, &more1 );
540 mul64To128( a0, b1, &more1, &more2 );
553 `b' into the 128-bit value formed by concatenating `a0' and `a1'. The
560 static bits64 estimateDiv128To64( bits64 a0, bits64 a1, bits64 b )
565 if ( b <= a0 ) return LIT64( 0xFFFFFFFFFFFFFFFF );
567 if ( b0<<32 <= a0 ) {
570 z = a0;
575 sub128( a0, a1, term0, term1, &rem0, &rem1 );
701 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1'
706 INLINE flag eq128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
709 return ( a0 == b0 ) && ( a1 == b1 );
715 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is less
720 INLINE flag le128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
723 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 <= b1 ) );
729 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is less
734 INLINE flag lt128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
737 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 < b1 ) );
743 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is
748 INLINE flag ne128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
751 return ( a0 != b0 ) || ( a1 != b1 );