Home | History | Annotate | Download | only in priv

Lines Matching refs:IRExpr

243 static IRExpr* mkV128 ( UShort w )
248 static IRExpr* mkU64 ( ULong i )
253 static IRExpr* mkU32 ( UInt i )
258 static IRExpr* mkU16 ( UInt i )
264 static IRExpr* mkU8 ( UInt i )
270 static IRExpr* mkexpr ( IRTemp tmp )
275 static IRExpr* unop ( IROp op, IRExpr* a )
280 static IRExpr* binop ( IROp op, IRExpr* a1, IRExpr* a2 )
285 static IRExpr* triop ( IROp op, IRExpr* a1, IRExpr* a2, IRExpr* a3 )
290 static IRExpr* loadLE ( IRType ty, IRExpr* addr )
301 static void assign ( IRTemp dst, IRExpr* e )
306 static void storeLE ( IRExpr* addr, IRExpr* data )
311 //ZZ static void storeGuardedLE ( IRExpr* addr, IRExpr* data, IRTemp guardT )
323 //ZZ IRExpr* addr, IRExpr* alt,
328 //ZZ IRExpr* loaded = NULL;
423 //ZZ static IRExpr* /* :: Ity_I32 */ get_FAKE_roundingmode ( void )
429 //ZZ static IRExpr* genROR32( IRTemp src, Int rot )
440 //ZZ static IRExpr* mkU128 ( ULong i )
447 //ZZ static IRExpr* align4if ( IRExpr* e, Bool b )
787 static IRExpr* mkU ( IRType ty, ULong imm ) {
1038 static IRExpr* widenUto64 ( IRType srcTy, IRExpr* e )
1051 static IRExpr* narrowFrom64 ( IRType dstTy, IRExpr* e )
1218 static IRExpr* getIReg64orSP ( UInt iregNo )
1224 static IRExpr* getIReg64orZR ( UInt iregNo )
1233 static void putIReg64orSP ( UInt iregNo, IRExpr* e )
1239 static void putIReg64orZR ( UInt iregNo, IRExpr* e )
1269 static IRExpr* getIReg32orSP ( UInt iregNo )
1276 static IRExpr* getIReg32orZR ( UInt iregNo )
1286 static void putIReg32orSP ( UInt iregNo, IRExpr* e )
1292 static void putIReg32orZR ( UInt iregNo, IRExpr* e )
1314 static IRExpr* getIRegOrZR ( Bool is64, UInt iregNo )
1320 static void putIRegOrZR ( Bool is64, UInt iregNo, IRExpr* e )
1326 static void putPC ( IRExpr* e )
1377 static void putQReg128 ( UInt qregNo, IRExpr* e )
1385 static IRExpr* getQReg128 ( UInt qregNo )
1436 static void putQRegLO ( UInt qregNo, IRExpr* e )
1451 static IRExpr* getQRegLO ( UInt qregNo, IRType ty )
1517 static IRExpr* getQRegHI64 ( UInt qregNo )
1522 static void putQRegHI64 ( UInt qregNo, IRExpr* e )
1536 static void putQRegLane ( UInt qregNo, UInt laneNo, IRExpr* e )
1553 static IRExpr* getQRegLane ( UInt qregNo, UInt laneNo, IRType laneTy )
1570 //ZZ IRExpr* e, /* :: Ity_I32 */
1626 //ZZ static void or_into_QFLAG32 ( IRExpr* e, IRTemp condT )
1716 static IRExpr* mk_arm64g_calculate_condition_dyn ( IRExpr* cond )
1730 IRExpr** args
1737 IRExpr* call
1757 static IRExpr* mk_arm64g_calculate_condition ( ARM64Condcode cond )
1770 static IRExpr* mk_arm64g_calculate_flag_c ( void )
1772 IRExpr** args
1777 IRExpr* call
1794 //ZZ static IRExpr* mk_armg_calculate_flag_v ( void )
1796 //ZZ IRExpr** args
1801 //ZZ IRExpr* call
1817 static IRExpr* mk_arm64g_calculate_flags_nzcv ( void )
1819 IRExpr** args
1824 IRExpr* call
2170 static IRExpr* math_MAYBE_ZERO_HI64 ( UInt bitQ, IRTemp fullWidth )
2178 static IRExpr* math_MAYBE_ZERO_HI64_fromE ( UInt bitQ, IRExpr* fullWidth )
2509 IRExpr* argL = getIReg64orZR(nn);
2510 IRExpr* argR = mkU64(imm);
2524 IRExpr* argL = getIReg32orZR(nn);
2525 IRExpr* argR = mkU32((UInt)imm);
2582 IRExpr* res
2594 IRExpr* res
2876 IRExpr* one = is64 ? mkU64(1) : mkU32(1);
3033 IRExpr* argL = getIRegOrZR(is64, nn);
3034 IRExpr* argR = getIRegOrZR(is64, mm);
3111 IRExpr* xMw = mkexpr(xM); /* "xM widened" */
3353 IRExpr* one = mkU8(1);
3415 IRExpr* width = mkU64(is64 ? 64: 32);
4518 IRExpr* rhs = NULL;
4572 static void gen_narrowing_store ( UInt szB, IRTemp addr, IRExpr* dataE )
4574 IRExpr* addrE = mkexpr(addr);
4599 IRExpr* addrE = mkexpr(addr);
5029 IRExpr* ea = binop(Iop_Add64,
6240 IRExpr* addr
6250 IRExpr* addr
6260 IRExpr* addr
6270 IRExpr* addr
6345 IRExpr* data = narrowFrom64(ty, getIReg64orZR(tt));
6390 IRExpr* data = narrowFrom64(ty, getIReg64orZR(tt));
6519 IRExpr* cond = NULL;
6554 IRExpr* cond
6638 IRExpr* qcV128 = binop(Iop_64HLtoV128, mkexpr(qc64), mkexpr(qc64));
6649 IRExpr* res = binop(Iop_Shl64,
6728 IRExpr** args = mkIRExprVec_0();
6859 static IRExpr* mk_CatEvenLanes64x2 ( IRTemp a10, IRTemp b10 ) {
6864 static IRExpr* mk_CatOddLanes64x2 ( IRTemp a10, IRTemp b10 ) {
6869 static IRExpr* mk_CatEvenLanes32x4 ( IRTemp a3210, IRTemp b3210 ) {
6874 static IRExpr* mk_CatOddLanes32x4 ( IRTemp a3210, IRTemp b3210 ) {
6879 static IRExpr* mk_InterleaveLO32x4 ( IRTemp a3210, IRTemp b3210 ) {
6884 static IRExpr* mk_InterleaveHI32x4 ( IRTemp a3210, IRTemp b3210 ) {
6889 static IRExpr* mk_CatEvenLanes16x8 ( IRTemp a76543210, IRTemp b76543210 ) {
6894 static IRExpr* mk_CatOddLanes16x8 ( IRTemp a76543210, IRTemp b76543210 ) {
6899 static IRExpr* mk_InterleaveLO16x8 ( IRTemp a76543210, IRTemp b76543210 ) {
6904 static IRExpr* mk_InterleaveHI16x8 ( IRTemp a76543210, IRTemp b76543210 ) {
6909 static IRExpr* mk_CatEvenLanes8x16 ( IRTemp aFEDCBA9876543210,
6916 static IRExpr* mk_CatOddLanes8x16 ( IRTemp aFEDCBA9876543210,
6923 static IRExpr* mk_InterleaveLO8x16 ( IRTemp aFEDCBA9876543210,
6930 static IRExpr* mk_InterleaveHI8x16 ( IRTemp aFEDCBA9876543210,
7445 IRExpr* argL, IRExpr* argR )
7457 IRTemp math_ABD ( Bool isU, UInt size, IRExpr* argLE, IRExpr* argRE )
7485 UInt sizeNarrow, IRExpr* srcE )
7530 UInt sizeNarrow, IRExpr* srcE )
7571 IRTemp math_DUP_VEC_ELEM ( IRExpr* src, UInt size, UInt laneNo )
7629 IRExpr* srcV, UInt imm5 )
7726 IRExpr* srcE, UInt size )
7749 IRExpr* srcE, UInt size )
7761 static IRTemp math_ZERO_ALL_EXCEPT_LOWEST_LANE ( UInt size, IRExpr* srcE )
8429 IRExpr* widened
8643 IRExpr* src = NULL;
8708 IRExpr* res = NULL;
8711 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I8);
8718 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I8);
8725 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I16);
8732 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I16);
8739 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I32);
8746 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I32);
8753 IRExpr* lane = getQRegLane(nn, laneNo, Ity_I64);
8947 IRExpr* immV128
8949 IRExpr* res
8964 IRExpr* immV128 = binop(Iop_64HLtoV128, mkU64(imm64hi),
9161 IRExpr* src = getQReg128(nn);
9195 IRExpr* src = getQReg128(nn);
9198 IRExpr* amt = mkexpr(math_DUP_TO_V128(imm8, Ity_I8));
9220 IRExpr* nmaskV = binop(Iop_64HLtoV128, mkU64(nmask), mkU64(nmask));
9252 IRExpr* nmaskV = binop(Iop_64HLtoV128, mkU64(nmask), mkU64(nmask));
9370 IRExpr* scaleE = isD ? IRExpr_Const(IRConst_F64(scale))
9408 IRExpr* scaleE = isD ? IRExpr_Const(IRConst_F64(scale))
9569 IRExpr* argL = getQReg128(nn);
9570 IRExpr* argR = getQReg128(mm);
9586 IRExpr* argL = getQReg128(nn);
9587 IRExpr* argR = getQReg128(mm);
9675 IRExpr* argL = getQReg128(nn);
9676 IRExpr* argR = getQReg128(mm);
9881 IRExpr* argL = getQReg128(nn);
9882 IRExpr* argR = mkV128(0x0000);
9895 IRExpr* argL = getQReg128(nn);
9896 IRExpr* argR = mkV128(0x0000);
9962 IRExpr* zero = mkV128(0x0000);
10357 IRExpr* src = getQReg128(nn);
10406 IRExpr* src = getQReg128(nn);
10409 IRExpr* amt = mkexpr(math_DUP_TO_V128(imm8, Ity_I8));
10443 IRExpr* src = getQReg128(nn);
10449 IRExpr* nmask = binop(mkVecSHLN(size),
10489 IRExpr* src = getQReg128(nn);
10496 IRExpr* nmask = binop(mkVecSHRN(size),
10659 IRExpr* res = NULL;
10673 IRExpr* tmp = isQ ? mk_InterleaveHI32x4(src, zero)
10682 IRExpr* tmp = isQ ? mk_InterleaveHI16x8(src, zero)
10691 IRExpr* tmp = isQ ? mk_InterleaveHI8x16(src, zero)
10727 IRExpr* scaleE = isD ? IRExpr_Const(IRConst_F64(scale))
10773 IRExpr* scaleE = isD ? IRExpr_Const(IRConst_F64(scale))
10896 IRExpr* wideE = binop(isADD ? mkVecADD(size+1) : mkVecSUB(size+1),
11243 IRExpr* argL = getQReg128(nn);
11244 IRExpr* argR = getQReg128(mm);
11262 IRExpr* argL = getQReg128(nn);
11263 IRExpr* argR = getQReg128(mm);
11398 IRExpr* argL = getQReg128(nn);
11399 IRExpr* argR = getQReg128(mm);
11476 IRExpr* res
11525 IRExpr* res
11978 IRExpr* argL = getQReg128(nn);
11979 IRExpr* argR = mkV128(0x0000);
11996 IRExpr* argL = getQReg128(nn);
11997 IRExpr* argR = mkV128(0x0000);
12012 IRExpr* argL = getQReg128(nn);
12013 IRExpr* argR = mkV128(0x0000);
12076 IRExpr* zero = mkV128(0x0000);
12583 IRExpr* prod = binop(opMUL, mkexpr(vecN), mkexpr(vecM));
12902 IRExpr* nzcvF_28x0 = mkU64(((ULong)nzcv) << 28);
13115 IRExpr* irrmE = NULL;
13218 IRExpr* resE = unop(iopn,
13283 IRExpr* eA = getQRegLO(aa, ity);
13284 IRExpr* eN = getQRegLO(nn, ity);
13285 IRExpr* eM = getQRegLO(mm, ity);
13286 IRExpr* rm = mkexpr(mk_get_IR_rounding_mode());
13287 IRExpr* eNxM = triop(opMUL, rm, eN, eM);
13390 IRExpr* scaleE = isF64 ? IRExpr_Const(IRConst_F64(scale))
13400 IRExpr* src = getQRegLO(nn, isF64 ? Ity_F64 : Ity_F32);
13401 IRExpr* res = binop(ops[ix], mkexpr(irrm),
13441 IRExpr* scaleE = isF64 ? IRExpr_Const(IRConst_F64(scale))
13448 IRExpr* src = getIRegOrZR(isI64, nn);
13449 IRExpr* res = (isF64 && !isI64)
13630 IRExpr* src = getIRegOrZR(isI64, nn);
13631 IRExpr* res = (isF64 && !isI64)