Lines Matching refs:iricb

50 static IRICB iricb;  variable
56 iricb = *iricb_in; // copy in in LibVEX_InitIRI()
197 if (iricb.rounding_mode != NO_ROUNDING_MODE) { in vex_inject_ir()
198 rounding_mode = mkU32(iricb.rounding_mode); in vex_inject_ir()
201 switch (iricb.num_operands) { in vex_inject_ir()
203 opnd1 = load(endian, iricb.t_opnd1, iricb.opnd1); in vex_inject_ir()
205 data = binop(iricb.op, rounding_mode, opnd1); in vex_inject_ir()
207 data = unop(iricb.op, opnd1); in vex_inject_ir()
211 opnd1 = load(endian, iricb.t_opnd1, iricb.opnd1); in vex_inject_ir()
213 if (iricb.shift_amount_is_immediate) { in vex_inject_ir()
215 vassert(iricb.t_opnd2 == Ity_I8); in vex_inject_ir()
217 opnd2 = mkU8(*((ULong *)iricb.opnd2)); in vex_inject_ir()
219 opnd2 = load(endian, iricb.t_opnd2, iricb.opnd2); in vex_inject_ir()
223 data = triop(iricb.op, rounding_mode, opnd1, opnd2); in vex_inject_ir()
225 data = binop(iricb.op, opnd1, opnd2); in vex_inject_ir()
229 opnd1 = load(endian, iricb.t_opnd1, iricb.opnd1); in vex_inject_ir()
230 opnd2 = load(endian, iricb.t_opnd2, iricb.opnd2); in vex_inject_ir()
231 opnd3 = load(endian, iricb.t_opnd3, iricb.opnd3); in vex_inject_ir()
233 data = qop(iricb.op, rounding_mode, opnd1, opnd2, opnd3); in vex_inject_ir()
235 data = triop(iricb.op, opnd1, opnd2, opnd3); in vex_inject_ir()
240 opnd1 = load(endian, iricb.t_opnd1, iricb.opnd1); in vex_inject_ir()
241 opnd2 = load(endian, iricb.t_opnd2, iricb.opnd2); in vex_inject_ir()
242 opnd3 = load(endian, iricb.t_opnd3, iricb.opnd3); in vex_inject_ir()
243 opnd4 = load(endian, iricb.t_opnd4, iricb.opnd4); in vex_inject_ir()
244 data = qop(iricb.op, opnd1, opnd2, opnd3, opnd4); in vex_inject_ir()
251 store(irsb, endian, iricb.result, data); in vex_inject_ir()
255 if (iricb.t_result == Ity_I1 || sizeofIRType(iricb.t_result) <= 8) { in vex_inject_ir()
257 } else if (sizeofIRType(iricb.t_result) == 16) { in vex_inject_ir()