Lines Matching defs:op8
312 static IROp mkSizedOp ( IRType ty, IROp op8 )
314 vassert(op8 == Iop_Add8 || op8 == Iop_Sub8
315 || op8 == Iop_Mul8
316 || op8 == Iop_Or8 || op8 == Iop_And8 || op8 == Iop_Xor8
317 || op8 == Iop_Shl8 || op8 == Iop_Shr8 || op8 == Iop_Sar8
318 || op8 == Iop_CmpEQ8 || op8 == Iop_CmpNE8
319 || op8 == Iop_CasCmpNE8
320 || op8 == Iop_Not8 );
322 case Ity_I8: return 0 +op8;
323 case Ity_I16: return 1 +op8;
324 case Ity_I32: return 2 +op8;
325 case Ity_I64: return 3 +op8;
1573 static Bool isAddSub ( IROp op8 )
1575 return toBool(op8 == Iop_Add8 || op8 == Iop_Sub8);
1578 static Bool isLogic ( IROp op8 )
1580 return toBool(op8 == Iop_And8 || op8 == Iop_Or8 || op8 == Iop_Xor8);
1638 void setFlags_DEP1_DEP2 ( IROp op8, IRTemp dep1, IRTemp dep2, IRType ty )
1648 switch (op8) {
1651 default: ppIROp(op8);
1663 void setFlags_DEP1 ( IROp op8, IRTemp dep1, IRType ty )
1673 switch (op8) {
1677 default: ppIROp(op8);
2657 IROp op8,
2675 vassert(op8 == Iop_Add8 || op8 == Iop_Sub8);
2684 if ((op8 == Iop_Xor8 || (op8 == Iop_Sub8 && addSubCarry))
2686 if (False && op8 == Iop_Sub8)
2694 if (addSubCarry && op8 == Iop_Add8) {
2699 if (addSubCarry && op8 == Iop_Sub8) {
2704 assign( dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) );
2705 if (isAddSub(op8))
2706 setFlags_DEP1_DEP2(op8, dst0, src, ty);
2708 setFlags_DEP1(op8, dst1, ty);
2723 if (addSubCarry && op8 == Iop_Add8) {
2728 if (addSubCarry && op8 == Iop_Sub8) {
2733 assign( dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) );
2734 if (isAddSub(op8))
2735 setFlags_DEP1_DEP2(op8, dst0, src, ty);
2737 setFlags_DEP1(op8, dst1, ty);
2773 IROp op8,
2791 vassert(op8 == Iop_Add8 || op8 == Iop_Sub8);
2800 if ((op8 == Iop_Xor8 || (op8 == Iop_Sub8 && addSubCarry))
2808 if (addSubCarry && op8 == Iop_Add8) {
2813 if (addSubCarry && op8 == Iop_Sub8) {
2818 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)));
2819 if (isAddSub(op8))
2820 setFlags_DEP1_DEP2(op8, dst0, src, ty);
2822 setFlags_DEP1(op8, dst1, ty);
2839 if (addSubCarry && op8 == Iop_Add8) {
2850 if (addSubCarry && op8 == Iop_Sub8) {
2861 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)));
2873 if (isAddSub(op8))
2874 setFlags_DEP1_DEP2(op8, dst0, src, ty);
2876 setFlags_DEP1(op8, dst1, ty);
2982 IROp op8,
2996 if (isAddSub(op8) && !carrying) {
2997 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) );
2998 setFlags_DEP1_DEP2(op8, dst0, src, ty);
3001 if (isLogic(op8)) {
3003 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) );
3004 setFlags_DEP1(op8, dst1, ty);
3007 if (op8 == Iop_Add8 && carrying) {
3012 if (op8 == Iop_Sub8 && carrying) {
3146 IROp op8 = Iop_INVALID;
3150 case 0: op8 = Iop_Add8; break; case 1: op8 = Iop_Or8; break;
3153 case 4: op8 = Iop_And8; break; case 5: op8 = Iop_Sub8; break;
3154 case 6: op8 = Iop_Xor8; break; case 7: op8 = Iop_Sub8; break;
3173 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)));
3174 if (isAddSub(op8))
3175 setFlags_DEP1_DEP2(op8, dst0, src, ty);
3177 setFlags_DEP1(op8, dst1, ty);
3215 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)));
3225 if (isAddSub(op8))
3226 setFlags_DEP1_DEP2(op8, dst0, src, ty);
3228 setFlags_DEP1(op8, dst1, ty);