Lines Matching full:a0
89 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by 64
97 (This routine makes more sense if `a0' and `a1' are considered to form a
98 fixed-point value with binary point between `a0' and `a1'. This fixed-point
107 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
114 z0 = a0;
117 z1 = ( a0<<negCount ) | ( a1 != 0 );
118 z0 = a0>>count;
122 z1 = a0 | ( a1 != 0 );
125 z1 = ( ( a0 | a1 ) != 0 );
136 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by the
145 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
152 z0 = a0;
155 z1 = ( a0<<negCount ) | ( a1>>count );
156 z0 = a0>>count;
159 z1 = ( count < 128 ) ? ( a0>>( count & 63 ) ) : 0;
169 Shifts the 128-bit value formed by concatenating `a0' and `a1' right by the
174 0 or 1, depending on whether the concatenation of `a0' and `a1' is zero or
181 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
188 z0 = a0;
191 z1 = ( a0<<negCount ) | ( a1>>count ) | ( ( a1<<negCount ) != 0 );
192 z0 = a0>>count;
196 z1 = a0 | ( a1 != 0 );
199 z1 = ( a0>>( count & 63 ) ) | ( ( ( a0<<negCount ) | a1 ) != 0 );
202 z1 = ( ( a0 | a1 ) != 0 );
213 Shifts the 192-bit value formed by concatenating `a0', `a1', and `a2' right
222 (This routine makes more sense if `a0', `a1', and `a2' are considered
233 bits64 a0,
248 z0 = a0;
253 z1 = ( a0<<negCount ) | ( a1>>count );
254 z0 = a0>>count;
259 z1 = a0;
264 z2 = a0<<negCount;
265 z1 = a0>>( count & 63 );
268 z2 = ( count == 128 ) ? a0 : ( a0 != 0 );
284 Shifts the 128-bit value formed by concatenating `a0' and `a1' left by the
292 bits64 a0, bits64 a1, int16 count, bits64 *z0Ptr, bits64 *z1Ptr )
297 ( count == 0 ) ? a0 : ( a0<<count ) | ( a1>>( ( - count ) & 63 ) );
303 Shifts the 192-bit value formed by concatenating `a0', `a1', and `a2' left
312 bits64 a0,
326 z0 = a0<<count;
340 Adds the 128-bit value formed by concatenating `a0' and `a1' to the 128-bit
348 bits64 a0, bits64 a1, bits64 b0, bits64 b1, bits64 *z0Ptr, bits64 *z1Ptr )
354 *z0Ptr = a0 + b0 + ( z1 < a1 );
360 Adds the 192-bit value formed by concatenating `a0', `a1', and `a2' to the
369 bits64 a0,
387 z0 = a0 + b0;
400 128-bit value formed by concatenating `a0' and `a1'. Subtraction is modulo
408 bits64 a0, bits64 a1, bits64 b0, bits64 b1, bits64 *z0Ptr, bits64 *z1Ptr )
412 *z0Ptr = a0 - b0 - ( a1 < b1 );
419 from the 192-bit value formed by concatenating `a0', `a1', and `a2'.
427 bits64 a0,
445 z0 = a0 - b0;
487 Multiplies the 128-bit value formed by concatenating `a0' and `a1' by
495 bits64 a0,
506 mul64To128( a0, b, &z0, &more1 );
516 Multiplies the 128-bit value formed by concatenating `a0' and `a1' to the
524 bits64 a0,
540 mul64To128( a0, b0, &z0, &more1 );
542 mul64To128( a0, b1, &more1, &more2 );
555 `b' into the 128-bit value formed by concatenating `a0' and `a1'. The
562 static bits64 estimateDiv128To64( bits64 a0, bits64 a1, bits64 b )
568 if ( b <= a0 ) return LIT64( 0xFFFFFFFFFFFFFFFF );
570 z = ( b0<<32 <= a0 ) ? LIT64( 0xFFFFFFFF00000000 ) : ( a0 / b0 )<<32;
572 sub128( a0, a1, term0, term1, &rem0, &rem1 );
692 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1'
697 INLINE flag eq128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
700 return ( a0 == b0 ) && ( a1 == b1 );
706 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is less
711 INLINE flag le128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
714 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 <= b1 ) );
720 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is less
725 INLINE flag lt128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
728 return ( a0 < b0 ) || ( ( a0 == b0 ) && ( a1 < b1 ) );
734 Returns 1 if the 128-bit value formed by concatenating `a0' and `a1' is
739 INLINE flag ne128( bits64 a0, bits64 a1, bits64 b0, bits64 b1 )
742 return ( a0 != b0 ) || ( a1 != b1 );