Lines Matching refs:iw
156 execute_i (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
160 int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
161 int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
162 int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
166 unsigned int csr = (iw >> OP_SH_CSR) & OP_MASK_CSR;
167 unsigned_word i_imm = EXTRACT_ITYPE_IMM (iw);
168 unsigned_word u_imm = EXTRACT_UTYPE_IMM ((uint64_t) iw);
169 unsigned_word s_imm = EXTRACT_STYPE_IMM (iw);
170 unsigned_word sb_imm = EXTRACT_BTYPE_IMM (iw);
171 unsigned_word shamt_imm = ((iw >> OP_SH_SHAMT) & OP_MASK_SHAMT);
446 EXTRACT_JTYPE_IMM (iw));
448 pc = riscv_cpu->pc + EXTRACT_JTYPE_IMM (iw);
686 execute_m (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
690 int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
691 int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
692 int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
837 execute_a (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
842 int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
843 int rs1 = (iw >> OP_SH_RS1) & OP_MASK_RS1;
844 int rs2 = (iw >> OP_SH_RS2) & OP_MASK_RS2;
977 execute_c (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
981 int rd = (iw >> OP_SH_RD) & OP_MASK_RD;
982 int rs1_c = ((iw >> OP_SH_CRS1S) & OP_MASK_CRS1S) + 8;
983 int rs2 = (iw >> OP_SH_CRS2) & OP_MASK_CRS2;
984 int rs2_c = ((iw >> OP_SH_CRS2S) & OP_MASK_CRS2S) + 8;
1012 imm = EXTRACT_CJTYPE_IMM (iw);
1023 imm = EXTRACT_CJTYPE_IMM (iw);
1032 imm = EXTRACT_CITYPE_IMM (iw);
1066 imm = EXTRACT_CBTYPE_IMM (iw);
1077 imm = EXTRACT_CBTYPE_IMM (iw);
1088 imm = EXTRACT_CITYPE_LWSP_IMM (iw);
1097 imm = EXTRACT_CLTYPE_LW_IMM (iw);
1105 imm = EXTRACT_CSSTYPE_SWSP_IMM (iw);
1113 imm = EXTRACT_CLTYPE_LW_IMM (iw);
1121 imm = EXTRACT_CITYPE_IMM (iw);
1127 imm = EXTRACT_CITYPE_LUI_IMM (iw);
1133 imm = EXTRACT_CITYPE_IMM (iw);
1139 imm = EXTRACT_CIWTYPE_ADDI4SPN_IMM (iw);
1145 imm = EXTRACT_CITYPE_ADDI16SP_IMM (iw);
1179 imm = EXTRACT_CITYPE_IMM (iw);
1193 imm = EXTRACT_CITYPE_IMM (iw);
1211 imm = EXTRACT_CITYPE_IMM (iw);
1226 imm = EXTRACT_CITYPE_IMM (iw);
1246 imm = EXTRACT_CITYPE_LDSP_IMM (iw);
1256 imm = EXTRACT_CLTYPE_LD_IMM (iw);
1265 imm = EXTRACT_CSSTYPE_SDSP_IMM (iw);
1274 imm = EXTRACT_CLTYPE_LD_IMM (iw);
1292 execute_one (SIM_CPU *cpu, unsigned_word iw, const struct riscv_opcode *op)
1306 return execute_a (cpu, iw, op);
1310 return execute_c (cpu, iw, op);
1318 return execute_i (cpu, iw, op);
1321 return execute_m (cpu, iw, op);
1327 return riscv_cpu->pc + riscv_insn_length (iw);
1335 unsigned_word iw;
1345 iw = sim_core_read_aligned_2 (cpu, pc, exec_map, pc);
1347 len = riscv_insn_length (iw);
1351 len, pc, iw);
1356 iw |= ((unsigned_word) sim_core_read_aligned_2
1359 TRACE_CORE (cpu, "0x%08" PRIxTW, iw);
1361 op = riscv_hash[OP_HASH_IDX (iw)];
1369 if (! op->match_func || ! op->match_func (op, iw))
1379 pc = execute_one (cpu, iw, op);