87 lines
5.3 KiB
C
87 lines
5.3 KiB
C
void host_arm_ADD_IMM(codeblock_t *block, int dst_reg, int src_reg, uint32_t imm);
|
|
#define host_arm_ADD_REG(block, dst_reg, src_reg_n, src_reg_m) host_arm_ADD_REG_LSL(block, dst_reg, src_reg_n, src_reg_m, 0)
|
|
void host_arm_ADD_REG_LSL(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
void host_arm_ADD_REG_LSR(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_AND_IMM(codeblock_t *block, int dst_reg, int src_reg, uint32_t imm);
|
|
void host_arm_AND_REG_LSL(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_BFI(codeblock_t *block, int dst_reg, int src_reg, int lsb, int width);
|
|
|
|
void host_arm_BIC_REG_LSL(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
void host_arm_BIC_REG_LSR(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_BL(codeblock_t *block, uintptr_t dest_addr);
|
|
void host_arm_BLX(codeblock_t *block, int addr_reg);
|
|
uint32_t *host_arm_BEQ_(codeblock_t *block);
|
|
uint32_t *host_arm_BNE_(codeblock_t *block);
|
|
void host_arm_BEQ(codeblock_t *block, uintptr_t dest_addr);
|
|
void host_arm_BNE(codeblock_t *block, uintptr_t dest_addr);
|
|
|
|
void host_arm_CMN_IMM(codeblock_t *block, int src_reg, uint32_t imm);
|
|
void host_arm_CMN_REG_LSL(codeblock_t *block, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_CMP_IMM(codeblock_t *block, int src_reg, uint32_t imm);
|
|
void host_arm_CMP_REG_LSL(codeblock_t *block, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_EOR_IMM(codeblock_t *block, int dst_reg, int src_reg, uint32_t imm);
|
|
void host_arm_EOR_REG_LSL(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_LDMIA_WB(codeblock_t *block, int addr_reg, uint32_t reg_mask);
|
|
|
|
void host_arm_LDR_IMM(codeblock_t *block, int dst_reg, int addr_reg, int offset);
|
|
void host_arm_LDR_IMM_POST(codeblock_t *block, int dst_reg, int addr_reg, int offset);
|
|
#define host_arm_LDR_REG(block, dst_reg, addr_reg, offset_reg) host_arm_LDR_REG_LSL(block, dst_reg, addr_reg, offset_reg, 0)
|
|
void host_arm_LDR_REG_LSL(codeblock_t *block, int dst_reg, int addr_reg, int offset_reg, int shift);
|
|
|
|
void host_arm_LDRB_ABS(codeblock_t *block, int dst, void *p);
|
|
void host_arm_LDRB_IMM(codeblock_t *block, int dst_reg, int addr_reg, int offset);
|
|
#define host_arm_LDRB_REG(block, dst_reg, addr_reg, offset_reg) host_arm_LDRB_REG_LSL(block, dst_reg, addr_reg, offset_reg, 0)
|
|
void host_arm_LDRB_REG_LSL(codeblock_t *block, int dst_reg, int addr_reg, int offset_reg, int shift);
|
|
|
|
void host_arm_LDRH_IMM(codeblock_t *block, int dst_reg, int addr_reg, int offset);
|
|
void host_arm_LDRH_REG(codeblock_t *block, int dst_reg, int addr_reg, int offset_reg);
|
|
|
|
void host_arm_MOV_IMM(codeblock_t *block, int dst_reg, uint32_t imm);
|
|
#define host_arm_MOV_REG(block, dst_reg, src_reg) host_arm_MOV_REG_LSL(block, dst_reg, src_reg, 0)
|
|
void host_arm_MOV_REG_LSL(codeblock_t *block, int dst_reg, int src_reg, int shift);
|
|
void host_arm_MOV_REG_LSR(codeblock_t *block, int dst_reg, int src_reg, int shift);
|
|
void host_arm_MOVT_IMM(codeblock_t *block, int dst_reg, uint16_t imm);
|
|
void host_arm_MOVW_IMM(codeblock_t *block, int dst_reg, uint16_t imm);
|
|
|
|
void host_arm_MVN_REG_LSL(codeblock_t *block, int dst_reg, int src_reg, int shift);
|
|
|
|
void host_arm_ORR_IMM(codeblock_t *block, int dst_reg, int src_reg, uint32_t imm);
|
|
void host_arm_ORR_REG_LSL(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_RSB_REG_LSR(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_STMDB_WB(codeblock_t *block, int addr_reg, uint32_t reg_mask);
|
|
|
|
void host_arm_STR_IMM(codeblock_t *block, int src_reg, int addr_reg, int offset);
|
|
void host_arm_STR_IMM_WB(codeblock_t *block, int src_reg, int addr_reg, int offset);
|
|
#define host_arm_STR_REG(block, src_reg, addr_reg, offset_reg) host_arm_STR_REG_LSL(block, src_reg, addr_reg, offset_reg, 0)
|
|
void host_arm_STR_REG_LSL(codeblock_t *block, int src_reg, int addr_reg, int offset_reg, int shift);
|
|
|
|
void host_arm_STRB_IMM(codeblock_t *block, int src_reg, int addr_reg, int offset);
|
|
#define host_arm_STRB_REG(block, src_reg, addr_reg, offset_reg) host_arm_STRB_REG_LSL(block, src_reg, addr_reg, offset_reg, 0)
|
|
void host_arm_STRB_REG_LSL(codeblock_t *block, int src_reg, int addr_reg, int offset_reg, int shift);
|
|
|
|
void host_arm_STRH_IMM(codeblock_t *block, int src_reg, int addr_reg, int offset);
|
|
void host_arm_STRH_REG(codeblock_t *block, int src_reg, int addr_reg, int offset_reg);
|
|
|
|
void host_arm_SUB_IMM(codeblock_t *block, int dst_reg, int src_reg, uint32_t imm);
|
|
void host_arm_SUB_REG_LSL(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
void host_arm_SUB_REG_LSR(codeblock_t *block, int dst_reg, int src_reg_n, int src_reg_m, int shift);
|
|
|
|
void host_arm_TST_IMM(codeblock_t *block, int src_reg1, uint32_t imm);
|
|
void host_arm_TST_REG(codeblock_t *block, int src_reg1, int src_reg2);
|
|
|
|
void host_arm_UADD8(codeblock_t *block, int dst_reg, int src_reg_a, int src_reg_b);
|
|
void host_arm_UADD16(codeblock_t *block, int dst_reg, int src_reg_a, int src_reg_b);
|
|
|
|
void host_arm_USUB8(codeblock_t *block, int dst_reg, int src_reg_a, int src_reg_b);
|
|
void host_arm_USUB16(codeblock_t *block, int dst_reg, int src_reg_a, int src_reg_b);
|
|
|
|
void host_arm_UXTB(codeblock_t *block, int dst_reg, int src_reg, int rotate);
|
|
void host_arm_UXTH(codeblock_t *block, int dst_reg, int src_reg, int rotate);
|