Lines Matching defs:am
326 static X86AMode* advance4 ( X86AMode* am )
328 X86AMode* am4 = dopyX86AMode(am);
1444 X86AMode* am
1450 addInstr(env, X86Instr_LoadEX( 1, False, am, dst ));
1454 addInstr(env, X86Instr_Alu32R(Xalu_MOV, X86RMI_Mem(am), dst));
1530 static Bool sane_AMode ( X86AMode* am )
1532 switch (am->tag) {
1535 toBool( hregClass(am->Xam.IR.reg) == HRcInt32
1536 && (hregIsVirtual(am->Xam.IR.reg)
1537 || sameHReg(am->Xam.IR.reg, hregX86_EBP())) );
1540 toBool( hregClass(am->Xam.IRRS.base) == HRcInt32
1541 && hregIsVirtual(am->Xam.IRRS.base)
1542 && hregClass(am->Xam.IRRS.index) == HRcInt32
1543 && hregIsVirtual(am->Xam.IRRS.index) );
1551 X86AMode* am = iselIntExpr_AMode_wrk(env, e);
1552 vassert(sane_AMode(am));
1553 return am;
1636 vassert(sane_AMode(rmi->Xrmi.Mem.am));
1670 X86AMode* am = iselIntExpr_AMode(env, e->Iex.Load.addr);
1671 return X86RMI_Mem(am);
1744 vassert(sane_AMode(rm->Xrm.Mem.am));
1884 X86AMode* am = X86AMode_IR(e->Iex.Unop.arg->Iex.Get.offset,
1886 addInstr(env, X86Instr_Alu32M(Xalu_CMP, X86RI_Imm(0), am));
2138 X86AMode* am = X86AMode_IR(e->Iex.Get.offset, hregX86_EBP());
2139 X86AMode* am4 = advance4(am);
2142 addInstr(env, X86Instr_Alu32R( Xalu_MOV, X86RMI_Mem(am), tLo ));
2151 X86AMode* am
2154 X86AMode* am4 = advance4(am);
2157 addInstr(env, X86Instr_Alu32R( Xalu_MOV, X86RMI_Mem(am), tLo ));
2896 X86AMode* am;
2899 am = iselIntExpr_AMode(env, e->Iex.Load.addr);
2900 addInstr(env, X86Instr_FpLdSt(True/*load*/, 4, res, am));
2918 X86AMode* am = X86AMode_IR( e->Iex.Get.offset,
2921 addInstr(env, X86Instr_FpLdSt( True/*load*/, 4, res, am ));
3039 X86AMode* am;
3042 am = iselIntExpr_AMode(env, e->Iex.Load.addr);
3043 addInstr(env, X86Instr_FpLdSt(True/*load*/, 8, res, am));
3048 X86AMode* am = X86AMode_IR( e->Iex.Get.offset,
3051 addInstr(env, X86Instr_FpLdSt( True/*load*/, 8, res, am ));
3056 X86AMode* am
3061 addInstr(env, X86Instr_FpLdSt( True/*load*/, 8, res, am ));
3299 X86AMode* am = iselIntExpr_AMode(env, e->Iex.Load.addr);
3300 addInstr(env, X86Instr_SseLdSt( True/*load*/, dst, am ));
3320 X86AMode* am = iselIntExpr_AMode(env, mi.bindee[0]);
3322 addInstr(env, X86Instr_SseLdzLO(8, dst, am));
3371 X86AMode* am;
3379 am = X86AMode_IR(i*4, hregX86_ESP());
3380 addInstr(env, X86Instr_Alu32R(Xalu_MOV, X86RMI_Mem(am), r32));
3383 addInstr(env, X86Instr_Alu32M(Xalu_MOV, X86RI_Reg(r32), am));
3880 X86AMode* am = iselIntExpr_AMode(env, stmt->Ist.Store.addr);
3882 addInstr(env, X86Instr_Alu32M(Xalu_MOV,ri,am));
3886 X86AMode* am = iselIntExpr_AMode(env, stmt->Ist.Store.addr);
3889 r,am ));
3893 X86AMode* am = iselIntExpr_AMode(env, stmt->Ist.Store.addr);
3895 addInstr(env, X86Instr_FpLdSt(False/*store*/, 8, r, am));
3899 X86AMode* am = iselIntExpr_AMode(env, stmt->Ist.Store.addr);
3901 addInstr(env, X86Instr_FpLdSt(False/*store*/, 4, r, am));
3915 X86AMode* am = iselIntExpr_AMode(env, stmt->Ist.Store.addr);
3917 addInstr(env, X86Instr_SseLdSt(False/*store*/, r, am));
3949 X86AMode* am = X86AMode_IR(stmt->Ist.Put.offset, hregX86_EBP());
3950 X86AMode* am4 = advance4(am);
3952 addInstr(env, X86Instr_Alu32M( Xalu_MOV, X86RI_Reg(vLo), am ));
3958 X86AMode* am = X86AMode_IR(stmt->Ist.Put.offset, hregX86_EBP());
3959 addInstr(env, X86Instr_SseLdSt(False/*store*/, vec, am));
3964 X86AMode* am = X86AMode_IR(stmt->Ist.Put.offset, hregX86_EBP());
3966 addInstr(env, X86Instr_FpLdSt( False/*store*/, 4, f32, am ));
3971 X86AMode* am = X86AMode_IR(stmt->Ist.Put.offset, hregX86_EBP());
3973 addInstr(env, X86Instr_FpLdSt( False/*store*/, 8, f64, am ));
3983 X86AMode* am
3991 addInstr(env, X86Instr_FpLdSt( False/*store*/, 8, val, am ));
3996 addInstr(env, X86Instr_Store( 1, r, am ));
4001 addInstr(env, X86Instr_Alu32M( Xalu_MOV, X86RI_Reg(r), am ));
4006 X86AMode* am4 = advance4(am);
4008 addInstr(env, X86Instr_Alu32M( Xalu_MOV, X86RI_Reg(rLo), am ));
4029 X86AMode* am = iselIntExpr_AMode(env, stmt->Ist.WrTmp.data);
4031 if (am->tag == Xam_IR && am->Xam.IR.imm == 0) {
4035 am->Xam.IR.reg;
4038 addInstr(env, X86Instr_Lea32(am,dst));
4150 X86AMode* am = X86AMode_IR(rloc.spOff, hregX86_ESP());
4151 addInstr(env, X86Instr_SseLdSt( True/*load*/, dst, am ));
4181 X86AMode* am = iselIntExpr_AMode(env, cas->addr);
4196 addInstr(env, X86Instr_ACAS(am, sz));
4208 X86AMode* am = iselIntExpr_AMode(env, cas->addr);
4223 addInstr(env, X86Instr_DACAS(am));