69 #if defined(A__RSB) || defined(A__RSC) 78 uint32_t (*reg_func)(
struct cpu *,
struct arm_instr_call *)
79 = (uint32_t (*)(
struct cpu *,
struct arm_instr_call *))
80 (
void *)(
size_t)ic->arg[1];
86 #if defined(A__CMP) || defined(A__CMN) || defined(A__ADC) || defined(A__ADD) \ 87 || defined(A__RSC) || defined(A__RSB) || defined(A__SBC) || defined(A__SUB) 107 #if !defined(A__MOV) && !defined(A__MVN) 112 #if defined(A__MOV) || defined(A__MVN) || defined(A__TST) || defined(A__TEQ) \ 113 || defined(A__AND) || defined(A__BIC) || defined(A__EOR) || defined(A__ORR) 114 #if !defined(A__REG) && !defined(A__REGSHORT) && defined(A__S) 125 if (VAR_B & 0x80000000)
134 #if !defined(A__MOV) && !defined(A__MVN) 137 uint32_t low_pc = ((size_t)ic - (
size_t)
138 cpu->
cd.
arm.cur_ic_page) /
sizeof(
struct arm_instr_call);
149 #if defined(A__AND) || defined(A__TST) 152 #if defined(A__EOR) || defined(A__TEQ) 155 #if defined(A__SUB) || defined(A__CMP) || defined(A__RSB) 158 #if defined(A__ADD) || defined(A__CMN) 164 #if defined(A__SBC) || defined(A__RSC) 182 #if defined(A__CMP) || defined(A__CMN) || defined(A__TST) || defined(A__TEQ) 188 uint32_t old_pc = cpu->
pc;
193 cpu->
pc = (uint32_t)c64;
212 if ((old_pc & ~mask_within_page) ==
213 ((uint32_t)cpu->
pc & ~mask_within_page)) {
214 cpu->
cd.
arm.next_ic = cpu->
cd.
arm.cur_ic_page +
215 ((cpu->
pc & mask_within_page) >>
222 reg(ic->arg[2]) = c64;
224 reg(ic->arg[2]) = c64;
235 #if defined(A__CMP) || defined(A__CMN) || defined(A__ADC) || defined(A__ADD) \ 236 || defined(A__RSB) || defined(A__RSC) || defined(A__SBC) || defined(A__SUB) 242 #if defined(A__CMP) || defined(A__RSB) || defined(A__SUB) || \ 243 defined(A__RSC) || defined(A__SBC) 244 if ((uint32_t)a >= (uint32_t)b)
247 #if defined(A__ADC) || defined(A__ADD) || defined(A__CMN) 256 if ((int32_t)c32 < 0)
264 #if defined(A__ADD) || defined(A__CMN) 265 if (((int32_t)a >= 0 && (int32_t)b >= 0 &&
267 ((int32_t)a < 0 && (int32_t)b < 0 &&
271 #if defined(A__SUB) || defined(A__RSB) || defined(A__CMP) || \ 272 defined(A__RSC) || defined(A__SBC) 273 if (((int32_t)a >= 0 && (int32_t)b < 0 &&
275 ((int32_t)a < 0 && (int32_t)b >= 0 &&
void A__NAME__pl(struct cpu *cpu, struct arm_instr_call *ic)
void arm_save_register_bank(struct cpu *cpu)
void A__NAME__ne(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__gt(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__mi(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__lt(struct cpu *cpu, struct arm_instr_call *ic)
struct arm_instr_call * ic
void A__NAME__cc(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__cs(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__ls(struct cpu *cpu, struct arm_instr_call *ic)
void arm_load_register_bank(struct cpu *cpu)
void A__NAME__le(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__hi(struct cpu *cpu, struct arm_instr_call *ic)
#define ARM_IC_ENTRIES_PER_PAGE
#define quick_pc_to_pointers(cpu)
#define ARM_INSTR_ALIGNMENT_SHIFT
void A__NAME__vc(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__ge(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__eq(struct cpu *cpu, struct arm_instr_call *ic)
void A__NAME__vs(struct cpu *cpu, struct arm_instr_call *ic)