Lines Matching refs:unop
91 static IRExpr* unop ( IROp op, IRExpr* a )
1059 if (e->Iex.Unop.op == Iop_1Uto8) {
1062 unop(Iop_1Uto8,unop(Iop_32to1,bind(0))));
1075 if (e->Iex.Unop.op == Iop_8Uto32) {
1078 unop(Iop_8Uto32,
1089 if (e->Iex.Unop.op == Iop_8Sto32) {
1092 unop(Iop_8Sto32,
1103 if (e->Iex.Unop.op == Iop_16Uto32) {
1106 unop(Iop_16Uto32,
1117 if (e->Iex.Unop.op == Iop_8Uto32) {
1118 if (e->Iex.Unop.arg->tag == Iex_Get) {
1121 vassert(e->Iex.Unop.arg->Iex.Get.ty == Ity_I8);
1123 amode = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1131 if (e->Iex.Unop.op == Iop_16Uto32) {
1132 if (e->Iex.Unop.arg->tag == Iex_Get) {
1135 vassert(e->Iex.Unop.arg->Iex.Get.ty == Ity_I16);
1137 amode = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1144 switch (e->Iex.Unop.op) {
1149 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1150 UInt mask = e->Iex.Unop.op==Iop_16Uto32 ? 0xFFFF : 0xFF;
1160 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1161 UInt amt = e->Iex.Unop.op==Iop_16Sto32 ? 16 : 24;
1171 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1178 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1183 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg);
1189 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1190 Int shift = e->Iex.Unop.op == Iop_16HIto8 ? 8 : 16;
1198 X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1207 X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
1216 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1226 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1237 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1249 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1258 HReg vec = iselVecExpr(env, e->Iex.Unop.arg);
1272 HReg rf = iselFltExpr(env, e->Iex.Unop.arg);
1294 return iselIntExpr_R(env, e->Iex.Unop.arg);
1691 if (e->tag == Iex_Unop && e->Iex.Unop.op == Iop_Not1) {
1693 return 1 ^ iselCondCode(env, e->Iex.Unop.arg);
1699 && e->Iex.Unop.op == Iop_32to1) {
1700 X86RM* rm = iselIntExpr_RM(env, e->Iex.Unop.arg);
1709 && e->Iex.Unop.op == Iop_CmpNEZ8) {
1710 X86RM* rm = iselIntExpr_RM(env, e->Iex.Unop.arg);
1719 && e->Iex.Unop.op == Iop_CmpNEZ16) {
1720 X86RM* rm = iselIntExpr_RM(env, e->Iex.Unop.arg);
1731 unop(Iop_CmpNEZ32, binop(Iop_And32, bind(0), bind(1))));
1746 unop(Iop_CmpNEZ32, binop(Iop_Or32, bind(0), bind(1))));
1759 && e->Iex.Unop.op == Iop_CmpNEZ32
1760 && e->Iex.Unop.arg->tag == Iex_Get) {
1761 X86AMode* am = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1769 && e->Iex.Unop.op == Iop_CmpNEZ32) {
1770 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg);
1782 unop(Iop_CmpNEZ64, binop(Iop_Or64, bind(0), bind(1))));
1798 && e->Iex.Unop.op == Iop_CmpNEZ64) {
1801 iselInt64Expr( &hi, &lo, env, e->Iex.Unop.arg );
2506 switch (e->Iex.Unop.op) {
2512 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
2525 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
2537 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
2550 Int off = e->Iex.Unop.op==Iop_V128HIto64 ? 8 : 0;
2553 HReg vec = iselVecExpr(env, e->Iex.Unop.arg);
2573 X86CondCode cond = iselCondCode(env, e->Iex.Unop.arg);
2588 iselInt64Expr(&sHi, &sLo, env, e->Iex.Unop.arg);
2604 iselInt64Expr(&yHi, &yLo, env, e->Iex.Unop.arg);
2628 unop(Iop_CmpwNEZ64,binop(Iop_Or64,bind(0),bind(1))));
2663 iselInt64Expr(&srcHi, &srcLo, env, e->Iex.Unop.arg);
2684 HReg rf = iselDblExpr(env, e->Iex.Unop.arg);
2724 iselInt64Expr(&xHi, &xLo, env, e->Iex.Unop.arg);
2821 && e->Iex.Unop.op == Iop_ReinterpI32asF32) {
2825 X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Unop.arg);
3055 switch (e->Iex.Unop.op) {
3062 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
3071 switch (e->Iex.Unop.op) {
3074 HReg ri = iselIntExpr_R(env, e->Iex.Unop.arg);
3088 iselInt64Expr( &rHi, &rLo, env, e->Iex.Unop.arg);
3101 HReg res = iselFltExpr(env, e->Iex.Unop.arg);
3207 unop(Iop_64UtoV128,
3217 switch (e->Iex.Unop.op) {
3220 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3240 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3263 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3288 = e->Iex.Unop.op==Iop_CmpNEZ16x8 ? Xsse_CMPEQ16
3296 arg = iselVecExpr(env, e->Iex.Unop.arg);
3311 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3322 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3340 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3358 HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
3369 X86RMI* rmi = iselIntExpr_RMI(env, e->Iex.Unop.arg);
3380 iselInt64Expr(&rHi, &rLo, env, e->Iex.Unop.arg);
3390 } /* switch (e->Iex.Unop.op) */