Home | History | Annotate | Download | only in priv

Lines Matching defs:sign

706 /* break V128 to 4xI32's, then sign-extend to I64's */
803 /* else: sign dep saturate: 1->0x80000000, 0->0x7FFFFFFF */
936 /* Sign extend imm16 -> IRExpr* */
945 /* Sign extend imm32 -> IRExpr* */
1929 i.e sHi != sign extension of sLo */
2060 i.e sHi != sign extension of sLo */
2202 If it is <= 31, behave like SRAWI; else XER.CA is the sign
2223 /* yes -- get sign bit of argL */
2321 If it is <= 31, behave like SRAWI; else XER.CA is the sign
2343 /* yes -- get sign bit of argL */
2375 If it is <= 63, behave like SRADI; else XER.CA is the sign
2397 /* yes -- get sign bit of argL */
3196 /* rD[hi32] are undefined: setting them to sign of lo32
3255 /* rD[hi32] are undefined: setting them to sign of lo32
3277 /* rD[hi32] are undefined: setting them to sign of lo32
3296 /* rD[hi32] are undefined: setting them to sign of lo32
3861 case 0x3BA: // extsb (Extend Sign Byte, PPC32 p397
3874 case 0x39A: // extsh (Extend Sign Half Word, PPC32 p398)
3933 case 0x3DA: // extsw (Extend Sign Word, PPC64 p430)
6075 XER.CA = amt > 31 ? sign-of-rS : (computation as per srawi)
6175 XER.CA = amt > 63 ? sign-of-rS : (computation as per srawi)
8249 /* need to preserve sign of zero */
8251 (sign(frB)) ? -fabs((double)r_tmp64) : (double)r_tmp64 */
8399 case 0x008: // fcpsgn (Floating Copy Sign, ISA_V2.05 p126)
8408 /* get A's sign bit */
8416 /* mask off B's sign bit and or in A's sign bit */
8993 static IRExpr * Generate_neg_sign_mask( IRExpr * sign )
8996 unop( Iop_1Sto32, binop( Iop_CmpEQ32, sign, mkU32( 0xB ) ) ),
8997 unop( Iop_1Sto32, binop( Iop_CmpEQ32, sign, mkU32( 0xD ) ) )
9001 static IRExpr * Generate_pos_sign_mask( IRExpr * sign )
9006 binop( Iop_CmpEQ32, sign, mkU32( 0xA ) ) ),
9008 binop( Iop_CmpEQ32, sign, mkU32( 0xC ) ) ) ),
9011 binop( Iop_CmpEQ32, sign, mkU32( 0xE ) ) ),
9013 binop( Iop_CmpEQ32, sign, mkU32( 0xF ) ) ) ) );
10237 IRTemp sign = newTemp( Ity_I32 );
10615 /* Get the sign of the DFP number, ignore sign for QNaN */
10616 assign( sign,
10639 mkexpr( sign ),
10701 IRTemp sign = newTemp( Ity_I32 );
10704 /* Positive sign = 0xC, negative sign = 0xD */
10706 assign( sign,
10714 /* Positive sign = 0xF, negative sign = 0xD */
10717 /* Complement sign bit then OR into bit position 1 */
10725 assign( sign, binop( Iop_Or32, mkexpr( tmp32 ), mkU32( 0xD ) ) );
10731 /* Put sign in bottom 4 bits, move most significant 4-bits from
10744 mkexpr( sign ),
10815 IRTemp sign = newTemp( Ity_I32 );
10821 /* Signed BCD string, least significant 4 bits are sign bits
10822 * positive sign = 0xC, negative sign = 0xD
10843 /* Get the sign of the BCD string. */
10844 assign( sign,
10849 assign( neg_sign_mask, Generate_neg_sign_mask( mkexpr( sign ) ) );
10850 assign( pos_sign_mask, Generate_pos_sign_mask( mkexpr( sign ) ) );
10855 /* Check for invalid sign and BCD digit. Don't check the bottom
10856 * four bits of bcd_l as that is the sign value.
10871 /* Generate the result assuming the sign value was valid. */
10886 * sign value and the validity of the BCD digits.
10992 IRTemp sign = newTemp( Ity_I32 );
10995 /* Positive sign = 0xC, negative sign = 0xD */
10996 assign( sign,
11006 /* Positive sign = 0xF, negative sign = 0xD.
11007 * Need to complement sign bit then OR into bit position 1.
11016 assign( sign, binop( Iop_Or32, mkexpr( tmp32 ), mkU32( 0xD ) ) );
11044 mkexpr( sign ) ) ) );
11147 IRTemp sign = newTemp( Ity_I32 );
11152 /* The sign of the BCD string is stored in lower 4 bits */
11153 assign( sign,
11157 assign( neg_sign_mask, Generate_neg_sign_mask( mkexpr( sign ) ) );
11158 assign( pos_sign_mask, Generate_pos_sign_mask( mkexpr( sign ) ) );
11163 /* Generate the value assuminig the sign and BCD digits are vaild */
11174 /* Remove bottom four sign bits */
11206 /* Check for invalid sign and invalid BCD digit. Don't check the
11207 * bottom four bits of frBI64_lo as that is the sign value.
11235 /* Calculate the value of the result assuming sign and BCD digits
11262 * If there was an invalid BCD digit or invalid sign value, replace
12855 /* need to preserve sign of zero */
12857 (sign(frB)) ? -fabs((double)intermediateResult) : (double)intermediateResult */
13099 case 0x3c0: // xvcpsgndp (VSX Vector Copy Sign Double-Precision)
13445 * FIXED 7/1/2012: carll fnmadd and fnmsubs fixed to not negate sign
13811 /* Scalar copy sign double-precision */
14803 /* vA: V128_8Ux16 -> 4 x V128_32Ux4, sign-extended */
14843 /* vA: V128_8Sx16 -> 4 x V128_32Sx4, sign-extended */
14848 /* break V128 to 4xI32's, sign-extending to I64's */
14881 /* vA: V128_16Sx8 -> 2 x V128_32Sx4, sign-extended */
14884 /* break V128 to 4xI32's, sign-extending to I64's */
14907 /* break V128 to 4xI32's, sign-extending to I64's */
14925 /* break V128 to 4xI32's, sign-extending to I64's */
15251 case 0x25: { // vmsummbm (Multiply Sum Mixed-Sign B Modulo, AV p201)
15261 /* sign-extend vA, zero-extend vB, for mixed-sign multiply
15335 /* break V128 to 4xI32's, sign-extending to I64's */