Lines Matching defs:sign
791 /* break V128 to 4xI32's, then sign-extend to I64's */
899 /* else: sign dep saturate: 1->0x80000000, 0->0x7FFFFFFF */
1041 /* Sign extend imm16 -> IRExpr* */
1050 /* Sign extend imm32 -> IRExpr* */
2143 i.e sHi != sign extension of sLo */
2274 i.e sHi != sign extension of sLo */
2327 i.e sHi != sign extension of sLo */
2432 If it is <= 31, behave like SRAWI; else XER.CA is the sign
2451 /* yes -- get sign bit of argL */
2551 If it is <= 31, behave like SRAWI; else XER.CA is the sign
2571 /* yes -- get sign bit of argL */
2605 If it is <= 63, behave like SRADI; else XER.CA is the sign
2625 /* yes -- get sign bit of argL */
3570 /* rD[hi32] are undefined: setting them to sign of lo32
3629 /* rD[hi32] are undefined: setting them to sign of lo32
3651 /* rD[hi32] are undefined: setting them to sign of lo32
3670 /* rD[hi32] are undefined: setting them to sign of lo32
4235 case 0x3BA: // extsb (Extend Sign Byte, PPC32 p397
4248 case 0x39A: // extsh (Extend Sign Half Word, PPC32 p398)
4307 case 0x3DA: // extsw (Extend Sign Word, PPC64 p430)
6717 XER.CA = amt > 31 ? sign-of-rS : (computation as per srawi)
6815 XER.CA = amt > 63 ? sign-of-rS : (computation as per srawi)
9040 /* need to preserve sign of zero */
9042 (sign(frB)) ? -fabs((double)r_tmp64) : (double)r_tmp64 */
9252 case 0x008: // fcpsgn (Floating Copy Sign, ISA_V2.05 p126)
9261 /* get A's sign bit */
9269 /* mask off B's sign bit and or in A's sign bit */
9846 static IRExpr * Generate_neg_sign_mask( IRExpr * sign )
9849 unop( Iop_1Sto32, binop( Iop_CmpEQ32, sign, mkU32( 0xB ) ) ),
9850 unop( Iop_1Sto32, binop( Iop_CmpEQ32, sign, mkU32( 0xD ) ) )
9854 static IRExpr * Generate_pos_sign_mask( IRExpr * sign )
9859 binop( Iop_CmpEQ32, sign, mkU32( 0xA ) ) ),
9861 binop( Iop_CmpEQ32, sign, mkU32( 0xC ) ) ) ),
9864 binop( Iop_CmpEQ32, sign, mkU32( 0xE ) ) ),
9866 binop( Iop_CmpEQ32, sign, mkU32( 0xF ) ) ) ) );
11135 IRTemp sign = newTemp( Ity_I32 );
11509 /* Get the sign of the DFP number, ignore sign for QNaN */
11510 assign( sign,
11533 mkexpr( sign ),
11595 IRTemp sign = newTemp( Ity_I32 );
11598 /* Positive sign = 0xC, negative sign = 0xD */
11600 assign( sign,
11608 /* Positive sign = 0xF, negative sign = 0xD */
11611 /* Complement sign bit then OR into bit position 1 */
11619 assign( sign, binop( Iop_Or32, mkexpr( tmp32 ), mkU32( 0xD ) ) );
11625 /* Put sign in bottom 4 bits, move most significant 4-bits from
11638 mkexpr( sign ),
11708 IRTemp sign = newTemp( Ity_I32 );
11714 /* Signed BCD string, least significant 4 bits are sign bits
11715 * positive sign = 0xC, negative sign = 0xD
11736 /* Get the sign of the BCD string. */
11737 assign( sign,
11742 assign( neg_sign_mask, Generate_neg_sign_mask( mkexpr( sign ) ) );
11743 assign( pos_sign_mask, Generate_pos_sign_mask( mkexpr( sign ) ) );
11748 /* Check for invalid sign and BCD digit. Don't check the bottom
11749 * four bits of bcd_l as that is the sign value.
11764 /* Generate the result assuming the sign value was valid. */
11778 * sign value and the validity of the BCD digits.
11884 IRTemp sign = newTemp( Ity_I32 );
11887 /* Positive sign = 0xC, negative sign = 0xD */
11888 assign( sign,
11898 /* Positive sign = 0xF, negative sign = 0xD.
11899 * Need to complement sign bit then OR into bit position 1.
11908 assign( sign, binop( Iop_Or32, mkexpr( tmp32 ), mkU32( 0xD ) ) );
11936 mkexpr( sign ) ) ) );
12039 IRTemp sign = newTemp( Ity_I32 );
12044 /* The sign of the BCD string is stored in lower 4 bits */
12045 assign( sign,
12049 assign( neg_sign_mask, Generate_neg_sign_mask( mkexpr( sign ) ) );
12050 assign( pos_sign_mask, Generate_pos_sign_mask( mkexpr( sign ) ) );
12055 /* Generate the value assuminig the sign and BCD digits are vaild */
12066 /* Remove bottom four sign bits */
12098 /* Check for invalid sign and invalid BCD digit. Don't check the
12099 * bottom four bits of frBI64_lo as that is the sign value.
12127 /* Calculate the value of the result assuming sign and BCD digits
12154 * If there was an invalid BCD digit or invalid sign
13989 /* need to preserve sign of zero */
13991 (sign(frB)) ? -fabs((double)intermediateResult) : (double)intermediateResult */
14241 case 0x3c0: // xvcpsgndp (VSX Vector Copy Sign Double-Precision)
14656 * FIXED 7/1/2012: carll fnmadd and fnmsubs fixed to not negate sign
15108 /* Scalar copy sign double-precision */
16359 /* vA: V128_8Ux16 -> 4 x V128_32Ux4, sign-extended */
16399 /* vA: V128_8Sx16 -> 4 x V128_32Sx4, sign-extended */
16404 /* break V128 to 4xI32's, sign-extending to I64's */
16437 /* vA: V128_16Sx8 -> 2 x V128_32Sx4, sign-extended */
16440 /* break V128 to 4xI32's, sign-extending to I64's */
16463 /* break V128 to 4xI32's, sign-extending to I64's */
16481 /* break V128 to 4xI32's, sign-extending to I64's */
16846 case 0x25: { // vmsummbm (Multiply Sum Mixed-Sign B Modulo, AV p201)
16856 /* sign-extend vA, zero-extend vB, for mixed-sign multiply
16930 /* break V128 to 4xI32's, sign-extending to I64's */