📄 irdefs.c
字号:
case Iop_Div32F0x4: vex_printf("Div32F0x4"); return; case Iop_Div64Fx2: vex_printf("Div64Fx2"); return; case Iop_Div64F0x2: vex_printf("Div64F0x2"); return; case Iop_Max32Fx4: vex_printf("Max32Fx4"); return; case Iop_Max32F0x4: vex_printf("Max32F0x4"); return; case Iop_Max64Fx2: vex_printf("Max64Fx2"); return; case Iop_Max64F0x2: vex_printf("Max64F0x2"); return; case Iop_Min32Fx4: vex_printf("Min32Fx4"); return; case Iop_Min32F0x4: vex_printf("Min32F0x4"); return; case Iop_Min64Fx2: vex_printf("Min64Fx2"); return; case Iop_Min64F0x2: vex_printf("Min64F0x2"); return; case Iop_Mul32Fx4: vex_printf("Mul32Fx4"); return; case Iop_Mul32F0x4: vex_printf("Mul32F0x4"); return; case Iop_Mul64Fx2: vex_printf("Mul64Fx2"); return; case Iop_Mul64F0x2: vex_printf("Mul64F0x2"); return; case Iop_Recip32Fx4: vex_printf("Recip32Fx4"); return; case Iop_Recip32F0x4: vex_printf("Recip32F0x4"); return; case Iop_Recip64Fx2: vex_printf("Recip64Fx2"); return; case Iop_Recip64F0x2: vex_printf("Recip64F0x2"); return; case Iop_RSqrt32Fx4: vex_printf("RSqrt32Fx4"); return; case Iop_RSqrt32F0x4: vex_printf("RSqrt32F0x4"); return; case Iop_RSqrt64Fx2: vex_printf("RSqrt64Fx2"); return; case Iop_RSqrt64F0x2: vex_printf("RSqrt64F0x2"); return; case Iop_Sqrt32Fx4: vex_printf("Sqrt32Fx4"); return; case Iop_Sqrt32F0x4: vex_printf("Sqrt32F0x4"); return; case Iop_Sqrt64Fx2: vex_printf("Sqrt64Fx2"); return; case Iop_Sqrt64F0x2: vex_printf("Sqrt64F0x2"); return; case Iop_Sub32Fx4: vex_printf("Sub32Fx4"); return; case Iop_Sub32F0x4: vex_printf("Sub32F0x4"); return; case Iop_Sub64Fx2: vex_printf("Sub64Fx2"); return; case Iop_Sub64F0x2: vex_printf("Sub64F0x2"); return; case Iop_CmpEQ32Fx4: vex_printf("CmpEQ32Fx4"); return; case Iop_CmpLT32Fx4: vex_printf("CmpLT32Fx4"); return; case Iop_CmpLE32Fx4: vex_printf("CmpLE32Fx4"); return; case Iop_CmpGT32Fx4: vex_printf("CmpGT32Fx4"); return; case Iop_CmpGE32Fx4: vex_printf("CmpGE32Fx4"); return; case Iop_CmpUN32Fx4: vex_printf("CmpUN32Fx4"); return; case Iop_CmpEQ64Fx2: vex_printf("CmpEQ64Fx2"); return; case Iop_CmpLT64Fx2: vex_printf("CmpLT64Fx2"); return; case Iop_CmpLE64Fx2: vex_printf("CmpLE64Fx2"); return; case Iop_CmpUN64Fx2: vex_printf("CmpUN64Fx2"); return; case Iop_CmpEQ32F0x4: vex_printf("CmpEQ32F0x4"); return; case Iop_CmpLT32F0x4: vex_printf("CmpLT32F0x4"); return; case Iop_CmpLE32F0x4: vex_printf("CmpLE32F0x4"); return; case Iop_CmpUN32F0x4: vex_printf("CmpUN32F0x4"); return; case Iop_CmpEQ64F0x2: vex_printf("CmpEQ64F0x2"); return; case Iop_CmpLT64F0x2: vex_printf("CmpLT64F0x2"); return; case Iop_CmpLE64F0x2: vex_printf("CmpLE64F0x2"); return; case Iop_CmpUN64F0x2: vex_printf("CmpUN64F0x2"); return; case Iop_V128to64: vex_printf("V128to64"); return; case Iop_V128HIto64: vex_printf("V128HIto64"); return; case Iop_64HLtoV128: vex_printf("64HLtoV128"); return; case Iop_64UtoV128: vex_printf("64UtoV128"); return; case Iop_SetV128lo64: vex_printf("SetV128lo64"); return; case Iop_32UtoV128: vex_printf("32UtoV128"); return; case Iop_V128to32: vex_printf("V128to32"); return; case Iop_SetV128lo32: vex_printf("SetV128lo32"); return; case Iop_Dup8x16: vex_printf("Dup8x16"); return; case Iop_Dup16x8: vex_printf("Dup16x8"); return; case Iop_Dup32x4: vex_printf("Dup32x4"); return; case Iop_NotV128: vex_printf("NotV128"); return; case Iop_AndV128: vex_printf("AndV128"); return; case Iop_OrV128: vex_printf("OrV128"); return; case Iop_XorV128: vex_printf("XorV128"); return; case Iop_CmpNEZ8x16: vex_printf("CmpNEZ8x16"); return; case Iop_CmpNEZ16x8: vex_printf("CmpNEZ16x8"); return; case Iop_CmpNEZ32x4: vex_printf("CmpNEZ32x4"); return; case Iop_CmpNEZ64x2: vex_printf("CmpNEZ64x2"); return; case Iop_Add8x16: vex_printf("Add8x16"); return; case Iop_Add16x8: vex_printf("Add16x8"); return; case Iop_Add32x4: vex_printf("Add32x4"); return; case Iop_Add64x2: vex_printf("Add64x2"); return; case Iop_QAdd8Ux16: vex_printf("QAdd8Ux16"); return; case Iop_QAdd16Ux8: vex_printf("QAdd16Ux8"); return; case Iop_QAdd32Ux4: vex_printf("QAdd32Ux4"); return; case Iop_QAdd8Sx16: vex_printf("QAdd8Sx16"); return; case Iop_QAdd16Sx8: vex_printf("QAdd16Sx8"); return; case Iop_QAdd32Sx4: vex_printf("QAdd32Sx4"); return; case Iop_Sub8x16: vex_printf("Sub8x16"); return; case Iop_Sub16x8: vex_printf("Sub16x8"); return; case Iop_Sub32x4: vex_printf("Sub32x4"); return; case Iop_Sub64x2: vex_printf("Sub64x2"); return; case Iop_QSub8Ux16: vex_printf("QSub8Ux16"); return; case Iop_QSub16Ux8: vex_printf("QSub16Ux8"); return; case Iop_QSub32Ux4: vex_printf("QSub32Ux4"); return; case Iop_QSub8Sx16: vex_printf("QSub8Sx16"); return; case Iop_QSub16Sx8: vex_printf("QSub16Sx8"); return; case Iop_QSub32Sx4: vex_printf("QSub32Sx4"); return; case Iop_Mul16x8: vex_printf("Mul16x8"); return; case Iop_MulHi16Ux8: vex_printf("MulHi16Ux8"); return; case Iop_MulHi32Ux4: vex_printf("MulHi32Ux4"); return; case Iop_MulHi16Sx8: vex_printf("MulHi16Sx8"); return; case Iop_MulHi32Sx4: vex_printf("MulHi32Sx4"); return; case Iop_MullEven8Ux16: vex_printf("MullEven8Ux16"); return; case Iop_MullEven16Ux8: vex_printf("MullEven16Ux8"); return; case Iop_MullEven8Sx16: vex_printf("MullEven8Sx16"); return; case Iop_MullEven16Sx8: vex_printf("MullEven16Sx8"); return; case Iop_Avg8Ux16: vex_printf("Avg8Ux16"); return; case Iop_Avg16Ux8: vex_printf("Avg16Ux8"); return; case Iop_Avg32Ux4: vex_printf("Avg32Ux4"); return; case Iop_Avg8Sx16: vex_printf("Avg8Sx16"); return; case Iop_Avg16Sx8: vex_printf("Avg16Sx8"); return; case Iop_Avg32Sx4: vex_printf("Avg32Sx4"); return; case Iop_Max8Sx16: vex_printf("Max8Sx16"); return; case Iop_Max16Sx8: vex_printf("Max16Sx8"); return; case Iop_Max32Sx4: vex_printf("Max32Sx4"); return; case Iop_Max8Ux16: vex_printf("Max8Ux16"); return; case Iop_Max16Ux8: vex_printf("Max16Ux8"); return; case Iop_Max32Ux4: vex_printf("Max32Ux4"); return; case Iop_Min8Sx16: vex_printf("Min8Sx16"); return; case Iop_Min16Sx8: vex_printf("Min16Sx8"); return; case Iop_Min32Sx4: vex_printf("Min32Sx4"); return; case Iop_Min8Ux16: vex_printf("Min8Ux16"); return; case Iop_Min16Ux8: vex_printf("Min16Ux8"); return; case Iop_Min32Ux4: vex_printf("Min32Ux4"); return; case Iop_CmpEQ8x16: vex_printf("CmpEQ8x16"); return; case Iop_CmpEQ16x8: vex_printf("CmpEQ16x8"); return; case Iop_CmpEQ32x4: vex_printf("CmpEQ32x4"); return; case Iop_CmpGT8Sx16: vex_printf("CmpGT8Sx16"); return; case Iop_CmpGT16Sx8: vex_printf("CmpGT16Sx8"); return; case Iop_CmpGT32Sx4: vex_printf("CmpGT32Sx4"); return; case Iop_CmpGT8Ux16: vex_printf("CmpGT8Ux16"); return; case Iop_CmpGT16Ux8: vex_printf("CmpGT16Ux8"); return; case Iop_CmpGT32Ux4: vex_printf("CmpGT32Ux4"); return; case Iop_ShlV128: vex_printf("ShlV128"); return; case Iop_ShrV128: vex_printf("ShrV128"); return; case Iop_ShlN8x16: vex_printf("ShlN8x16"); return; case Iop_ShlN16x8: vex_printf("ShlN16x8"); return; case Iop_ShlN32x4: vex_printf("ShlN32x4"); return; case Iop_ShlN64x2: vex_printf("ShlN64x2"); return; case Iop_ShrN8x16: vex_printf("ShrN8x16"); return; case Iop_ShrN16x8: vex_printf("ShrN16x8"); return; case Iop_ShrN32x4: vex_printf("ShrN32x4"); return; case Iop_ShrN64x2: vex_printf("ShrN64x2"); return; case Iop_SarN8x16: vex_printf("SarN8x16"); return; case Iop_SarN16x8: vex_printf("SarN16x8"); return; case Iop_SarN32x4: vex_printf("SarN32x4"); return; case Iop_Shl8x16: vex_printf("Shl8x16"); return; case Iop_Shl16x8: vex_printf("Shl16x8"); return; case Iop_Shl32x4: vex_printf("Shl32x4"); return; case Iop_Shr8x16: vex_printf("Shr8x16"); return; case Iop_Shr16x8: vex_printf("Shr16x8"); return; case Iop_Shr32x4: vex_printf("Shr32x4"); return; case Iop_Sar8x16: vex_printf("Sar8x16"); return; case Iop_Sar16x8: vex_printf("Sar16x8"); return; case Iop_Sar32x4: vex_printf("Sar32x4"); return; case Iop_Rol8x16: vex_printf("Rol8x16"); return; case Iop_Rol16x8: vex_printf("Rol16x8"); return; case Iop_Rol32x4: vex_printf("Rol32x4"); return; case Iop_Narrow16x8: vex_printf("Narrow16x8"); return; case Iop_Narrow32x4: vex_printf("Narrow32x4"); return; case Iop_QNarrow16Ux8: vex_printf("QNarrow16Ux8"); return; case Iop_QNarrow32Ux4: vex_printf("QNarrow32Ux4"); return; case Iop_QNarrow16Sx8: vex_printf("QNarrow16Sx8"); return; case Iop_QNarrow32Sx4: vex_printf("QNarrow32Sx4"); return; case Iop_InterleaveHI8x16: vex_printf("InterleaveHI8x16"); return; case Iop_InterleaveHI16x8: vex_printf("InterleaveHI16x8"); return; case Iop_InterleaveHI32x4: vex_printf("InterleaveHI32x4"); return; case Iop_InterleaveHI64x2: vex_printf("InterleaveHI64x2"); return; case Iop_InterleaveLO8x16: vex_printf("InterleaveLO8x16"); return; case Iop_InterleaveLO16x8: vex_printf("InterleaveLO16x8"); return; case Iop_InterleaveLO32x4: vex_printf("InterleaveLO32x4"); return; case Iop_InterleaveLO64x2: vex_printf("InterleaveLO64x2"); return; case Iop_Perm8x16: vex_printf("Perm8x16"); return; default: vpanic("ppIROp(1)"); } switch (op - base) { case 0: vex_printf(str); vex_printf("8"); break; case 1: vex_printf(str); vex_printf("16"); break; case 2: vex_printf(str); vex_printf("32"); break; case 3: vex_printf(str); vex_printf("64"); break; default: vpanic("ppIROp(2)"); }}void ppIRExpr ( IRExpr* e ){ Int i; switch (e->tag) { case Iex_Binder: vex_printf("BIND-%d", e->Iex.Binder.binder); break; case Iex_Get: vex_printf( "GET:" ); ppIRType(e->Iex.Get.ty); vex_printf("(%d)", e->Iex.Get.offset); break; case Iex_GetI: vex_printf( "GETI" ); ppIRArray(e->Iex.GetI.descr); vex_printf("["); ppIRExpr(e->Iex.GetI.ix); vex_printf(",%d]", e->Iex.GetI.bias); break; case Iex_Tmp: ppIRTemp(e->Iex.Tmp.tmp); break; case Iex_Qop: ppIROp(e->Iex.Qop.op); vex_printf( "(" ); ppIRExpr(e->Iex.Qop.arg1); vex_printf( "," ); ppIRExpr(e->Iex.Qop.arg2); vex_printf( "," ); ppIRExpr(e->Iex.Qop.arg3); vex_printf( "," ); ppIRExpr(e->Iex.Qop.arg4); vex_printf( ")" ); break; case Iex_Triop: ppIROp(e->Iex.Triop.op); vex_printf( "(" ); ppIRExpr(e->Iex.Triop.arg1); vex_printf( "," ); ppIRExpr(e->Iex.Triop.arg2); vex_printf( "," ); ppIRExpr(e->Iex.Triop.arg3); vex_printf( ")" ); break; case Iex_Binop: ppIROp(e->Iex.Binop.op); vex_printf( "(" ); ppIRExpr(e->Iex.Binop.arg1); vex_printf( "," ); ppIRExpr(e->Iex.Binop.arg2); vex_printf( ")" ); break; case Iex_Unop: ppIROp(e->Iex.Unop.op); vex_printf( "(" ); ppIRExpr(e->Iex.Unop.arg); vex_printf( ")" ); break; case Iex_Load: vex_printf( "LD%s:", e->Iex.Load.end==Iend_LE ? "le" : "be" ); ppIRType(e->Iex.Load.ty); vex_printf( "(" ); ppIRExpr(e->Iex.Load.addr); vex_printf( ")" ); break; case Iex_Const: ppIRConst(e->Iex.Const.con); break; case Iex_CCall: ppIRCallee(e->Iex.CCall.cee); vex_printf("("); for (i = 0; e->Iex.CCall.args[i] != NULL; i++) { ppIRExpr(e->Iex.CCall.args[i]); if (e->Iex.CCall.args[i+1] != NULL) vex_printf(","); } vex_printf("):"); ppIRType(e->Iex.CCall.retty); break; case Iex_Mux0X: vex_printf("Mux0X("); ppIRExpr(e->Iex.Mux0X.cond); vex_printf(","); ppIRExpr(e->Iex.Mux0X.expr0); vex_printf(","); ppIRExpr(e->Iex.Mux0X.exprX); vex_printf(")"); break; default: vpanic("ppIRExpr"); }}void ppIREffect ( IREffect fx ){ switch (fx) { case Ifx_None: vex_printf("noFX"); return; case Ifx_Read: vex_printf("RdFX"); return; case Ifx_Write: vex_printf("WrFX"); return; case Ifx_Modify: vex_printf("MoFX"); return; default: vpanic("ppIREffect"); }}void ppIRDirty ( IRDirty* d ){ Int i; if (d->tmp != IRTemp_INVALID) { ppIRTemp(d->tmp); vex_printf(" = "); } vex_printf("DIRTY "); ppIRExpr(d->guard); if (d->needsBBP) vex_printf(" NeedsBBP"); if (d->mFx != Ifx_None) { vex_printf(" "); ppIREffect(d->mFx); vex_printf("-mem("); ppIRExpr(d->mAddr); vex_printf(",%d)", d->mSize); } for (i = 0; i < d->nFxState; i++) { vex_printf(" "); ppIREffect(d->fxState[i].fx); vex_printf("-gst(%d,%d)", d->fxState[i].offset, d->fxState[i].size); } vex_printf(" ::: "); ppIRCallee(d->cee); vex_printf("("); for (i = 0; d->args[i] != NULL; i++) { ppIRExpr(d->args[i]); if (d->args[i+1] != NULL) { vex_printf(","); } } vex_printf(")");}void ppIRJumpKind ( IRJumpKind kind ){ switch (kind) { case Ijk_Boring: vex_printf("Boring"); break; case Ijk_Call: vex_printf("Call"); break; case Ijk_Ret: vex_printf("Return"); break; case Ijk_ClientReq: vex_printf("ClientReq"); break; case Ijk_Yield: vex_printf("Yield"); break; case Ijk_EmWarn: vex_printf("EmWarn"); break; case Ijk_EmFail: vex_printf("EmFail"); break; case Ijk_NoDecode: vex_printf("NoDecode"); break; case Ijk_MapFail: vex_printf("MapFail"); break; case Ijk_TInval: vex_printf("Invalidate"); break; case Ijk_NoRedir: vex_printf("NoRedir"); break; case Ijk_Trap: vex_printf("Trap"); break; case Ijk_Sys_syscall: vex_printf("Sys_syscall"); break; case Ijk_Sys_int32: vex_printf("Sys_int32"); break; case Ijk_Sys_int128: vex_printf("Sys_int128"); break; case Ijk_Sys_sysenter: vex_printf("Sys_sysenter"); break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -