* [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes @ 2011-04-13 16:38 Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h Lluís ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Lluís @ 2011-04-13 16:38 UTC (permalink / raw) To: qemu-devel; +Cc: aurelien Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- target-arm/helper.c | 246 ++++++++++++++++++++++---------------------- target-arm/iwmmxt_helper.c | 28 +++-- target-arm/translate.c | 26 ++--- 3 files changed, 150 insertions(+), 150 deletions(-) diff --git a/target-arm/helper.c b/target-arm/helper.c index 9172fc7..d2e0bf4 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -959,7 +959,7 @@ static uint32_t get_level1_table_address(CPUState *env, uint32_t address) } static int get_phys_addr_v5(CPUState *env, uint32_t address, int access_type, - int is_user, uint32_t *phys_ptr, int *prot, + int is_user, uint32_t *phys_ptr, int *prot, target_ulong *page_size) { int code; @@ -996,13 +996,13 @@ static int get_phys_addr_v5(CPUState *env, uint32_t address, int access_type, *page_size = 1024 * 1024; } else { /* Lookup l2 entry. */ - if (type == 1) { - /* Coarse pagetable. */ - table = (desc & 0xfffffc00) | ((address >> 10) & 0x3fc); - } else { - /* Fine pagetable. */ - table = (desc & 0xfffff000) | ((address >> 8) & 0xffc); - } + if (type == 1) { + /* Coarse pagetable. */ + table = (desc & 0xfffffc00) | ((address >> 10) & 0x3fc); + } else { + /* Fine pagetable. */ + table = (desc & 0xfffff000) | ((address >> 8) & 0xffc); + } desc = ldl_phys(table); switch (desc & 3) { case 0: /* Page translation fault. */ @@ -1019,17 +1019,17 @@ static int get_phys_addr_v5(CPUState *env, uint32_t address, int access_type, *page_size = 0x1000; break; case 3: /* 1k page. */ - if (type == 1) { - if (arm_feature(env, ARM_FEATURE_XSCALE)) { - phys_addr = (desc & 0xfffff000) | (address & 0xfff); - } else { - /* Page translation fault. */ - code = 7; - goto do_fault; - } - } else { - phys_addr = (desc & 0xfffffc00) | (address & 0x3ff); - } + if (type == 1) { + if (arm_feature(env, ARM_FEATURE_XSCALE)) { + phys_addr = (desc & 0xfffff000) | (address & 0xfff); + } else { + /* Page translation fault. */ + code = 7; + goto do_fault; + } + } else { + phys_addr = (desc & 0xfffffc00) | (address & 0x3ff); + } ap = (desc >> 4) & 3; *page_size = 0x400; break; @@ -1052,7 +1052,7 @@ do_fault: } static int get_phys_addr_v6(CPUState *env, uint32_t address, int access_type, - int is_user, uint32_t *phys_ptr, int *prot, + int is_user, uint32_t *phys_ptr, int *prot, target_ulong *page_size) { int code; @@ -1155,7 +1155,7 @@ do_fault: } static int get_phys_addr_mpu(CPUState *env, uint32_t address, int access_type, - int is_user, uint32_t *phys_ptr, int *prot) + int is_user, uint32_t *phys_ptr, int *prot) { int n; uint32_t mask; @@ -1163,52 +1163,52 @@ static int get_phys_addr_mpu(CPUState *env, uint32_t address, int access_type, *phys_ptr = address; for (n = 7; n >= 0; n--) { - base = env->cp15.c6_region[n]; - if ((base & 1) == 0) - continue; - mask = 1 << ((base >> 1) & 0x1f); - /* Keep this shift separate from the above to avoid an - (undefined) << 32. */ - mask = (mask << 1) - 1; - if (((base ^ address) & ~mask) == 0) - break; + base = env->cp15.c6_region[n]; + if ((base & 1) == 0) + continue; + mask = 1 << ((base >> 1) & 0x1f); + /* Keep this shift separate from the above to avoid an + (undefined) << 32. */ + mask = (mask << 1) - 1; + if (((base ^ address) & ~mask) == 0) + break; } if (n < 0) - return 2; + return 2; if (access_type == 2) { - mask = env->cp15.c5_insn; + mask = env->cp15.c5_insn; } else { - mask = env->cp15.c5_data; + mask = env->cp15.c5_data; } mask = (mask >> (n * 4)) & 0xf; switch (mask) { case 0: - return 1; + return 1; case 1: - if (is_user) - return 1; - *prot = PAGE_READ | PAGE_WRITE; - break; + if (is_user) + return 1; + *prot = PAGE_READ | PAGE_WRITE; + break; case 2: - *prot = PAGE_READ; - if (!is_user) - *prot |= PAGE_WRITE; - break; + *prot = PAGE_READ; + if (!is_user) + *prot |= PAGE_WRITE; + break; case 3: - *prot = PAGE_READ | PAGE_WRITE; - break; + *prot = PAGE_READ | PAGE_WRITE; + break; case 5: - if (is_user) - return 1; - *prot = PAGE_READ; - break; + if (is_user) + return 1; + *prot = PAGE_READ; + break; case 6: - *prot = PAGE_READ; - break; + *prot = PAGE_READ; + break; default: - /* Bad permission. */ - return 1; + /* Bad permission. */ + return 1; } *prot |= PAGE_EXEC; return 0; @@ -1231,8 +1231,8 @@ static inline int get_phys_addr(CPUState *env, uint32_t address, return 0; } else if (arm_feature(env, ARM_FEATURE_MPU)) { *page_size = TARGET_PAGE_SIZE; - return get_phys_addr_mpu(env, address, access_type, is_user, phys_ptr, - prot); + return get_phys_addr_mpu(env, address, access_type, is_user, phys_ptr, + prot); } else if (env->cp15.c1_sys & (1 << 23)) { return get_phys_addr_v6(env, address, access_type, is_user, phys_ptr, prot, page_size); @@ -1411,22 +1411,22 @@ void HELPER(set_cp15)(CPUState *env, uint32_t insn, uint32_t val) goto bad_reg; } } else { - switch (op2) { - case 0: - env->cp15.c2_base0 = val; - break; - case 1: - env->cp15.c2_base1 = val; - break; - case 2: + switch (op2) { + case 0: + env->cp15.c2_base0 = val; + break; + case 1: + env->cp15.c2_base1 = val; + break; + case 2: val &= 7; env->cp15.c2_control = val; - env->cp15.c2_mask = ~(((uint32_t)0xffffffffu) >> val); + env->cp15.c2_mask = ~(((uint32_t)0xffffffffu) >> val); env->cp15.c2_base_mask = ~((uint32_t)0x3fffu >> val); - break; - default: - goto bad_reg; - } + break; + default: + goto bad_reg; + } } break; case 3: /* MMU Domain access control / MPU write buffer control. */ @@ -1555,26 +1555,26 @@ void HELPER(set_cp15)(CPUState *env, uint32_t insn, uint32_t val) break; switch (crm) { case 0: /* Cache lockdown. */ - switch (op1) { - case 0: /* L1 cache. */ - switch (op2) { - case 0: - env->cp15.c9_data = val; - break; - case 1: - env->cp15.c9_insn = val; - break; - default: - goto bad_reg; - } - break; - case 1: /* L2 cache. */ - /* Ignore writes to L2 lockdown/auxiliary registers. */ - break; - default: - goto bad_reg; - } - break; + switch (op1) { + case 0: /* L1 cache. */ + switch (op2) { + case 0: + env->cp15.c9_data = val; + break; + case 1: + env->cp15.c9_insn = val; + break; + default: + goto bad_reg; + } + break; + case 1: /* L2 cache. */ + /* Ignore writes to L2 lockdown/auxiliary registers. */ + break; + default: + goto bad_reg; + } + break; case 1: /* TCM memory region registers. */ /* Not implemented. */ goto bad_reg; @@ -1675,7 +1675,7 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn) case 0: /* Device ID. */ return env->cp15.c0_cpuid; case 1: /* Cache Type. */ - return env->cp15.c0_cachetype; + return env->cp15.c0_cachetype; case 2: /* TCM status. */ return 0; case 3: /* TLB type register. */ @@ -1790,17 +1790,17 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn) goto bad_reg; } } else { - switch (op2) { - case 0: - return env->cp15.c2_base0; - case 1: - return env->cp15.c2_base1; - case 2: + switch (op2) { + case 0: + return env->cp15.c2_base0; + case 1: + return env->cp15.c2_base1; + case 2: return env->cp15.c2_control; - default: - goto bad_reg; - } - } + default: + goto bad_reg; + } + } case 3: /* MMU Domain access control / MPU write buffer control. */ return env->cp15.c3; case 4: /* Reserved. */ @@ -1836,29 +1836,29 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn) } else { if (arm_feature(env, ARM_FEATURE_OMAPCP)) op2 = 0; - switch (op2) { - case 0: - return env->cp15.c6_data; - case 1: - if (arm_feature(env, ARM_FEATURE_V6)) { - /* Watchpoint Fault Adrress. */ - return 0; /* Not implemented. */ - } else { - /* Instruction Fault Adrress. */ - /* Arm9 doesn't have an IFAR, but implementing it anyway - shouldn't do any harm. */ - return env->cp15.c6_insn; - } - case 2: - if (arm_feature(env, ARM_FEATURE_V6)) { - /* Instruction Fault Adrress. */ - return env->cp15.c6_insn; - } else { - goto bad_reg; - } - default: - goto bad_reg; - } + switch (op2) { + case 0: + return env->cp15.c6_data; + case 1: + if (arm_feature(env, ARM_FEATURE_V6)) { + /* Watchpoint Fault Adrress. */ + return 0; /* Not implemented. */ + } else { + /* Instruction Fault Adrress. */ + /* Arm9 doesn't have an IFAR, but implementing it anyway + shouldn't do any harm. */ + return env->cp15.c6_insn; + } + case 2: + if (arm_feature(env, ARM_FEATURE_V6)) { + /* Instruction Fault Adrress. */ + return env->cp15.c6_insn; + } else { + goto bad_reg; + } + default: + goto bad_reg; + } } case 7: /* Cache control. */ if (crm == 4 && op1 == 0 && op2 == 0) { @@ -1872,8 +1872,8 @@ uint32_t HELPER(get_cp15)(CPUState *env, uint32_t insn) case 9: /* Cache lockdown. */ switch (op1) { case 0: /* L1 cache. */ - if (arm_feature(env, ARM_FEATURE_OMAPCP)) - return 0; + if (arm_feature(env, ARM_FEATURE_OMAPCP)) + return 0; switch (op2) { case 0: return env->cp15.c9_data; diff --git a/target-arm/iwmmxt_helper.c b/target-arm/iwmmxt_helper.c index 3941f1f..b13ffc7 100644 --- a/target-arm/iwmmxt_helper.c +++ b/target-arm/iwmmxt_helper.c @@ -164,13 +164,13 @@ uint64_t HELPER(iwmmxt_macuw)(uint64_t a, uint64_t b) #define IWMMXT_OP_UNPACK(S, SH0, SH1, SH2, SH3) \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, b)))(uint64_t a, uint64_t b) \ { \ - a = \ + a = \ (((a >> SH0) & 0xff) << 0) | (((b >> SH0) & 0xff) << 8) | \ (((a >> SH1) & 0xff) << 16) | (((b >> SH1) & 0xff) << 24) | \ (((a >> SH2) & 0xff) << 32) | (((b >> SH2) & 0xff) << 40) | \ (((a >> SH3) & 0xff) << 48) | (((b >> SH3) & 0xff) << 56); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ - NZBIT8(a >> 0, 0) | NZBIT8(a >> 8, 1) | \ + NZBIT8(a >> 0, 0) | NZBIT8(a >> 8, 1) | \ NZBIT8(a >> 16, 2) | NZBIT8(a >> 24, 3) | \ NZBIT8(a >> 32, 4) | NZBIT8(a >> 40, 5) | \ NZBIT8(a >> 48, 6) | NZBIT8(a >> 56, 7); \ @@ -178,10 +178,10 @@ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, b)))(uint64_t a, uint64_t b) \ } \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, w)))(uint64_t a, uint64_t b) \ { \ - a = \ + a = \ (((a >> SH0) & 0xffff) << 0) | \ - (((b >> SH0) & 0xffff) << 16) | \ - (((a >> SH2) & 0xffff) << 32) | \ + (((b >> SH0) & 0xffff) << 16) | \ + (((a >> SH2) & 0xffff) << 32) | \ (((b >> SH2) & 0xffff) << 48); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ NZBIT8(a >> 0, 0) | NZBIT8(a >> 16, 1) | \ @@ -190,7 +190,7 @@ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, w)))(uint64_t a, uint64_t b) \ } \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, l)))(uint64_t a, uint64_t b) \ { \ - a = \ + a = \ (((a >> SH0) & 0xffffffff) << 0) | \ (((b >> SH0) & 0xffffffff) << 32); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ @@ -199,7 +199,7 @@ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, l)))(uint64_t a, uint64_t b) \ } \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, ub)))(uint64_t x) \ { \ - x = \ + x = \ (((x >> SH0) & 0xff) << 0) | \ (((x >> SH1) & 0xff) << 16) | \ (((x >> SH2) & 0xff) << 32) | \ @@ -211,7 +211,7 @@ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, ub)))(uint64_t x) \ } \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, uw)))(uint64_t x) \ { \ - x = \ + x = \ (((x >> SH0) & 0xffff) << 0) | \ (((x >> SH2) & 0xffff) << 32); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ @@ -226,11 +226,11 @@ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, ul)))(uint64_t x) \ } \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, sb)))(uint64_t x) \ { \ - x = \ - ((uint64_t) EXTEND8H((x >> SH0) & 0xff) << 0) | \ + x = \ + ((uint64_t) EXTEND8H((x >> SH0) & 0xff) << 0) | \ ((uint64_t) EXTEND8H((x >> SH1) & 0xff) << 16) | \ ((uint64_t) EXTEND8H((x >> SH2) & 0xff) << 32) | \ - ((uint64_t) EXTEND8H((x >> SH3) & 0xff) << 48); \ + ((uint64_t) EXTEND8H((x >> SH3) & 0xff) << 48); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ NZBIT16(x >> 0, 0) | NZBIT16(x >> 16, 1) | \ NZBIT16(x >> 32, 2) | NZBIT16(x >> 48, 3); \ @@ -238,7 +238,7 @@ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, sb)))(uint64_t x) \ } \ uint64_t HELPER(glue(iwmmxt_unpack, glue(S, sw)))(uint64_t x) \ { \ - x = \ + x = \ ((uint64_t) EXTEND16((x >> SH0) & 0xffff) << 0) | \ ((uint64_t) EXTEND16((x >> SH2) & 0xffff) << 32); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ @@ -257,13 +257,13 @@ IWMMXT_OP_UNPACK(h, 32, 40, 48, 56) #define IWMMXT_OP_CMP(SUFF, Tb, Tw, Tl, O) \ uint64_t HELPER(glue(iwmmxt_, glue(SUFF, b)))(uint64_t a, uint64_t b) \ { \ - a = \ + a = \ CMP(0, Tb, O, 0xff) | CMP(8, Tb, O, 0xff) | \ CMP(16, Tb, O, 0xff) | CMP(24, Tb, O, 0xff) | \ CMP(32, Tb, O, 0xff) | CMP(40, Tb, O, 0xff) | \ CMP(48, Tb, O, 0xff) | CMP(56, Tb, O, 0xff); \ env->iwmmxt.cregs[ARM_IWMMXT_wCASF] = \ - NZBIT8(a >> 0, 0) | NZBIT8(a >> 8, 1) | \ + NZBIT8(a >> 0, 0) | NZBIT8(a >> 8, 1) | \ NZBIT8(a >> 16, 2) | NZBIT8(a >> 24, 3) | \ NZBIT8(a >> 32, 4) | NZBIT8(a >> 40, 5) | \ NZBIT8(a >> 48, 6) | NZBIT8(a >> 56, 7); \ diff --git a/target-arm/translate.c b/target-arm/translate.c index 6190028..cf59d63 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -2516,7 +2516,7 @@ static int disas_cp15_insn(CPUState *env, DisasContext *s, uint32_t insn) /* M profile cores use memory mapped registers instead of cp15. */ if (arm_feature(env, ARM_FEATURE_M)) - return 1; + return 1; if ((insn & (1 << 25)) == 0) { if (insn & (1 << 20)) { @@ -6186,21 +6186,21 @@ static int disas_coproc_insn(CPUState * env, DisasContext *s, uint32_t insn) cpnum = (insn >> 8) & 0xf; if (arm_feature(env, ARM_FEATURE_XSCALE) - && ((env->cp15.c15_cpar ^ 0x3fff) & (1 << cpnum))) - return 1; + && ((env->cp15.c15_cpar ^ 0x3fff) & (1 << cpnum))) + return 1; switch (cpnum) { case 0: case 1: - if (arm_feature(env, ARM_FEATURE_IWMMXT)) { - return disas_iwmmxt_insn(env, s, insn); - } else if (arm_feature(env, ARM_FEATURE_XSCALE)) { - return disas_dsp_insn(env, s, insn); - } - return 1; + if (arm_feature(env, ARM_FEATURE_IWMMXT)) { + return disas_iwmmxt_insn(env, s, insn); + } else if (arm_feature(env, ARM_FEATURE_XSCALE)) { + return disas_dsp_insn(env, s, insn); + } + return 1; case 10: case 11: - return disas_vfp_insn (env, s, insn); + return disas_vfp_insn (env, s, insn); case 14: /* Coprocessors 7-15 are architecturally reserved by ARM. Unfortunately Intel decided to ignore this. */ @@ -6211,11 +6211,11 @@ static int disas_coproc_insn(CPUState * env, DisasContext *s, uint32_t insn) else return disas_cp14_write(env, s, insn); case 15: - return disas_cp15_insn (env, s, insn); + return disas_cp15_insn (env, s, insn); default: board: - /* Unknown coprocessor. See if the board has hooked it. */ - return disas_cp_insn (env, s, insn); + /* Unknown coprocessor. See if the board has hooked it. */ + return disas_cp_insn (env, s, insn); } } ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h 2011-04-13 16:38 [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Lluís @ 2011-04-13 16:38 ` Lluís 2011-04-18 19:18 ` Aurelien Jarno 2011-04-13 16:38 ` [Qemu-devel] [PATCH 3/4] [m68k] trivial whitespace/indentation fixes Lluís ` (2 subsequent siblings) 3 siblings, 1 reply; 9+ messages in thread From: Lluís @ 2011-04-13 16:38 UTC (permalink / raw) To: qemu-devel; +Cc: aurelien This provides a consistent naming scheme across all targets. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- target-arm/helper.c | 2 target-arm/helper.h | 475 ++++++++++++++++++++++++++++++++++++++++++++ target-arm/helpers.h | 475 -------------------------------------------- target-arm/iwmmxt_helper.c | 2 target-arm/neon_helper.c | 2 target-arm/op_helper.c | 2 target-arm/translate.c | 6 - 7 files changed, 482 insertions(+), 482 deletions(-) create mode 100644 target-arm/helper.h delete mode 100644 target-arm/helpers.h diff --git a/target-arm/helper.c b/target-arm/helper.c index d2e0bf4..2adf3ca 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -5,7 +5,7 @@ #include "cpu.h" #include "exec-all.h" #include "gdbstub.h" -#include "helpers.h" +#include "helper.h" #include "qemu-common.h" #include "host-utils.h" #if !defined(CONFIG_USER_ONLY) diff --git a/target-arm/helper.h b/target-arm/helper.h new file mode 100644 index 0000000..ae701e8 --- /dev/null +++ b/target-arm/helper.h @@ -0,0 +1,475 @@ +#include "def-helper.h" + +DEF_HELPER_1(clz, i32, i32) +DEF_HELPER_1(sxtb16, i32, i32) +DEF_HELPER_1(uxtb16, i32, i32) + +DEF_HELPER_2(add_setq, i32, i32, i32) +DEF_HELPER_2(add_saturate, i32, i32, i32) +DEF_HELPER_2(sub_saturate, i32, i32, i32) +DEF_HELPER_2(add_usaturate, i32, i32, i32) +DEF_HELPER_2(sub_usaturate, i32, i32, i32) +DEF_HELPER_1(double_saturate, i32, s32) +DEF_HELPER_2(sdiv, s32, s32, s32) +DEF_HELPER_2(udiv, i32, i32, i32) +DEF_HELPER_1(rbit, i32, i32) +DEF_HELPER_1(abs, i32, i32) + +#define PAS_OP(pfx) \ + DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \ + DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \ + DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \ + DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \ + DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \ + DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr) + +PAS_OP(s) +PAS_OP(u) +#undef PAS_OP + +#define PAS_OP(pfx) \ + DEF_HELPER_2(pfx ## add8, i32, i32, i32) \ + DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \ + DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \ + DEF_HELPER_2(pfx ## add16, i32, i32, i32) \ + DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \ + DEF_HELPER_2(pfx ## subaddx, i32, i32, i32) +PAS_OP(q) +PAS_OP(sh) +PAS_OP(uq) +PAS_OP(uh) +#undef PAS_OP + +DEF_HELPER_2(ssat, i32, i32, i32) +DEF_HELPER_2(usat, i32, i32, i32) +DEF_HELPER_2(ssat16, i32, i32, i32) +DEF_HELPER_2(usat16, i32, i32, i32) + +DEF_HELPER_2(usad8, i32, i32, i32) + +DEF_HELPER_1(logicq_cc, i32, i64) + +DEF_HELPER_3(sel_flags, i32, i32, i32, i32) +DEF_HELPER_1(exception, void, i32) +DEF_HELPER_0(wfi, void) + +DEF_HELPER_2(cpsr_write, void, i32, i32) +DEF_HELPER_0(cpsr_read, i32) + +DEF_HELPER_3(v7m_msr, void, env, i32, i32) +DEF_HELPER_2(v7m_mrs, i32, env, i32) + +DEF_HELPER_3(set_cp15, void, env, i32, i32) +DEF_HELPER_2(get_cp15, i32, env, i32) + +DEF_HELPER_3(set_cp, void, env, i32, i32) +DEF_HELPER_2(get_cp, i32, env, i32) + +DEF_HELPER_2(get_r13_banked, i32, env, i32) +DEF_HELPER_3(set_r13_banked, void, env, i32, i32) + +DEF_HELPER_1(get_user_reg, i32, i32) +DEF_HELPER_2(set_user_reg, void, i32, i32) + +DEF_HELPER_1(vfp_get_fpscr, i32, env) +DEF_HELPER_2(vfp_set_fpscr, void, env, i32) + +DEF_HELPER_3(vfp_adds, f32, f32, f32, env) +DEF_HELPER_3(vfp_addd, f64, f64, f64, env) +DEF_HELPER_3(vfp_subs, f32, f32, f32, env) +DEF_HELPER_3(vfp_subd, f64, f64, f64, env) +DEF_HELPER_3(vfp_muls, f32, f32, f32, env) +DEF_HELPER_3(vfp_muld, f64, f64, f64, env) +DEF_HELPER_3(vfp_divs, f32, f32, f32, env) +DEF_HELPER_3(vfp_divd, f64, f64, f64, env) +DEF_HELPER_1(vfp_negs, f32, f32) +DEF_HELPER_1(vfp_negd, f64, f64) +DEF_HELPER_1(vfp_abss, f32, f32) +DEF_HELPER_1(vfp_absd, f64, f64) +DEF_HELPER_2(vfp_sqrts, f32, f32, env) +DEF_HELPER_2(vfp_sqrtd, f64, f64, env) +DEF_HELPER_3(vfp_cmps, void, f32, f32, env) +DEF_HELPER_3(vfp_cmpd, void, f64, f64, env) +DEF_HELPER_3(vfp_cmpes, void, f32, f32, env) +DEF_HELPER_3(vfp_cmped, void, f64, f64, env) + +DEF_HELPER_2(vfp_fcvtds, f64, f32, env) +DEF_HELPER_2(vfp_fcvtsd, f32, f64, env) + +DEF_HELPER_2(vfp_uitos, f32, i32, env) +DEF_HELPER_2(vfp_uitod, f64, i32, env) +DEF_HELPER_2(vfp_sitos, f32, i32, env) +DEF_HELPER_2(vfp_sitod, f64, i32, env) + +DEF_HELPER_2(vfp_touis, i32, f32, env) +DEF_HELPER_2(vfp_touid, i32, f64, env) +DEF_HELPER_2(vfp_touizs, i32, f32, env) +DEF_HELPER_2(vfp_touizd, i32, f64, env) +DEF_HELPER_2(vfp_tosis, i32, f32, env) +DEF_HELPER_2(vfp_tosid, i32, f64, env) +DEF_HELPER_2(vfp_tosizs, i32, f32, env) +DEF_HELPER_2(vfp_tosizd, i32, f64, env) + +DEF_HELPER_3(vfp_toshs, i32, f32, i32, env) +DEF_HELPER_3(vfp_tosls, i32, f32, i32, env) +DEF_HELPER_3(vfp_touhs, i32, f32, i32, env) +DEF_HELPER_3(vfp_touls, i32, f32, i32, env) +DEF_HELPER_3(vfp_toshd, i64, f64, i32, env) +DEF_HELPER_3(vfp_tosld, i64, f64, i32, env) +DEF_HELPER_3(vfp_touhd, i64, f64, i32, env) +DEF_HELPER_3(vfp_tould, i64, f64, i32, env) +DEF_HELPER_3(vfp_shtos, f32, i32, i32, env) +DEF_HELPER_3(vfp_sltos, f32, i32, i32, env) +DEF_HELPER_3(vfp_uhtos, f32, i32, i32, env) +DEF_HELPER_3(vfp_ultos, f32, i32, i32, env) +DEF_HELPER_3(vfp_shtod, f64, i64, i32, env) +DEF_HELPER_3(vfp_sltod, f64, i64, i32, env) +DEF_HELPER_3(vfp_uhtod, f64, i64, i32, env) +DEF_HELPER_3(vfp_ultod, f64, i64, i32, env) + +DEF_HELPER_2(vfp_fcvt_f16_to_f32, f32, i32, env) +DEF_HELPER_2(vfp_fcvt_f32_to_f16, i32, f32, env) +DEF_HELPER_2(neon_fcvt_f16_to_f32, f32, i32, env) +DEF_HELPER_2(neon_fcvt_f32_to_f16, i32, f32, env) + +DEF_HELPER_3(recps_f32, f32, f32, f32, env) +DEF_HELPER_3(rsqrts_f32, f32, f32, f32, env) +DEF_HELPER_2(recpe_f32, f32, f32, env) +DEF_HELPER_2(rsqrte_f32, f32, f32, env) +DEF_HELPER_2(recpe_u32, i32, i32, env) +DEF_HELPER_2(rsqrte_u32, i32, i32, env) +DEF_HELPER_4(neon_tbl, i32, i32, i32, i32, i32) + +DEF_HELPER_2(add_cc, i32, i32, i32) +DEF_HELPER_2(adc_cc, i32, i32, i32) +DEF_HELPER_2(sub_cc, i32, i32, i32) +DEF_HELPER_2(sbc_cc, i32, i32, i32) + +DEF_HELPER_2(shl, i32, i32, i32) +DEF_HELPER_2(shr, i32, i32, i32) +DEF_HELPER_2(sar, i32, i32, i32) +DEF_HELPER_2(shl_cc, i32, i32, i32) +DEF_HELPER_2(shr_cc, i32, i32, i32) +DEF_HELPER_2(sar_cc, i32, i32, i32) +DEF_HELPER_2(ror_cc, i32, i32, i32) + +/* neon_helper.c */ +DEF_HELPER_2(neon_qadd_u8, i32, i32, i32) +DEF_HELPER_2(neon_qadd_s8, i32, i32, i32) +DEF_HELPER_2(neon_qadd_u16, i32, i32, i32) +DEF_HELPER_2(neon_qadd_s16, i32, i32, i32) +DEF_HELPER_2(neon_qadd_u32, i32, i32, i32) +DEF_HELPER_2(neon_qadd_s32, i32, i32, i32) +DEF_HELPER_2(neon_qsub_u8, i32, i32, i32) +DEF_HELPER_2(neon_qsub_s8, i32, i32, i32) +DEF_HELPER_2(neon_qsub_u16, i32, i32, i32) +DEF_HELPER_2(neon_qsub_s16, i32, i32, i32) +DEF_HELPER_2(neon_qsub_u32, i32, i32, i32) +DEF_HELPER_2(neon_qsub_s32, i32, i32, i32) +DEF_HELPER_2(neon_qadd_u64, i64, i64, i64) +DEF_HELPER_2(neon_qadd_s64, i64, i64, i64) +DEF_HELPER_2(neon_qsub_u64, i64, i64, i64) +DEF_HELPER_2(neon_qsub_s64, i64, i64, i64) + +DEF_HELPER_2(neon_hadd_s8, i32, i32, i32) +DEF_HELPER_2(neon_hadd_u8, i32, i32, i32) +DEF_HELPER_2(neon_hadd_s16, i32, i32, i32) +DEF_HELPER_2(neon_hadd_u16, i32, i32, i32) +DEF_HELPER_2(neon_hadd_s32, s32, s32, s32) +DEF_HELPER_2(neon_hadd_u32, i32, i32, i32) +DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32) +DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32) +DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32) +DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32) +DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32) +DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32) +DEF_HELPER_2(neon_hsub_s8, i32, i32, i32) +DEF_HELPER_2(neon_hsub_u8, i32, i32, i32) +DEF_HELPER_2(neon_hsub_s16, i32, i32, i32) +DEF_HELPER_2(neon_hsub_u16, i32, i32, i32) +DEF_HELPER_2(neon_hsub_s32, s32, s32, s32) +DEF_HELPER_2(neon_hsub_u32, i32, i32, i32) + +DEF_HELPER_2(neon_cgt_u8, i32, i32, i32) +DEF_HELPER_2(neon_cgt_s8, i32, i32, i32) +DEF_HELPER_2(neon_cgt_u16, i32, i32, i32) +DEF_HELPER_2(neon_cgt_s16, i32, i32, i32) +DEF_HELPER_2(neon_cgt_u32, i32, i32, i32) +DEF_HELPER_2(neon_cgt_s32, i32, i32, i32) +DEF_HELPER_2(neon_cge_u8, i32, i32, i32) +DEF_HELPER_2(neon_cge_s8, i32, i32, i32) +DEF_HELPER_2(neon_cge_u16, i32, i32, i32) +DEF_HELPER_2(neon_cge_s16, i32, i32, i32) +DEF_HELPER_2(neon_cge_u32, i32, i32, i32) +DEF_HELPER_2(neon_cge_s32, i32, i32, i32) + +DEF_HELPER_2(neon_min_u8, i32, i32, i32) +DEF_HELPER_2(neon_min_s8, i32, i32, i32) +DEF_HELPER_2(neon_min_u16, i32, i32, i32) +DEF_HELPER_2(neon_min_s16, i32, i32, i32) +DEF_HELPER_2(neon_min_u32, i32, i32, i32) +DEF_HELPER_2(neon_min_s32, i32, i32, i32) +DEF_HELPER_2(neon_max_u8, i32, i32, i32) +DEF_HELPER_2(neon_max_s8, i32, i32, i32) +DEF_HELPER_2(neon_max_u16, i32, i32, i32) +DEF_HELPER_2(neon_max_s16, i32, i32, i32) +DEF_HELPER_2(neon_max_u32, i32, i32, i32) +DEF_HELPER_2(neon_max_s32, i32, i32, i32) +DEF_HELPER_2(neon_pmin_u8, i32, i32, i32) +DEF_HELPER_2(neon_pmin_s8, i32, i32, i32) +DEF_HELPER_2(neon_pmin_u16, i32, i32, i32) +DEF_HELPER_2(neon_pmin_s16, i32, i32, i32) +DEF_HELPER_2(neon_pmax_u8, i32, i32, i32) +DEF_HELPER_2(neon_pmax_s8, i32, i32, i32) +DEF_HELPER_2(neon_pmax_u16, i32, i32, i32) +DEF_HELPER_2(neon_pmax_s16, i32, i32, i32) + +DEF_HELPER_2(neon_abd_u8, i32, i32, i32) +DEF_HELPER_2(neon_abd_s8, i32, i32, i32) +DEF_HELPER_2(neon_abd_u16, i32, i32, i32) +DEF_HELPER_2(neon_abd_s16, i32, i32, i32) +DEF_HELPER_2(neon_abd_u32, i32, i32, i32) +DEF_HELPER_2(neon_abd_s32, i32, i32, i32) + +DEF_HELPER_2(neon_shl_u8, i32, i32, i32) +DEF_HELPER_2(neon_shl_s8, i32, i32, i32) +DEF_HELPER_2(neon_shl_u16, i32, i32, i32) +DEF_HELPER_2(neon_shl_s16, i32, i32, i32) +DEF_HELPER_2(neon_shl_u32, i32, i32, i32) +DEF_HELPER_2(neon_shl_s32, i32, i32, i32) +DEF_HELPER_2(neon_shl_u64, i64, i64, i64) +DEF_HELPER_2(neon_shl_s64, i64, i64, i64) +DEF_HELPER_2(neon_rshl_u8, i32, i32, i32) +DEF_HELPER_2(neon_rshl_s8, i32, i32, i32) +DEF_HELPER_2(neon_rshl_u16, i32, i32, i32) +DEF_HELPER_2(neon_rshl_s16, i32, i32, i32) +DEF_HELPER_2(neon_rshl_u32, i32, i32, i32) +DEF_HELPER_2(neon_rshl_s32, i32, i32, i32) +DEF_HELPER_2(neon_rshl_u64, i64, i64, i64) +DEF_HELPER_2(neon_rshl_s64, i64, i64, i64) +DEF_HELPER_2(neon_qshl_u8, i32, i32, i32) +DEF_HELPER_2(neon_qshl_s8, i32, i32, i32) +DEF_HELPER_2(neon_qshl_u16, i32, i32, i32) +DEF_HELPER_2(neon_qshl_s16, i32, i32, i32) +DEF_HELPER_2(neon_qshl_u32, i32, i32, i32) +DEF_HELPER_2(neon_qshl_s32, i32, i32, i32) +DEF_HELPER_2(neon_qshl_u64, i64, i64, i64) +DEF_HELPER_2(neon_qshl_s64, i64, i64, i64) +DEF_HELPER_2(neon_qshlu_s8, i32, i32, i32); +DEF_HELPER_2(neon_qshlu_s16, i32, i32, i32); +DEF_HELPER_2(neon_qshlu_s32, i32, i32, i32); +DEF_HELPER_2(neon_qshlu_s64, i64, i64, i64); +DEF_HELPER_2(neon_qrshl_u8, i32, i32, i32) +DEF_HELPER_2(neon_qrshl_s8, i32, i32, i32) +DEF_HELPER_2(neon_qrshl_u16, i32, i32, i32) +DEF_HELPER_2(neon_qrshl_s16, i32, i32, i32) +DEF_HELPER_2(neon_qrshl_u32, i32, i32, i32) +DEF_HELPER_2(neon_qrshl_s32, i32, i32, i32) +DEF_HELPER_2(neon_qrshl_u64, i64, i64, i64) +DEF_HELPER_2(neon_qrshl_s64, i64, i64, i64) + +DEF_HELPER_2(neon_add_u8, i32, i32, i32) +DEF_HELPER_2(neon_add_u16, i32, i32, i32) +DEF_HELPER_2(neon_padd_u8, i32, i32, i32) +DEF_HELPER_2(neon_padd_u16, i32, i32, i32) +DEF_HELPER_2(neon_sub_u8, i32, i32, i32) +DEF_HELPER_2(neon_sub_u16, i32, i32, i32) +DEF_HELPER_2(neon_mul_u8, i32, i32, i32) +DEF_HELPER_2(neon_mul_u16, i32, i32, i32) +DEF_HELPER_2(neon_mul_p8, i32, i32, i32) +DEF_HELPER_2(neon_mull_p8, i64, i32, i32) + +DEF_HELPER_2(neon_tst_u8, i32, i32, i32) +DEF_HELPER_2(neon_tst_u16, i32, i32, i32) +DEF_HELPER_2(neon_tst_u32, i32, i32, i32) +DEF_HELPER_2(neon_ceq_u8, i32, i32, i32) +DEF_HELPER_2(neon_ceq_u16, i32, i32, i32) +DEF_HELPER_2(neon_ceq_u32, i32, i32, i32) + +DEF_HELPER_1(neon_abs_s8, i32, i32) +DEF_HELPER_1(neon_abs_s16, i32, i32) +DEF_HELPER_1(neon_clz_u8, i32, i32) +DEF_HELPER_1(neon_clz_u16, i32, i32) +DEF_HELPER_1(neon_cls_s8, i32, i32) +DEF_HELPER_1(neon_cls_s16, i32, i32) +DEF_HELPER_1(neon_cls_s32, i32, i32) +DEF_HELPER_1(neon_cnt_u8, i32, i32) + +DEF_HELPER_2(neon_qdmulh_s16, i32, i32, i32) +DEF_HELPER_2(neon_qrdmulh_s16, i32, i32, i32) +DEF_HELPER_2(neon_qdmulh_s32, i32, i32, i32) +DEF_HELPER_2(neon_qrdmulh_s32, i32, i32, i32) + +DEF_HELPER_1(neon_narrow_u8, i32, i64) +DEF_HELPER_1(neon_narrow_u16, i32, i64) +DEF_HELPER_1(neon_unarrow_sat8, i32, i64) +DEF_HELPER_1(neon_narrow_sat_u8, i32, i64) +DEF_HELPER_1(neon_narrow_sat_s8, i32, i64) +DEF_HELPER_1(neon_unarrow_sat16, i32, i64) +DEF_HELPER_1(neon_narrow_sat_u16, i32, i64) +DEF_HELPER_1(neon_narrow_sat_s16, i32, i64) +DEF_HELPER_1(neon_unarrow_sat32, i32, i64) +DEF_HELPER_1(neon_narrow_sat_u32, i32, i64) +DEF_HELPER_1(neon_narrow_sat_s32, i32, i64) +DEF_HELPER_1(neon_narrow_high_u8, i32, i64) +DEF_HELPER_1(neon_narrow_high_u16, i32, i64) +DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64) +DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64) +DEF_HELPER_1(neon_widen_u8, i64, i32) +DEF_HELPER_1(neon_widen_s8, i64, i32) +DEF_HELPER_1(neon_widen_u16, i64, i32) +DEF_HELPER_1(neon_widen_s16, i64, i32) + +DEF_HELPER_2(neon_addl_u16, i64, i64, i64) +DEF_HELPER_2(neon_addl_u32, i64, i64, i64) +DEF_HELPER_2(neon_paddl_u16, i64, i64, i64) +DEF_HELPER_2(neon_paddl_u32, i64, i64, i64) +DEF_HELPER_2(neon_subl_u16, i64, i64, i64) +DEF_HELPER_2(neon_subl_u32, i64, i64, i64) +DEF_HELPER_2(neon_addl_saturate_s32, i64, i64, i64) +DEF_HELPER_2(neon_addl_saturate_s64, i64, i64, i64) +DEF_HELPER_2(neon_abdl_u16, i64, i32, i32) +DEF_HELPER_2(neon_abdl_s16, i64, i32, i32) +DEF_HELPER_2(neon_abdl_u32, i64, i32, i32) +DEF_HELPER_2(neon_abdl_s32, i64, i32, i32) +DEF_HELPER_2(neon_abdl_u64, i64, i32, i32) +DEF_HELPER_2(neon_abdl_s64, i64, i32, i32) +DEF_HELPER_2(neon_mull_u8, i64, i32, i32) +DEF_HELPER_2(neon_mull_s8, i64, i32, i32) +DEF_HELPER_2(neon_mull_u16, i64, i32, i32) +DEF_HELPER_2(neon_mull_s16, i64, i32, i32) + +DEF_HELPER_1(neon_negl_u16, i64, i64) +DEF_HELPER_1(neon_negl_u32, i64, i64) +DEF_HELPER_1(neon_negl_u64, i64, i64) + +DEF_HELPER_1(neon_qabs_s8, i32, i32) +DEF_HELPER_1(neon_qabs_s16, i32, i32) +DEF_HELPER_1(neon_qabs_s32, i32, i32) +DEF_HELPER_1(neon_qneg_s8, i32, i32) +DEF_HELPER_1(neon_qneg_s16, i32, i32) +DEF_HELPER_1(neon_qneg_s32, i32, i32) + +DEF_HELPER_2(neon_min_f32, i32, i32, i32) +DEF_HELPER_2(neon_max_f32, i32, i32, i32) +DEF_HELPER_2(neon_abd_f32, i32, i32, i32) +DEF_HELPER_2(neon_add_f32, i32, i32, i32) +DEF_HELPER_2(neon_sub_f32, i32, i32, i32) +DEF_HELPER_2(neon_mul_f32, i32, i32, i32) +DEF_HELPER_2(neon_ceq_f32, i32, i32, i32) +DEF_HELPER_2(neon_cge_f32, i32, i32, i32) +DEF_HELPER_2(neon_cgt_f32, i32, i32, i32) +DEF_HELPER_2(neon_acge_f32, i32, i32, i32) +DEF_HELPER_2(neon_acgt_f32, i32, i32, i32) + +/* iwmmxt_helper.c */ +DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64) +DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64) +DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64) +DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64) +DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64) + +#define DEF_IWMMXT_HELPER_SIZE(name) \ +DEF_HELPER_2(iwmmxt_##name##b, i64, i64, i64) \ +DEF_HELPER_2(iwmmxt_##name##w, i64, i64, i64) \ +DEF_HELPER_2(iwmmxt_##name##l, i64, i64, i64) \ + +DEF_IWMMXT_HELPER_SIZE(unpackl) +DEF_IWMMXT_HELPER_SIZE(unpackh) + +DEF_HELPER_1(iwmmxt_unpacklub, i64, i64) +DEF_HELPER_1(iwmmxt_unpackluw, i64, i64) +DEF_HELPER_1(iwmmxt_unpacklul, i64, i64) +DEF_HELPER_1(iwmmxt_unpackhub, i64, i64) +DEF_HELPER_1(iwmmxt_unpackhuw, i64, i64) +DEF_HELPER_1(iwmmxt_unpackhul, i64, i64) +DEF_HELPER_1(iwmmxt_unpacklsb, i64, i64) +DEF_HELPER_1(iwmmxt_unpacklsw, i64, i64) +DEF_HELPER_1(iwmmxt_unpacklsl, i64, i64) +DEF_HELPER_1(iwmmxt_unpackhsb, i64, i64) +DEF_HELPER_1(iwmmxt_unpackhsw, i64, i64) +DEF_HELPER_1(iwmmxt_unpackhsl, i64, i64) + +DEF_IWMMXT_HELPER_SIZE(cmpeq) +DEF_IWMMXT_HELPER_SIZE(cmpgtu) +DEF_IWMMXT_HELPER_SIZE(cmpgts) + +DEF_IWMMXT_HELPER_SIZE(mins) +DEF_IWMMXT_HELPER_SIZE(minu) +DEF_IWMMXT_HELPER_SIZE(maxs) +DEF_IWMMXT_HELPER_SIZE(maxu) + +DEF_IWMMXT_HELPER_SIZE(subn) +DEF_IWMMXT_HELPER_SIZE(addn) +DEF_IWMMXT_HELPER_SIZE(subu) +DEF_IWMMXT_HELPER_SIZE(addu) +DEF_IWMMXT_HELPER_SIZE(subs) +DEF_IWMMXT_HELPER_SIZE(adds) + +DEF_HELPER_2(iwmmxt_avgb0, i64, i64, i64) +DEF_HELPER_2(iwmmxt_avgb1, i64, i64, i64) +DEF_HELPER_2(iwmmxt_avgw0, i64, i64, i64) +DEF_HELPER_2(iwmmxt_avgw1, i64, i64, i64) + +DEF_HELPER_2(iwmmxt_msadb, i64, i64, i64) + +DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32) +DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32) + +DEF_HELPER_1(iwmmxt_bcstb, i64, i32) +DEF_HELPER_1(iwmmxt_bcstw, i64, i32) +DEF_HELPER_1(iwmmxt_bcstl, i64, i32) + +DEF_HELPER_1(iwmmxt_addcb, i64, i64) +DEF_HELPER_1(iwmmxt_addcw, i64, i64) +DEF_HELPER_1(iwmmxt_addcl, i64, i64) + +DEF_HELPER_1(iwmmxt_msbb, i32, i64) +DEF_HELPER_1(iwmmxt_msbw, i32, i64) +DEF_HELPER_1(iwmmxt_msbl, i32, i64) + +DEF_HELPER_2(iwmmxt_srlw, i64, i64, i32) +DEF_HELPER_2(iwmmxt_srll, i64, i64, i32) +DEF_HELPER_2(iwmmxt_srlq, i64, i64, i32) +DEF_HELPER_2(iwmmxt_sllw, i64, i64, i32) +DEF_HELPER_2(iwmmxt_slll, i64, i64, i32) +DEF_HELPER_2(iwmmxt_sllq, i64, i64, i32) +DEF_HELPER_2(iwmmxt_sraw, i64, i64, i32) +DEF_HELPER_2(iwmmxt_sral, i64, i64, i32) +DEF_HELPER_2(iwmmxt_sraq, i64, i64, i32) +DEF_HELPER_2(iwmmxt_rorw, i64, i64, i32) +DEF_HELPER_2(iwmmxt_rorl, i64, i64, i32) +DEF_HELPER_2(iwmmxt_rorq, i64, i64, i32) +DEF_HELPER_2(iwmmxt_shufh, i64, i64, i32) + +DEF_HELPER_2(iwmmxt_packuw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_packul, i64, i64, i64) +DEF_HELPER_2(iwmmxt_packuq, i64, i64, i64) +DEF_HELPER_2(iwmmxt_packsw, i64, i64, i64) +DEF_HELPER_2(iwmmxt_packsl, i64, i64, i64) +DEF_HELPER_2(iwmmxt_packsq, i64, i64, i64) + +DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32) +DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32) +DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32) + +DEF_HELPER_2(set_teecr, void, env, i32) + +DEF_HELPER_2(neon_unzip8, void, i32, i32) +DEF_HELPER_2(neon_unzip16, void, i32, i32) +DEF_HELPER_2(neon_qunzip8, void, i32, i32) +DEF_HELPER_2(neon_qunzip16, void, i32, i32) +DEF_HELPER_2(neon_qunzip32, void, i32, i32) +DEF_HELPER_2(neon_zip8, void, i32, i32) +DEF_HELPER_2(neon_zip16, void, i32, i32) +DEF_HELPER_2(neon_qzip8, void, i32, i32) +DEF_HELPER_2(neon_qzip16, void, i32, i32) +DEF_HELPER_2(neon_qzip32, void, i32, i32) + +#include "def-helper.h" diff --git a/target-arm/helpers.h b/target-arm/helpers.h deleted file mode 100644 index ae701e8..0000000 --- a/target-arm/helpers.h +++ /dev/null @@ -1,475 +0,0 @@ -#include "def-helper.h" - -DEF_HELPER_1(clz, i32, i32) -DEF_HELPER_1(sxtb16, i32, i32) -DEF_HELPER_1(uxtb16, i32, i32) - -DEF_HELPER_2(add_setq, i32, i32, i32) -DEF_HELPER_2(add_saturate, i32, i32, i32) -DEF_HELPER_2(sub_saturate, i32, i32, i32) -DEF_HELPER_2(add_usaturate, i32, i32, i32) -DEF_HELPER_2(sub_usaturate, i32, i32, i32) -DEF_HELPER_1(double_saturate, i32, s32) -DEF_HELPER_2(sdiv, s32, s32, s32) -DEF_HELPER_2(udiv, i32, i32, i32) -DEF_HELPER_1(rbit, i32, i32) -DEF_HELPER_1(abs, i32, i32) - -#define PAS_OP(pfx) \ - DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \ - DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \ - DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \ - DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \ - DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \ - DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr) - -PAS_OP(s) -PAS_OP(u) -#undef PAS_OP - -#define PAS_OP(pfx) \ - DEF_HELPER_2(pfx ## add8, i32, i32, i32) \ - DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \ - DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \ - DEF_HELPER_2(pfx ## add16, i32, i32, i32) \ - DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \ - DEF_HELPER_2(pfx ## subaddx, i32, i32, i32) -PAS_OP(q) -PAS_OP(sh) -PAS_OP(uq) -PAS_OP(uh) -#undef PAS_OP - -DEF_HELPER_2(ssat, i32, i32, i32) -DEF_HELPER_2(usat, i32, i32, i32) -DEF_HELPER_2(ssat16, i32, i32, i32) -DEF_HELPER_2(usat16, i32, i32, i32) - -DEF_HELPER_2(usad8, i32, i32, i32) - -DEF_HELPER_1(logicq_cc, i32, i64) - -DEF_HELPER_3(sel_flags, i32, i32, i32, i32) -DEF_HELPER_1(exception, void, i32) -DEF_HELPER_0(wfi, void) - -DEF_HELPER_2(cpsr_write, void, i32, i32) -DEF_HELPER_0(cpsr_read, i32) - -DEF_HELPER_3(v7m_msr, void, env, i32, i32) -DEF_HELPER_2(v7m_mrs, i32, env, i32) - -DEF_HELPER_3(set_cp15, void, env, i32, i32) -DEF_HELPER_2(get_cp15, i32, env, i32) - -DEF_HELPER_3(set_cp, void, env, i32, i32) -DEF_HELPER_2(get_cp, i32, env, i32) - -DEF_HELPER_2(get_r13_banked, i32, env, i32) -DEF_HELPER_3(set_r13_banked, void, env, i32, i32) - -DEF_HELPER_1(get_user_reg, i32, i32) -DEF_HELPER_2(set_user_reg, void, i32, i32) - -DEF_HELPER_1(vfp_get_fpscr, i32, env) -DEF_HELPER_2(vfp_set_fpscr, void, env, i32) - -DEF_HELPER_3(vfp_adds, f32, f32, f32, env) -DEF_HELPER_3(vfp_addd, f64, f64, f64, env) -DEF_HELPER_3(vfp_subs, f32, f32, f32, env) -DEF_HELPER_3(vfp_subd, f64, f64, f64, env) -DEF_HELPER_3(vfp_muls, f32, f32, f32, env) -DEF_HELPER_3(vfp_muld, f64, f64, f64, env) -DEF_HELPER_3(vfp_divs, f32, f32, f32, env) -DEF_HELPER_3(vfp_divd, f64, f64, f64, env) -DEF_HELPER_1(vfp_negs, f32, f32) -DEF_HELPER_1(vfp_negd, f64, f64) -DEF_HELPER_1(vfp_abss, f32, f32) -DEF_HELPER_1(vfp_absd, f64, f64) -DEF_HELPER_2(vfp_sqrts, f32, f32, env) -DEF_HELPER_2(vfp_sqrtd, f64, f64, env) -DEF_HELPER_3(vfp_cmps, void, f32, f32, env) -DEF_HELPER_3(vfp_cmpd, void, f64, f64, env) -DEF_HELPER_3(vfp_cmpes, void, f32, f32, env) -DEF_HELPER_3(vfp_cmped, void, f64, f64, env) - -DEF_HELPER_2(vfp_fcvtds, f64, f32, env) -DEF_HELPER_2(vfp_fcvtsd, f32, f64, env) - -DEF_HELPER_2(vfp_uitos, f32, i32, env) -DEF_HELPER_2(vfp_uitod, f64, i32, env) -DEF_HELPER_2(vfp_sitos, f32, i32, env) -DEF_HELPER_2(vfp_sitod, f64, i32, env) - -DEF_HELPER_2(vfp_touis, i32, f32, env) -DEF_HELPER_2(vfp_touid, i32, f64, env) -DEF_HELPER_2(vfp_touizs, i32, f32, env) -DEF_HELPER_2(vfp_touizd, i32, f64, env) -DEF_HELPER_2(vfp_tosis, i32, f32, env) -DEF_HELPER_2(vfp_tosid, i32, f64, env) -DEF_HELPER_2(vfp_tosizs, i32, f32, env) -DEF_HELPER_2(vfp_tosizd, i32, f64, env) - -DEF_HELPER_3(vfp_toshs, i32, f32, i32, env) -DEF_HELPER_3(vfp_tosls, i32, f32, i32, env) -DEF_HELPER_3(vfp_touhs, i32, f32, i32, env) -DEF_HELPER_3(vfp_touls, i32, f32, i32, env) -DEF_HELPER_3(vfp_toshd, i64, f64, i32, env) -DEF_HELPER_3(vfp_tosld, i64, f64, i32, env) -DEF_HELPER_3(vfp_touhd, i64, f64, i32, env) -DEF_HELPER_3(vfp_tould, i64, f64, i32, env) -DEF_HELPER_3(vfp_shtos, f32, i32, i32, env) -DEF_HELPER_3(vfp_sltos, f32, i32, i32, env) -DEF_HELPER_3(vfp_uhtos, f32, i32, i32, env) -DEF_HELPER_3(vfp_ultos, f32, i32, i32, env) -DEF_HELPER_3(vfp_shtod, f64, i64, i32, env) -DEF_HELPER_3(vfp_sltod, f64, i64, i32, env) -DEF_HELPER_3(vfp_uhtod, f64, i64, i32, env) -DEF_HELPER_3(vfp_ultod, f64, i64, i32, env) - -DEF_HELPER_2(vfp_fcvt_f16_to_f32, f32, i32, env) -DEF_HELPER_2(vfp_fcvt_f32_to_f16, i32, f32, env) -DEF_HELPER_2(neon_fcvt_f16_to_f32, f32, i32, env) -DEF_HELPER_2(neon_fcvt_f32_to_f16, i32, f32, env) - -DEF_HELPER_3(recps_f32, f32, f32, f32, env) -DEF_HELPER_3(rsqrts_f32, f32, f32, f32, env) -DEF_HELPER_2(recpe_f32, f32, f32, env) -DEF_HELPER_2(rsqrte_f32, f32, f32, env) -DEF_HELPER_2(recpe_u32, i32, i32, env) -DEF_HELPER_2(rsqrte_u32, i32, i32, env) -DEF_HELPER_4(neon_tbl, i32, i32, i32, i32, i32) - -DEF_HELPER_2(add_cc, i32, i32, i32) -DEF_HELPER_2(adc_cc, i32, i32, i32) -DEF_HELPER_2(sub_cc, i32, i32, i32) -DEF_HELPER_2(sbc_cc, i32, i32, i32) - -DEF_HELPER_2(shl, i32, i32, i32) -DEF_HELPER_2(shr, i32, i32, i32) -DEF_HELPER_2(sar, i32, i32, i32) -DEF_HELPER_2(shl_cc, i32, i32, i32) -DEF_HELPER_2(shr_cc, i32, i32, i32) -DEF_HELPER_2(sar_cc, i32, i32, i32) -DEF_HELPER_2(ror_cc, i32, i32, i32) - -/* neon_helper.c */ -DEF_HELPER_2(neon_qadd_u8, i32, i32, i32) -DEF_HELPER_2(neon_qadd_s8, i32, i32, i32) -DEF_HELPER_2(neon_qadd_u16, i32, i32, i32) -DEF_HELPER_2(neon_qadd_s16, i32, i32, i32) -DEF_HELPER_2(neon_qadd_u32, i32, i32, i32) -DEF_HELPER_2(neon_qadd_s32, i32, i32, i32) -DEF_HELPER_2(neon_qsub_u8, i32, i32, i32) -DEF_HELPER_2(neon_qsub_s8, i32, i32, i32) -DEF_HELPER_2(neon_qsub_u16, i32, i32, i32) -DEF_HELPER_2(neon_qsub_s16, i32, i32, i32) -DEF_HELPER_2(neon_qsub_u32, i32, i32, i32) -DEF_HELPER_2(neon_qsub_s32, i32, i32, i32) -DEF_HELPER_2(neon_qadd_u64, i64, i64, i64) -DEF_HELPER_2(neon_qadd_s64, i64, i64, i64) -DEF_HELPER_2(neon_qsub_u64, i64, i64, i64) -DEF_HELPER_2(neon_qsub_s64, i64, i64, i64) - -DEF_HELPER_2(neon_hadd_s8, i32, i32, i32) -DEF_HELPER_2(neon_hadd_u8, i32, i32, i32) -DEF_HELPER_2(neon_hadd_s16, i32, i32, i32) -DEF_HELPER_2(neon_hadd_u16, i32, i32, i32) -DEF_HELPER_2(neon_hadd_s32, s32, s32, s32) -DEF_HELPER_2(neon_hadd_u32, i32, i32, i32) -DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32) -DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32) -DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32) -DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32) -DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32) -DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32) -DEF_HELPER_2(neon_hsub_s8, i32, i32, i32) -DEF_HELPER_2(neon_hsub_u8, i32, i32, i32) -DEF_HELPER_2(neon_hsub_s16, i32, i32, i32) -DEF_HELPER_2(neon_hsub_u16, i32, i32, i32) -DEF_HELPER_2(neon_hsub_s32, s32, s32, s32) -DEF_HELPER_2(neon_hsub_u32, i32, i32, i32) - -DEF_HELPER_2(neon_cgt_u8, i32, i32, i32) -DEF_HELPER_2(neon_cgt_s8, i32, i32, i32) -DEF_HELPER_2(neon_cgt_u16, i32, i32, i32) -DEF_HELPER_2(neon_cgt_s16, i32, i32, i32) -DEF_HELPER_2(neon_cgt_u32, i32, i32, i32) -DEF_HELPER_2(neon_cgt_s32, i32, i32, i32) -DEF_HELPER_2(neon_cge_u8, i32, i32, i32) -DEF_HELPER_2(neon_cge_s8, i32, i32, i32) -DEF_HELPER_2(neon_cge_u16, i32, i32, i32) -DEF_HELPER_2(neon_cge_s16, i32, i32, i32) -DEF_HELPER_2(neon_cge_u32, i32, i32, i32) -DEF_HELPER_2(neon_cge_s32, i32, i32, i32) - -DEF_HELPER_2(neon_min_u8, i32, i32, i32) -DEF_HELPER_2(neon_min_s8, i32, i32, i32) -DEF_HELPER_2(neon_min_u16, i32, i32, i32) -DEF_HELPER_2(neon_min_s16, i32, i32, i32) -DEF_HELPER_2(neon_min_u32, i32, i32, i32) -DEF_HELPER_2(neon_min_s32, i32, i32, i32) -DEF_HELPER_2(neon_max_u8, i32, i32, i32) -DEF_HELPER_2(neon_max_s8, i32, i32, i32) -DEF_HELPER_2(neon_max_u16, i32, i32, i32) -DEF_HELPER_2(neon_max_s16, i32, i32, i32) -DEF_HELPER_2(neon_max_u32, i32, i32, i32) -DEF_HELPER_2(neon_max_s32, i32, i32, i32) -DEF_HELPER_2(neon_pmin_u8, i32, i32, i32) -DEF_HELPER_2(neon_pmin_s8, i32, i32, i32) -DEF_HELPER_2(neon_pmin_u16, i32, i32, i32) -DEF_HELPER_2(neon_pmin_s16, i32, i32, i32) -DEF_HELPER_2(neon_pmax_u8, i32, i32, i32) -DEF_HELPER_2(neon_pmax_s8, i32, i32, i32) -DEF_HELPER_2(neon_pmax_u16, i32, i32, i32) -DEF_HELPER_2(neon_pmax_s16, i32, i32, i32) - -DEF_HELPER_2(neon_abd_u8, i32, i32, i32) -DEF_HELPER_2(neon_abd_s8, i32, i32, i32) -DEF_HELPER_2(neon_abd_u16, i32, i32, i32) -DEF_HELPER_2(neon_abd_s16, i32, i32, i32) -DEF_HELPER_2(neon_abd_u32, i32, i32, i32) -DEF_HELPER_2(neon_abd_s32, i32, i32, i32) - -DEF_HELPER_2(neon_shl_u8, i32, i32, i32) -DEF_HELPER_2(neon_shl_s8, i32, i32, i32) -DEF_HELPER_2(neon_shl_u16, i32, i32, i32) -DEF_HELPER_2(neon_shl_s16, i32, i32, i32) -DEF_HELPER_2(neon_shl_u32, i32, i32, i32) -DEF_HELPER_2(neon_shl_s32, i32, i32, i32) -DEF_HELPER_2(neon_shl_u64, i64, i64, i64) -DEF_HELPER_2(neon_shl_s64, i64, i64, i64) -DEF_HELPER_2(neon_rshl_u8, i32, i32, i32) -DEF_HELPER_2(neon_rshl_s8, i32, i32, i32) -DEF_HELPER_2(neon_rshl_u16, i32, i32, i32) -DEF_HELPER_2(neon_rshl_s16, i32, i32, i32) -DEF_HELPER_2(neon_rshl_u32, i32, i32, i32) -DEF_HELPER_2(neon_rshl_s32, i32, i32, i32) -DEF_HELPER_2(neon_rshl_u64, i64, i64, i64) -DEF_HELPER_2(neon_rshl_s64, i64, i64, i64) -DEF_HELPER_2(neon_qshl_u8, i32, i32, i32) -DEF_HELPER_2(neon_qshl_s8, i32, i32, i32) -DEF_HELPER_2(neon_qshl_u16, i32, i32, i32) -DEF_HELPER_2(neon_qshl_s16, i32, i32, i32) -DEF_HELPER_2(neon_qshl_u32, i32, i32, i32) -DEF_HELPER_2(neon_qshl_s32, i32, i32, i32) -DEF_HELPER_2(neon_qshl_u64, i64, i64, i64) -DEF_HELPER_2(neon_qshl_s64, i64, i64, i64) -DEF_HELPER_2(neon_qshlu_s8, i32, i32, i32); -DEF_HELPER_2(neon_qshlu_s16, i32, i32, i32); -DEF_HELPER_2(neon_qshlu_s32, i32, i32, i32); -DEF_HELPER_2(neon_qshlu_s64, i64, i64, i64); -DEF_HELPER_2(neon_qrshl_u8, i32, i32, i32) -DEF_HELPER_2(neon_qrshl_s8, i32, i32, i32) -DEF_HELPER_2(neon_qrshl_u16, i32, i32, i32) -DEF_HELPER_2(neon_qrshl_s16, i32, i32, i32) -DEF_HELPER_2(neon_qrshl_u32, i32, i32, i32) -DEF_HELPER_2(neon_qrshl_s32, i32, i32, i32) -DEF_HELPER_2(neon_qrshl_u64, i64, i64, i64) -DEF_HELPER_2(neon_qrshl_s64, i64, i64, i64) - -DEF_HELPER_2(neon_add_u8, i32, i32, i32) -DEF_HELPER_2(neon_add_u16, i32, i32, i32) -DEF_HELPER_2(neon_padd_u8, i32, i32, i32) -DEF_HELPER_2(neon_padd_u16, i32, i32, i32) -DEF_HELPER_2(neon_sub_u8, i32, i32, i32) -DEF_HELPER_2(neon_sub_u16, i32, i32, i32) -DEF_HELPER_2(neon_mul_u8, i32, i32, i32) -DEF_HELPER_2(neon_mul_u16, i32, i32, i32) -DEF_HELPER_2(neon_mul_p8, i32, i32, i32) -DEF_HELPER_2(neon_mull_p8, i64, i32, i32) - -DEF_HELPER_2(neon_tst_u8, i32, i32, i32) -DEF_HELPER_2(neon_tst_u16, i32, i32, i32) -DEF_HELPER_2(neon_tst_u32, i32, i32, i32) -DEF_HELPER_2(neon_ceq_u8, i32, i32, i32) -DEF_HELPER_2(neon_ceq_u16, i32, i32, i32) -DEF_HELPER_2(neon_ceq_u32, i32, i32, i32) - -DEF_HELPER_1(neon_abs_s8, i32, i32) -DEF_HELPER_1(neon_abs_s16, i32, i32) -DEF_HELPER_1(neon_clz_u8, i32, i32) -DEF_HELPER_1(neon_clz_u16, i32, i32) -DEF_HELPER_1(neon_cls_s8, i32, i32) -DEF_HELPER_1(neon_cls_s16, i32, i32) -DEF_HELPER_1(neon_cls_s32, i32, i32) -DEF_HELPER_1(neon_cnt_u8, i32, i32) - -DEF_HELPER_2(neon_qdmulh_s16, i32, i32, i32) -DEF_HELPER_2(neon_qrdmulh_s16, i32, i32, i32) -DEF_HELPER_2(neon_qdmulh_s32, i32, i32, i32) -DEF_HELPER_2(neon_qrdmulh_s32, i32, i32, i32) - -DEF_HELPER_1(neon_narrow_u8, i32, i64) -DEF_HELPER_1(neon_narrow_u16, i32, i64) -DEF_HELPER_1(neon_unarrow_sat8, i32, i64) -DEF_HELPER_1(neon_narrow_sat_u8, i32, i64) -DEF_HELPER_1(neon_narrow_sat_s8, i32, i64) -DEF_HELPER_1(neon_unarrow_sat16, i32, i64) -DEF_HELPER_1(neon_narrow_sat_u16, i32, i64) -DEF_HELPER_1(neon_narrow_sat_s16, i32, i64) -DEF_HELPER_1(neon_unarrow_sat32, i32, i64) -DEF_HELPER_1(neon_narrow_sat_u32, i32, i64) -DEF_HELPER_1(neon_narrow_sat_s32, i32, i64) -DEF_HELPER_1(neon_narrow_high_u8, i32, i64) -DEF_HELPER_1(neon_narrow_high_u16, i32, i64) -DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64) -DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64) -DEF_HELPER_1(neon_widen_u8, i64, i32) -DEF_HELPER_1(neon_widen_s8, i64, i32) -DEF_HELPER_1(neon_widen_u16, i64, i32) -DEF_HELPER_1(neon_widen_s16, i64, i32) - -DEF_HELPER_2(neon_addl_u16, i64, i64, i64) -DEF_HELPER_2(neon_addl_u32, i64, i64, i64) -DEF_HELPER_2(neon_paddl_u16, i64, i64, i64) -DEF_HELPER_2(neon_paddl_u32, i64, i64, i64) -DEF_HELPER_2(neon_subl_u16, i64, i64, i64) -DEF_HELPER_2(neon_subl_u32, i64, i64, i64) -DEF_HELPER_2(neon_addl_saturate_s32, i64, i64, i64) -DEF_HELPER_2(neon_addl_saturate_s64, i64, i64, i64) -DEF_HELPER_2(neon_abdl_u16, i64, i32, i32) -DEF_HELPER_2(neon_abdl_s16, i64, i32, i32) -DEF_HELPER_2(neon_abdl_u32, i64, i32, i32) -DEF_HELPER_2(neon_abdl_s32, i64, i32, i32) -DEF_HELPER_2(neon_abdl_u64, i64, i32, i32) -DEF_HELPER_2(neon_abdl_s64, i64, i32, i32) -DEF_HELPER_2(neon_mull_u8, i64, i32, i32) -DEF_HELPER_2(neon_mull_s8, i64, i32, i32) -DEF_HELPER_2(neon_mull_u16, i64, i32, i32) -DEF_HELPER_2(neon_mull_s16, i64, i32, i32) - -DEF_HELPER_1(neon_negl_u16, i64, i64) -DEF_HELPER_1(neon_negl_u32, i64, i64) -DEF_HELPER_1(neon_negl_u64, i64, i64) - -DEF_HELPER_1(neon_qabs_s8, i32, i32) -DEF_HELPER_1(neon_qabs_s16, i32, i32) -DEF_HELPER_1(neon_qabs_s32, i32, i32) -DEF_HELPER_1(neon_qneg_s8, i32, i32) -DEF_HELPER_1(neon_qneg_s16, i32, i32) -DEF_HELPER_1(neon_qneg_s32, i32, i32) - -DEF_HELPER_2(neon_min_f32, i32, i32, i32) -DEF_HELPER_2(neon_max_f32, i32, i32, i32) -DEF_HELPER_2(neon_abd_f32, i32, i32, i32) -DEF_HELPER_2(neon_add_f32, i32, i32, i32) -DEF_HELPER_2(neon_sub_f32, i32, i32, i32) -DEF_HELPER_2(neon_mul_f32, i32, i32, i32) -DEF_HELPER_2(neon_ceq_f32, i32, i32, i32) -DEF_HELPER_2(neon_cge_f32, i32, i32, i32) -DEF_HELPER_2(neon_cgt_f32, i32, i32, i32) -DEF_HELPER_2(neon_acge_f32, i32, i32, i32) -DEF_HELPER_2(neon_acgt_f32, i32, i32, i32) - -/* iwmmxt_helper.c */ -DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64) -DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64) -DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64) -DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64) -DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64) - -#define DEF_IWMMXT_HELPER_SIZE(name) \ -DEF_HELPER_2(iwmmxt_##name##b, i64, i64, i64) \ -DEF_HELPER_2(iwmmxt_##name##w, i64, i64, i64) \ -DEF_HELPER_2(iwmmxt_##name##l, i64, i64, i64) \ - -DEF_IWMMXT_HELPER_SIZE(unpackl) -DEF_IWMMXT_HELPER_SIZE(unpackh) - -DEF_HELPER_1(iwmmxt_unpacklub, i64, i64) -DEF_HELPER_1(iwmmxt_unpackluw, i64, i64) -DEF_HELPER_1(iwmmxt_unpacklul, i64, i64) -DEF_HELPER_1(iwmmxt_unpackhub, i64, i64) -DEF_HELPER_1(iwmmxt_unpackhuw, i64, i64) -DEF_HELPER_1(iwmmxt_unpackhul, i64, i64) -DEF_HELPER_1(iwmmxt_unpacklsb, i64, i64) -DEF_HELPER_1(iwmmxt_unpacklsw, i64, i64) -DEF_HELPER_1(iwmmxt_unpacklsl, i64, i64) -DEF_HELPER_1(iwmmxt_unpackhsb, i64, i64) -DEF_HELPER_1(iwmmxt_unpackhsw, i64, i64) -DEF_HELPER_1(iwmmxt_unpackhsl, i64, i64) - -DEF_IWMMXT_HELPER_SIZE(cmpeq) -DEF_IWMMXT_HELPER_SIZE(cmpgtu) -DEF_IWMMXT_HELPER_SIZE(cmpgts) - -DEF_IWMMXT_HELPER_SIZE(mins) -DEF_IWMMXT_HELPER_SIZE(minu) -DEF_IWMMXT_HELPER_SIZE(maxs) -DEF_IWMMXT_HELPER_SIZE(maxu) - -DEF_IWMMXT_HELPER_SIZE(subn) -DEF_IWMMXT_HELPER_SIZE(addn) -DEF_IWMMXT_HELPER_SIZE(subu) -DEF_IWMMXT_HELPER_SIZE(addu) -DEF_IWMMXT_HELPER_SIZE(subs) -DEF_IWMMXT_HELPER_SIZE(adds) - -DEF_HELPER_2(iwmmxt_avgb0, i64, i64, i64) -DEF_HELPER_2(iwmmxt_avgb1, i64, i64, i64) -DEF_HELPER_2(iwmmxt_avgw0, i64, i64, i64) -DEF_HELPER_2(iwmmxt_avgw1, i64, i64, i64) - -DEF_HELPER_2(iwmmxt_msadb, i64, i64, i64) - -DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32) -DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32) - -DEF_HELPER_1(iwmmxt_bcstb, i64, i32) -DEF_HELPER_1(iwmmxt_bcstw, i64, i32) -DEF_HELPER_1(iwmmxt_bcstl, i64, i32) - -DEF_HELPER_1(iwmmxt_addcb, i64, i64) -DEF_HELPER_1(iwmmxt_addcw, i64, i64) -DEF_HELPER_1(iwmmxt_addcl, i64, i64) - -DEF_HELPER_1(iwmmxt_msbb, i32, i64) -DEF_HELPER_1(iwmmxt_msbw, i32, i64) -DEF_HELPER_1(iwmmxt_msbl, i32, i64) - -DEF_HELPER_2(iwmmxt_srlw, i64, i64, i32) -DEF_HELPER_2(iwmmxt_srll, i64, i64, i32) -DEF_HELPER_2(iwmmxt_srlq, i64, i64, i32) -DEF_HELPER_2(iwmmxt_sllw, i64, i64, i32) -DEF_HELPER_2(iwmmxt_slll, i64, i64, i32) -DEF_HELPER_2(iwmmxt_sllq, i64, i64, i32) -DEF_HELPER_2(iwmmxt_sraw, i64, i64, i32) -DEF_HELPER_2(iwmmxt_sral, i64, i64, i32) -DEF_HELPER_2(iwmmxt_sraq, i64, i64, i32) -DEF_HELPER_2(iwmmxt_rorw, i64, i64, i32) -DEF_HELPER_2(iwmmxt_rorl, i64, i64, i32) -DEF_HELPER_2(iwmmxt_rorq, i64, i64, i32) -DEF_HELPER_2(iwmmxt_shufh, i64, i64, i32) - -DEF_HELPER_2(iwmmxt_packuw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_packul, i64, i64, i64) -DEF_HELPER_2(iwmmxt_packuq, i64, i64, i64) -DEF_HELPER_2(iwmmxt_packsw, i64, i64, i64) -DEF_HELPER_2(iwmmxt_packsl, i64, i64, i64) -DEF_HELPER_2(iwmmxt_packsq, i64, i64, i64) - -DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32) -DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32) -DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32) - -DEF_HELPER_2(set_teecr, void, env, i32) - -DEF_HELPER_2(neon_unzip8, void, i32, i32) -DEF_HELPER_2(neon_unzip16, void, i32, i32) -DEF_HELPER_2(neon_qunzip8, void, i32, i32) -DEF_HELPER_2(neon_qunzip16, void, i32, i32) -DEF_HELPER_2(neon_qunzip32, void, i32, i32) -DEF_HELPER_2(neon_zip8, void, i32, i32) -DEF_HELPER_2(neon_zip16, void, i32, i32) -DEF_HELPER_2(neon_qzip8, void, i32, i32) -DEF_HELPER_2(neon_qzip16, void, i32, i32) -DEF_HELPER_2(neon_qzip32, void, i32, i32) - -#include "def-helper.h" diff --git a/target-arm/iwmmxt_helper.c b/target-arm/iwmmxt_helper.c index b13ffc7..b81e4a5 100644 --- a/target-arm/iwmmxt_helper.c +++ b/target-arm/iwmmxt_helper.c @@ -24,7 +24,7 @@ #include "cpu.h" #include "exec.h" -#include "helpers.h" +#include "helper.h" /* iwMMXt macros extracted from GNU gdb. */ diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c index c3ac96a..cd3b908 100644 --- a/target-arm/neon_helper.c +++ b/target-arm/neon_helper.c @@ -11,7 +11,7 @@ #include "cpu.h" #include "exec.h" -#include "helpers.h" +#include "helper.h" #define SIGNBIT (uint32_t)0x80000000 #define SIGNBIT64 ((uint64_t)1 << 63) diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c index 3de2610..ee7286b 100644 --- a/target-arm/op_helper.c +++ b/target-arm/op_helper.c @@ -17,7 +17,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ #include "exec.h" -#include "helpers.h" +#include "helper.h" #define SIGNBIT (uint32_t)0x80000000 #define SIGNBIT64 ((uint64_t)1 << 63) diff --git a/target-arm/translate.c b/target-arm/translate.c index cf59d63..b401a76 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -30,9 +30,9 @@ #include "tcg-op.h" #include "qemu-log.h" -#include "helpers.h" +#include "helper.h" #define GEN_HELPER 1 -#include "helpers.h" +#include "helper.h" #define ENABLE_ARCH_4T arm_feature(env, ARM_FEATURE_V4T) #define ENABLE_ARCH_5 arm_feature(env, ARM_FEATURE_V5) @@ -129,7 +129,7 @@ void arm_translate_init(void) #endif #define GEN_HELPER 2 -#include "helpers.h" +#include "helper.h" } static inline TCGv load_cpu_offset(int offset) ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h 2011-04-13 16:38 ` [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h Lluís @ 2011-04-18 19:18 ` Aurelien Jarno 0 siblings, 0 replies; 9+ messages in thread From: Aurelien Jarno @ 2011-04-18 19:18 UTC (permalink / raw) To: Lluís; +Cc: qemu-devel On Wed, Apr 13, 2011 at 06:38:24PM +0200, Lluís wrote: > This provides a consistent naming scheme across all targets. > > Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> > --- > target-arm/helper.c | 2 > target-arm/helper.h | 475 ++++++++++++++++++++++++++++++++++++++++++++ > target-arm/helpers.h | 475 -------------------------------------------- > target-arm/iwmmxt_helper.c | 2 > target-arm/neon_helper.c | 2 > target-arm/op_helper.c | 2 > target-arm/translate.c | 6 - > 7 files changed, 482 insertions(+), 482 deletions(-) > create mode 100644 target-arm/helper.h > delete mode 100644 target-arm/helpers.h Thanks, applied. > diff --git a/target-arm/helper.c b/target-arm/helper.c > index d2e0bf4..2adf3ca 100644 > --- a/target-arm/helper.c > +++ b/target-arm/helper.c > @@ -5,7 +5,7 @@ > #include "cpu.h" > #include "exec-all.h" > #include "gdbstub.h" > -#include "helpers.h" > +#include "helper.h" > #include "qemu-common.h" > #include "host-utils.h" > #if !defined(CONFIG_USER_ONLY) > diff --git a/target-arm/helper.h b/target-arm/helper.h > new file mode 100644 > index 0000000..ae701e8 > --- /dev/null > +++ b/target-arm/helper.h > @@ -0,0 +1,475 @@ > +#include "def-helper.h" > + > +DEF_HELPER_1(clz, i32, i32) > +DEF_HELPER_1(sxtb16, i32, i32) > +DEF_HELPER_1(uxtb16, i32, i32) > + > +DEF_HELPER_2(add_setq, i32, i32, i32) > +DEF_HELPER_2(add_saturate, i32, i32, i32) > +DEF_HELPER_2(sub_saturate, i32, i32, i32) > +DEF_HELPER_2(add_usaturate, i32, i32, i32) > +DEF_HELPER_2(sub_usaturate, i32, i32, i32) > +DEF_HELPER_1(double_saturate, i32, s32) > +DEF_HELPER_2(sdiv, s32, s32, s32) > +DEF_HELPER_2(udiv, i32, i32, i32) > +DEF_HELPER_1(rbit, i32, i32) > +DEF_HELPER_1(abs, i32, i32) > + > +#define PAS_OP(pfx) \ > + DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \ > + DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \ > + DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \ > + DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \ > + DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \ > + DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr) > + > +PAS_OP(s) > +PAS_OP(u) > +#undef PAS_OP > + > +#define PAS_OP(pfx) \ > + DEF_HELPER_2(pfx ## add8, i32, i32, i32) \ > + DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \ > + DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \ > + DEF_HELPER_2(pfx ## add16, i32, i32, i32) \ > + DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \ > + DEF_HELPER_2(pfx ## subaddx, i32, i32, i32) > +PAS_OP(q) > +PAS_OP(sh) > +PAS_OP(uq) > +PAS_OP(uh) > +#undef PAS_OP > + > +DEF_HELPER_2(ssat, i32, i32, i32) > +DEF_HELPER_2(usat, i32, i32, i32) > +DEF_HELPER_2(ssat16, i32, i32, i32) > +DEF_HELPER_2(usat16, i32, i32, i32) > + > +DEF_HELPER_2(usad8, i32, i32, i32) > + > +DEF_HELPER_1(logicq_cc, i32, i64) > + > +DEF_HELPER_3(sel_flags, i32, i32, i32, i32) > +DEF_HELPER_1(exception, void, i32) > +DEF_HELPER_0(wfi, void) > + > +DEF_HELPER_2(cpsr_write, void, i32, i32) > +DEF_HELPER_0(cpsr_read, i32) > + > +DEF_HELPER_3(v7m_msr, void, env, i32, i32) > +DEF_HELPER_2(v7m_mrs, i32, env, i32) > + > +DEF_HELPER_3(set_cp15, void, env, i32, i32) > +DEF_HELPER_2(get_cp15, i32, env, i32) > + > +DEF_HELPER_3(set_cp, void, env, i32, i32) > +DEF_HELPER_2(get_cp, i32, env, i32) > + > +DEF_HELPER_2(get_r13_banked, i32, env, i32) > +DEF_HELPER_3(set_r13_banked, void, env, i32, i32) > + > +DEF_HELPER_1(get_user_reg, i32, i32) > +DEF_HELPER_2(set_user_reg, void, i32, i32) > + > +DEF_HELPER_1(vfp_get_fpscr, i32, env) > +DEF_HELPER_2(vfp_set_fpscr, void, env, i32) > + > +DEF_HELPER_3(vfp_adds, f32, f32, f32, env) > +DEF_HELPER_3(vfp_addd, f64, f64, f64, env) > +DEF_HELPER_3(vfp_subs, f32, f32, f32, env) > +DEF_HELPER_3(vfp_subd, f64, f64, f64, env) > +DEF_HELPER_3(vfp_muls, f32, f32, f32, env) > +DEF_HELPER_3(vfp_muld, f64, f64, f64, env) > +DEF_HELPER_3(vfp_divs, f32, f32, f32, env) > +DEF_HELPER_3(vfp_divd, f64, f64, f64, env) > +DEF_HELPER_1(vfp_negs, f32, f32) > +DEF_HELPER_1(vfp_negd, f64, f64) > +DEF_HELPER_1(vfp_abss, f32, f32) > +DEF_HELPER_1(vfp_absd, f64, f64) > +DEF_HELPER_2(vfp_sqrts, f32, f32, env) > +DEF_HELPER_2(vfp_sqrtd, f64, f64, env) > +DEF_HELPER_3(vfp_cmps, void, f32, f32, env) > +DEF_HELPER_3(vfp_cmpd, void, f64, f64, env) > +DEF_HELPER_3(vfp_cmpes, void, f32, f32, env) > +DEF_HELPER_3(vfp_cmped, void, f64, f64, env) > + > +DEF_HELPER_2(vfp_fcvtds, f64, f32, env) > +DEF_HELPER_2(vfp_fcvtsd, f32, f64, env) > + > +DEF_HELPER_2(vfp_uitos, f32, i32, env) > +DEF_HELPER_2(vfp_uitod, f64, i32, env) > +DEF_HELPER_2(vfp_sitos, f32, i32, env) > +DEF_HELPER_2(vfp_sitod, f64, i32, env) > + > +DEF_HELPER_2(vfp_touis, i32, f32, env) > +DEF_HELPER_2(vfp_touid, i32, f64, env) > +DEF_HELPER_2(vfp_touizs, i32, f32, env) > +DEF_HELPER_2(vfp_touizd, i32, f64, env) > +DEF_HELPER_2(vfp_tosis, i32, f32, env) > +DEF_HELPER_2(vfp_tosid, i32, f64, env) > +DEF_HELPER_2(vfp_tosizs, i32, f32, env) > +DEF_HELPER_2(vfp_tosizd, i32, f64, env) > + > +DEF_HELPER_3(vfp_toshs, i32, f32, i32, env) > +DEF_HELPER_3(vfp_tosls, i32, f32, i32, env) > +DEF_HELPER_3(vfp_touhs, i32, f32, i32, env) > +DEF_HELPER_3(vfp_touls, i32, f32, i32, env) > +DEF_HELPER_3(vfp_toshd, i64, f64, i32, env) > +DEF_HELPER_3(vfp_tosld, i64, f64, i32, env) > +DEF_HELPER_3(vfp_touhd, i64, f64, i32, env) > +DEF_HELPER_3(vfp_tould, i64, f64, i32, env) > +DEF_HELPER_3(vfp_shtos, f32, i32, i32, env) > +DEF_HELPER_3(vfp_sltos, f32, i32, i32, env) > +DEF_HELPER_3(vfp_uhtos, f32, i32, i32, env) > +DEF_HELPER_3(vfp_ultos, f32, i32, i32, env) > +DEF_HELPER_3(vfp_shtod, f64, i64, i32, env) > +DEF_HELPER_3(vfp_sltod, f64, i64, i32, env) > +DEF_HELPER_3(vfp_uhtod, f64, i64, i32, env) > +DEF_HELPER_3(vfp_ultod, f64, i64, i32, env) > + > +DEF_HELPER_2(vfp_fcvt_f16_to_f32, f32, i32, env) > +DEF_HELPER_2(vfp_fcvt_f32_to_f16, i32, f32, env) > +DEF_HELPER_2(neon_fcvt_f16_to_f32, f32, i32, env) > +DEF_HELPER_2(neon_fcvt_f32_to_f16, i32, f32, env) > + > +DEF_HELPER_3(recps_f32, f32, f32, f32, env) > +DEF_HELPER_3(rsqrts_f32, f32, f32, f32, env) > +DEF_HELPER_2(recpe_f32, f32, f32, env) > +DEF_HELPER_2(rsqrte_f32, f32, f32, env) > +DEF_HELPER_2(recpe_u32, i32, i32, env) > +DEF_HELPER_2(rsqrte_u32, i32, i32, env) > +DEF_HELPER_4(neon_tbl, i32, i32, i32, i32, i32) > + > +DEF_HELPER_2(add_cc, i32, i32, i32) > +DEF_HELPER_2(adc_cc, i32, i32, i32) > +DEF_HELPER_2(sub_cc, i32, i32, i32) > +DEF_HELPER_2(sbc_cc, i32, i32, i32) > + > +DEF_HELPER_2(shl, i32, i32, i32) > +DEF_HELPER_2(shr, i32, i32, i32) > +DEF_HELPER_2(sar, i32, i32, i32) > +DEF_HELPER_2(shl_cc, i32, i32, i32) > +DEF_HELPER_2(shr_cc, i32, i32, i32) > +DEF_HELPER_2(sar_cc, i32, i32, i32) > +DEF_HELPER_2(ror_cc, i32, i32, i32) > + > +/* neon_helper.c */ > +DEF_HELPER_2(neon_qadd_u8, i32, i32, i32) > +DEF_HELPER_2(neon_qadd_s8, i32, i32, i32) > +DEF_HELPER_2(neon_qadd_u16, i32, i32, i32) > +DEF_HELPER_2(neon_qadd_s16, i32, i32, i32) > +DEF_HELPER_2(neon_qadd_u32, i32, i32, i32) > +DEF_HELPER_2(neon_qadd_s32, i32, i32, i32) > +DEF_HELPER_2(neon_qsub_u8, i32, i32, i32) > +DEF_HELPER_2(neon_qsub_s8, i32, i32, i32) > +DEF_HELPER_2(neon_qsub_u16, i32, i32, i32) > +DEF_HELPER_2(neon_qsub_s16, i32, i32, i32) > +DEF_HELPER_2(neon_qsub_u32, i32, i32, i32) > +DEF_HELPER_2(neon_qsub_s32, i32, i32, i32) > +DEF_HELPER_2(neon_qadd_u64, i64, i64, i64) > +DEF_HELPER_2(neon_qadd_s64, i64, i64, i64) > +DEF_HELPER_2(neon_qsub_u64, i64, i64, i64) > +DEF_HELPER_2(neon_qsub_s64, i64, i64, i64) > + > +DEF_HELPER_2(neon_hadd_s8, i32, i32, i32) > +DEF_HELPER_2(neon_hadd_u8, i32, i32, i32) > +DEF_HELPER_2(neon_hadd_s16, i32, i32, i32) > +DEF_HELPER_2(neon_hadd_u16, i32, i32, i32) > +DEF_HELPER_2(neon_hadd_s32, s32, s32, s32) > +DEF_HELPER_2(neon_hadd_u32, i32, i32, i32) > +DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32) > +DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32) > +DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32) > +DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32) > +DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32) > +DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32) > +DEF_HELPER_2(neon_hsub_s8, i32, i32, i32) > +DEF_HELPER_2(neon_hsub_u8, i32, i32, i32) > +DEF_HELPER_2(neon_hsub_s16, i32, i32, i32) > +DEF_HELPER_2(neon_hsub_u16, i32, i32, i32) > +DEF_HELPER_2(neon_hsub_s32, s32, s32, s32) > +DEF_HELPER_2(neon_hsub_u32, i32, i32, i32) > + > +DEF_HELPER_2(neon_cgt_u8, i32, i32, i32) > +DEF_HELPER_2(neon_cgt_s8, i32, i32, i32) > +DEF_HELPER_2(neon_cgt_u16, i32, i32, i32) > +DEF_HELPER_2(neon_cgt_s16, i32, i32, i32) > +DEF_HELPER_2(neon_cgt_u32, i32, i32, i32) > +DEF_HELPER_2(neon_cgt_s32, i32, i32, i32) > +DEF_HELPER_2(neon_cge_u8, i32, i32, i32) > +DEF_HELPER_2(neon_cge_s8, i32, i32, i32) > +DEF_HELPER_2(neon_cge_u16, i32, i32, i32) > +DEF_HELPER_2(neon_cge_s16, i32, i32, i32) > +DEF_HELPER_2(neon_cge_u32, i32, i32, i32) > +DEF_HELPER_2(neon_cge_s32, i32, i32, i32) > + > +DEF_HELPER_2(neon_min_u8, i32, i32, i32) > +DEF_HELPER_2(neon_min_s8, i32, i32, i32) > +DEF_HELPER_2(neon_min_u16, i32, i32, i32) > +DEF_HELPER_2(neon_min_s16, i32, i32, i32) > +DEF_HELPER_2(neon_min_u32, i32, i32, i32) > +DEF_HELPER_2(neon_min_s32, i32, i32, i32) > +DEF_HELPER_2(neon_max_u8, i32, i32, i32) > +DEF_HELPER_2(neon_max_s8, i32, i32, i32) > +DEF_HELPER_2(neon_max_u16, i32, i32, i32) > +DEF_HELPER_2(neon_max_s16, i32, i32, i32) > +DEF_HELPER_2(neon_max_u32, i32, i32, i32) > +DEF_HELPER_2(neon_max_s32, i32, i32, i32) > +DEF_HELPER_2(neon_pmin_u8, i32, i32, i32) > +DEF_HELPER_2(neon_pmin_s8, i32, i32, i32) > +DEF_HELPER_2(neon_pmin_u16, i32, i32, i32) > +DEF_HELPER_2(neon_pmin_s16, i32, i32, i32) > +DEF_HELPER_2(neon_pmax_u8, i32, i32, i32) > +DEF_HELPER_2(neon_pmax_s8, i32, i32, i32) > +DEF_HELPER_2(neon_pmax_u16, i32, i32, i32) > +DEF_HELPER_2(neon_pmax_s16, i32, i32, i32) > + > +DEF_HELPER_2(neon_abd_u8, i32, i32, i32) > +DEF_HELPER_2(neon_abd_s8, i32, i32, i32) > +DEF_HELPER_2(neon_abd_u16, i32, i32, i32) > +DEF_HELPER_2(neon_abd_s16, i32, i32, i32) > +DEF_HELPER_2(neon_abd_u32, i32, i32, i32) > +DEF_HELPER_2(neon_abd_s32, i32, i32, i32) > + > +DEF_HELPER_2(neon_shl_u8, i32, i32, i32) > +DEF_HELPER_2(neon_shl_s8, i32, i32, i32) > +DEF_HELPER_2(neon_shl_u16, i32, i32, i32) > +DEF_HELPER_2(neon_shl_s16, i32, i32, i32) > +DEF_HELPER_2(neon_shl_u32, i32, i32, i32) > +DEF_HELPER_2(neon_shl_s32, i32, i32, i32) > +DEF_HELPER_2(neon_shl_u64, i64, i64, i64) > +DEF_HELPER_2(neon_shl_s64, i64, i64, i64) > +DEF_HELPER_2(neon_rshl_u8, i32, i32, i32) > +DEF_HELPER_2(neon_rshl_s8, i32, i32, i32) > +DEF_HELPER_2(neon_rshl_u16, i32, i32, i32) > +DEF_HELPER_2(neon_rshl_s16, i32, i32, i32) > +DEF_HELPER_2(neon_rshl_u32, i32, i32, i32) > +DEF_HELPER_2(neon_rshl_s32, i32, i32, i32) > +DEF_HELPER_2(neon_rshl_u64, i64, i64, i64) > +DEF_HELPER_2(neon_rshl_s64, i64, i64, i64) > +DEF_HELPER_2(neon_qshl_u8, i32, i32, i32) > +DEF_HELPER_2(neon_qshl_s8, i32, i32, i32) > +DEF_HELPER_2(neon_qshl_u16, i32, i32, i32) > +DEF_HELPER_2(neon_qshl_s16, i32, i32, i32) > +DEF_HELPER_2(neon_qshl_u32, i32, i32, i32) > +DEF_HELPER_2(neon_qshl_s32, i32, i32, i32) > +DEF_HELPER_2(neon_qshl_u64, i64, i64, i64) > +DEF_HELPER_2(neon_qshl_s64, i64, i64, i64) > +DEF_HELPER_2(neon_qshlu_s8, i32, i32, i32); > +DEF_HELPER_2(neon_qshlu_s16, i32, i32, i32); > +DEF_HELPER_2(neon_qshlu_s32, i32, i32, i32); > +DEF_HELPER_2(neon_qshlu_s64, i64, i64, i64); > +DEF_HELPER_2(neon_qrshl_u8, i32, i32, i32) > +DEF_HELPER_2(neon_qrshl_s8, i32, i32, i32) > +DEF_HELPER_2(neon_qrshl_u16, i32, i32, i32) > +DEF_HELPER_2(neon_qrshl_s16, i32, i32, i32) > +DEF_HELPER_2(neon_qrshl_u32, i32, i32, i32) > +DEF_HELPER_2(neon_qrshl_s32, i32, i32, i32) > +DEF_HELPER_2(neon_qrshl_u64, i64, i64, i64) > +DEF_HELPER_2(neon_qrshl_s64, i64, i64, i64) > + > +DEF_HELPER_2(neon_add_u8, i32, i32, i32) > +DEF_HELPER_2(neon_add_u16, i32, i32, i32) > +DEF_HELPER_2(neon_padd_u8, i32, i32, i32) > +DEF_HELPER_2(neon_padd_u16, i32, i32, i32) > +DEF_HELPER_2(neon_sub_u8, i32, i32, i32) > +DEF_HELPER_2(neon_sub_u16, i32, i32, i32) > +DEF_HELPER_2(neon_mul_u8, i32, i32, i32) > +DEF_HELPER_2(neon_mul_u16, i32, i32, i32) > +DEF_HELPER_2(neon_mul_p8, i32, i32, i32) > +DEF_HELPER_2(neon_mull_p8, i64, i32, i32) > + > +DEF_HELPER_2(neon_tst_u8, i32, i32, i32) > +DEF_HELPER_2(neon_tst_u16, i32, i32, i32) > +DEF_HELPER_2(neon_tst_u32, i32, i32, i32) > +DEF_HELPER_2(neon_ceq_u8, i32, i32, i32) > +DEF_HELPER_2(neon_ceq_u16, i32, i32, i32) > +DEF_HELPER_2(neon_ceq_u32, i32, i32, i32) > + > +DEF_HELPER_1(neon_abs_s8, i32, i32) > +DEF_HELPER_1(neon_abs_s16, i32, i32) > +DEF_HELPER_1(neon_clz_u8, i32, i32) > +DEF_HELPER_1(neon_clz_u16, i32, i32) > +DEF_HELPER_1(neon_cls_s8, i32, i32) > +DEF_HELPER_1(neon_cls_s16, i32, i32) > +DEF_HELPER_1(neon_cls_s32, i32, i32) > +DEF_HELPER_1(neon_cnt_u8, i32, i32) > + > +DEF_HELPER_2(neon_qdmulh_s16, i32, i32, i32) > +DEF_HELPER_2(neon_qrdmulh_s16, i32, i32, i32) > +DEF_HELPER_2(neon_qdmulh_s32, i32, i32, i32) > +DEF_HELPER_2(neon_qrdmulh_s32, i32, i32, i32) > + > +DEF_HELPER_1(neon_narrow_u8, i32, i64) > +DEF_HELPER_1(neon_narrow_u16, i32, i64) > +DEF_HELPER_1(neon_unarrow_sat8, i32, i64) > +DEF_HELPER_1(neon_narrow_sat_u8, i32, i64) > +DEF_HELPER_1(neon_narrow_sat_s8, i32, i64) > +DEF_HELPER_1(neon_unarrow_sat16, i32, i64) > +DEF_HELPER_1(neon_narrow_sat_u16, i32, i64) > +DEF_HELPER_1(neon_narrow_sat_s16, i32, i64) > +DEF_HELPER_1(neon_unarrow_sat32, i32, i64) > +DEF_HELPER_1(neon_narrow_sat_u32, i32, i64) > +DEF_HELPER_1(neon_narrow_sat_s32, i32, i64) > +DEF_HELPER_1(neon_narrow_high_u8, i32, i64) > +DEF_HELPER_1(neon_narrow_high_u16, i32, i64) > +DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64) > +DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64) > +DEF_HELPER_1(neon_widen_u8, i64, i32) > +DEF_HELPER_1(neon_widen_s8, i64, i32) > +DEF_HELPER_1(neon_widen_u16, i64, i32) > +DEF_HELPER_1(neon_widen_s16, i64, i32) > + > +DEF_HELPER_2(neon_addl_u16, i64, i64, i64) > +DEF_HELPER_2(neon_addl_u32, i64, i64, i64) > +DEF_HELPER_2(neon_paddl_u16, i64, i64, i64) > +DEF_HELPER_2(neon_paddl_u32, i64, i64, i64) > +DEF_HELPER_2(neon_subl_u16, i64, i64, i64) > +DEF_HELPER_2(neon_subl_u32, i64, i64, i64) > +DEF_HELPER_2(neon_addl_saturate_s32, i64, i64, i64) > +DEF_HELPER_2(neon_addl_saturate_s64, i64, i64, i64) > +DEF_HELPER_2(neon_abdl_u16, i64, i32, i32) > +DEF_HELPER_2(neon_abdl_s16, i64, i32, i32) > +DEF_HELPER_2(neon_abdl_u32, i64, i32, i32) > +DEF_HELPER_2(neon_abdl_s32, i64, i32, i32) > +DEF_HELPER_2(neon_abdl_u64, i64, i32, i32) > +DEF_HELPER_2(neon_abdl_s64, i64, i32, i32) > +DEF_HELPER_2(neon_mull_u8, i64, i32, i32) > +DEF_HELPER_2(neon_mull_s8, i64, i32, i32) > +DEF_HELPER_2(neon_mull_u16, i64, i32, i32) > +DEF_HELPER_2(neon_mull_s16, i64, i32, i32) > + > +DEF_HELPER_1(neon_negl_u16, i64, i64) > +DEF_HELPER_1(neon_negl_u32, i64, i64) > +DEF_HELPER_1(neon_negl_u64, i64, i64) > + > +DEF_HELPER_1(neon_qabs_s8, i32, i32) > +DEF_HELPER_1(neon_qabs_s16, i32, i32) > +DEF_HELPER_1(neon_qabs_s32, i32, i32) > +DEF_HELPER_1(neon_qneg_s8, i32, i32) > +DEF_HELPER_1(neon_qneg_s16, i32, i32) > +DEF_HELPER_1(neon_qneg_s32, i32, i32) > + > +DEF_HELPER_2(neon_min_f32, i32, i32, i32) > +DEF_HELPER_2(neon_max_f32, i32, i32, i32) > +DEF_HELPER_2(neon_abd_f32, i32, i32, i32) > +DEF_HELPER_2(neon_add_f32, i32, i32, i32) > +DEF_HELPER_2(neon_sub_f32, i32, i32, i32) > +DEF_HELPER_2(neon_mul_f32, i32, i32, i32) > +DEF_HELPER_2(neon_ceq_f32, i32, i32, i32) > +DEF_HELPER_2(neon_cge_f32, i32, i32, i32) > +DEF_HELPER_2(neon_cgt_f32, i32, i32, i32) > +DEF_HELPER_2(neon_acge_f32, i32, i32, i32) > +DEF_HELPER_2(neon_acgt_f32, i32, i32, i32) > + > +/* iwmmxt_helper.c */ > +DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64) > +DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64) > + > +#define DEF_IWMMXT_HELPER_SIZE(name) \ > +DEF_HELPER_2(iwmmxt_##name##b, i64, i64, i64) \ > +DEF_HELPER_2(iwmmxt_##name##w, i64, i64, i64) \ > +DEF_HELPER_2(iwmmxt_##name##l, i64, i64, i64) \ > + > +DEF_IWMMXT_HELPER_SIZE(unpackl) > +DEF_IWMMXT_HELPER_SIZE(unpackh) > + > +DEF_HELPER_1(iwmmxt_unpacklub, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackluw, i64, i64) > +DEF_HELPER_1(iwmmxt_unpacklul, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackhub, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackhuw, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackhul, i64, i64) > +DEF_HELPER_1(iwmmxt_unpacklsb, i64, i64) > +DEF_HELPER_1(iwmmxt_unpacklsw, i64, i64) > +DEF_HELPER_1(iwmmxt_unpacklsl, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackhsb, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackhsw, i64, i64) > +DEF_HELPER_1(iwmmxt_unpackhsl, i64, i64) > + > +DEF_IWMMXT_HELPER_SIZE(cmpeq) > +DEF_IWMMXT_HELPER_SIZE(cmpgtu) > +DEF_IWMMXT_HELPER_SIZE(cmpgts) > + > +DEF_IWMMXT_HELPER_SIZE(mins) > +DEF_IWMMXT_HELPER_SIZE(minu) > +DEF_IWMMXT_HELPER_SIZE(maxs) > +DEF_IWMMXT_HELPER_SIZE(maxu) > + > +DEF_IWMMXT_HELPER_SIZE(subn) > +DEF_IWMMXT_HELPER_SIZE(addn) > +DEF_IWMMXT_HELPER_SIZE(subu) > +DEF_IWMMXT_HELPER_SIZE(addu) > +DEF_IWMMXT_HELPER_SIZE(subs) > +DEF_IWMMXT_HELPER_SIZE(adds) > + > +DEF_HELPER_2(iwmmxt_avgb0, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_avgb1, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_avgw0, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_avgw1, i64, i64, i64) > + > +DEF_HELPER_2(iwmmxt_msadb, i64, i64, i64) > + > +DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32) > +DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32) > + > +DEF_HELPER_1(iwmmxt_bcstb, i64, i32) > +DEF_HELPER_1(iwmmxt_bcstw, i64, i32) > +DEF_HELPER_1(iwmmxt_bcstl, i64, i32) > + > +DEF_HELPER_1(iwmmxt_addcb, i64, i64) > +DEF_HELPER_1(iwmmxt_addcw, i64, i64) > +DEF_HELPER_1(iwmmxt_addcl, i64, i64) > + > +DEF_HELPER_1(iwmmxt_msbb, i32, i64) > +DEF_HELPER_1(iwmmxt_msbw, i32, i64) > +DEF_HELPER_1(iwmmxt_msbl, i32, i64) > + > +DEF_HELPER_2(iwmmxt_srlw, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_srll, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_srlq, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_sllw, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_slll, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_sllq, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_sraw, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_sral, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_sraq, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_rorw, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_rorl, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_rorq, i64, i64, i32) > +DEF_HELPER_2(iwmmxt_shufh, i64, i64, i32) > + > +DEF_HELPER_2(iwmmxt_packuw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_packul, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_packuq, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_packsw, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_packsl, i64, i64, i64) > +DEF_HELPER_2(iwmmxt_packsq, i64, i64, i64) > + > +DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32) > +DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32) > +DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32) > + > +DEF_HELPER_2(set_teecr, void, env, i32) > + > +DEF_HELPER_2(neon_unzip8, void, i32, i32) > +DEF_HELPER_2(neon_unzip16, void, i32, i32) > +DEF_HELPER_2(neon_qunzip8, void, i32, i32) > +DEF_HELPER_2(neon_qunzip16, void, i32, i32) > +DEF_HELPER_2(neon_qunzip32, void, i32, i32) > +DEF_HELPER_2(neon_zip8, void, i32, i32) > +DEF_HELPER_2(neon_zip16, void, i32, i32) > +DEF_HELPER_2(neon_qzip8, void, i32, i32) > +DEF_HELPER_2(neon_qzip16, void, i32, i32) > +DEF_HELPER_2(neon_qzip32, void, i32, i32) > + > +#include "def-helper.h" > diff --git a/target-arm/helpers.h b/target-arm/helpers.h > deleted file mode 100644 > index ae701e8..0000000 > --- a/target-arm/helpers.h > +++ /dev/null > @@ -1,475 +0,0 @@ > -#include "def-helper.h" > - > -DEF_HELPER_1(clz, i32, i32) > -DEF_HELPER_1(sxtb16, i32, i32) > -DEF_HELPER_1(uxtb16, i32, i32) > - > -DEF_HELPER_2(add_setq, i32, i32, i32) > -DEF_HELPER_2(add_saturate, i32, i32, i32) > -DEF_HELPER_2(sub_saturate, i32, i32, i32) > -DEF_HELPER_2(add_usaturate, i32, i32, i32) > -DEF_HELPER_2(sub_usaturate, i32, i32, i32) > -DEF_HELPER_1(double_saturate, i32, s32) > -DEF_HELPER_2(sdiv, s32, s32, s32) > -DEF_HELPER_2(udiv, i32, i32, i32) > -DEF_HELPER_1(rbit, i32, i32) > -DEF_HELPER_1(abs, i32, i32) > - > -#define PAS_OP(pfx) \ > - DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \ > - DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \ > - DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \ > - DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \ > - DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \ > - DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr) > - > -PAS_OP(s) > -PAS_OP(u) > -#undef PAS_OP > - > -#define PAS_OP(pfx) \ > - DEF_HELPER_2(pfx ## add8, i32, i32, i32) \ > - DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \ > - DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \ > - DEF_HELPER_2(pfx ## add16, i32, i32, i32) \ > - DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \ > - DEF_HELPER_2(pfx ## subaddx, i32, i32, i32) > -PAS_OP(q) > -PAS_OP(sh) > -PAS_OP(uq) > -PAS_OP(uh) > -#undef PAS_OP > - > -DEF_HELPER_2(ssat, i32, i32, i32) > -DEF_HELPER_2(usat, i32, i32, i32) > -DEF_HELPER_2(ssat16, i32, i32, i32) > -DEF_HELPER_2(usat16, i32, i32, i32) > - > -DEF_HELPER_2(usad8, i32, i32, i32) > - > -DEF_HELPER_1(logicq_cc, i32, i64) > - > -DEF_HELPER_3(sel_flags, i32, i32, i32, i32) > -DEF_HELPER_1(exception, void, i32) > -DEF_HELPER_0(wfi, void) > - > -DEF_HELPER_2(cpsr_write, void, i32, i32) > -DEF_HELPER_0(cpsr_read, i32) > - > -DEF_HELPER_3(v7m_msr, void, env, i32, i32) > -DEF_HELPER_2(v7m_mrs, i32, env, i32) > - > -DEF_HELPER_3(set_cp15, void, env, i32, i32) > -DEF_HELPER_2(get_cp15, i32, env, i32) > - > -DEF_HELPER_3(set_cp, void, env, i32, i32) > -DEF_HELPER_2(get_cp, i32, env, i32) > - > -DEF_HELPER_2(get_r13_banked, i32, env, i32) > -DEF_HELPER_3(set_r13_banked, void, env, i32, i32) > - > -DEF_HELPER_1(get_user_reg, i32, i32) > -DEF_HELPER_2(set_user_reg, void, i32, i32) > - > -DEF_HELPER_1(vfp_get_fpscr, i32, env) > -DEF_HELPER_2(vfp_set_fpscr, void, env, i32) > - > -DEF_HELPER_3(vfp_adds, f32, f32, f32, env) > -DEF_HELPER_3(vfp_addd, f64, f64, f64, env) > -DEF_HELPER_3(vfp_subs, f32, f32, f32, env) > -DEF_HELPER_3(vfp_subd, f64, f64, f64, env) > -DEF_HELPER_3(vfp_muls, f32, f32, f32, env) > -DEF_HELPER_3(vfp_muld, f64, f64, f64, env) > -DEF_HELPER_3(vfp_divs, f32, f32, f32, env) > -DEF_HELPER_3(vfp_divd, f64, f64, f64, env) > -DEF_HELPER_1(vfp_negs, f32, f32) > -DEF_HELPER_1(vfp_negd, f64, f64) > -DEF_HELPER_1(vfp_abss, f32, f32) > -DEF_HELPER_1(vfp_absd, f64, f64) > -DEF_HELPER_2(vfp_sqrts, f32, f32, env) > -DEF_HELPER_2(vfp_sqrtd, f64, f64, env) > -DEF_HELPER_3(vfp_cmps, void, f32, f32, env) > -DEF_HELPER_3(vfp_cmpd, void, f64, f64, env) > -DEF_HELPER_3(vfp_cmpes, void, f32, f32, env) > -DEF_HELPER_3(vfp_cmped, void, f64, f64, env) > - > -DEF_HELPER_2(vfp_fcvtds, f64, f32, env) > -DEF_HELPER_2(vfp_fcvtsd, f32, f64, env) > - > -DEF_HELPER_2(vfp_uitos, f32, i32, env) > -DEF_HELPER_2(vfp_uitod, f64, i32, env) > -DEF_HELPER_2(vfp_sitos, f32, i32, env) > -DEF_HELPER_2(vfp_sitod, f64, i32, env) > - > -DEF_HELPER_2(vfp_touis, i32, f32, env) > -DEF_HELPER_2(vfp_touid, i32, f64, env) > -DEF_HELPER_2(vfp_touizs, i32, f32, env) > -DEF_HELPER_2(vfp_touizd, i32, f64, env) > -DEF_HELPER_2(vfp_tosis, i32, f32, env) > -DEF_HELPER_2(vfp_tosid, i32, f64, env) > -DEF_HELPER_2(vfp_tosizs, i32, f32, env) > -DEF_HELPER_2(vfp_tosizd, i32, f64, env) > - > -DEF_HELPER_3(vfp_toshs, i32, f32, i32, env) > -DEF_HELPER_3(vfp_tosls, i32, f32, i32, env) > -DEF_HELPER_3(vfp_touhs, i32, f32, i32, env) > -DEF_HELPER_3(vfp_touls, i32, f32, i32, env) > -DEF_HELPER_3(vfp_toshd, i64, f64, i32, env) > -DEF_HELPER_3(vfp_tosld, i64, f64, i32, env) > -DEF_HELPER_3(vfp_touhd, i64, f64, i32, env) > -DEF_HELPER_3(vfp_tould, i64, f64, i32, env) > -DEF_HELPER_3(vfp_shtos, f32, i32, i32, env) > -DEF_HELPER_3(vfp_sltos, f32, i32, i32, env) > -DEF_HELPER_3(vfp_uhtos, f32, i32, i32, env) > -DEF_HELPER_3(vfp_ultos, f32, i32, i32, env) > -DEF_HELPER_3(vfp_shtod, f64, i64, i32, env) > -DEF_HELPER_3(vfp_sltod, f64, i64, i32, env) > -DEF_HELPER_3(vfp_uhtod, f64, i64, i32, env) > -DEF_HELPER_3(vfp_ultod, f64, i64, i32, env) > - > -DEF_HELPER_2(vfp_fcvt_f16_to_f32, f32, i32, env) > -DEF_HELPER_2(vfp_fcvt_f32_to_f16, i32, f32, env) > -DEF_HELPER_2(neon_fcvt_f16_to_f32, f32, i32, env) > -DEF_HELPER_2(neon_fcvt_f32_to_f16, i32, f32, env) > - > -DEF_HELPER_3(recps_f32, f32, f32, f32, env) > -DEF_HELPER_3(rsqrts_f32, f32, f32, f32, env) > -DEF_HELPER_2(recpe_f32, f32, f32, env) > -DEF_HELPER_2(rsqrte_f32, f32, f32, env) > -DEF_HELPER_2(recpe_u32, i32, i32, env) > -DEF_HELPER_2(rsqrte_u32, i32, i32, env) > -DEF_HELPER_4(neon_tbl, i32, i32, i32, i32, i32) > - > -DEF_HELPER_2(add_cc, i32, i32, i32) > -DEF_HELPER_2(adc_cc, i32, i32, i32) > -DEF_HELPER_2(sub_cc, i32, i32, i32) > -DEF_HELPER_2(sbc_cc, i32, i32, i32) > - > -DEF_HELPER_2(shl, i32, i32, i32) > -DEF_HELPER_2(shr, i32, i32, i32) > -DEF_HELPER_2(sar, i32, i32, i32) > -DEF_HELPER_2(shl_cc, i32, i32, i32) > -DEF_HELPER_2(shr_cc, i32, i32, i32) > -DEF_HELPER_2(sar_cc, i32, i32, i32) > -DEF_HELPER_2(ror_cc, i32, i32, i32) > - > -/* neon_helper.c */ > -DEF_HELPER_2(neon_qadd_u8, i32, i32, i32) > -DEF_HELPER_2(neon_qadd_s8, i32, i32, i32) > -DEF_HELPER_2(neon_qadd_u16, i32, i32, i32) > -DEF_HELPER_2(neon_qadd_s16, i32, i32, i32) > -DEF_HELPER_2(neon_qadd_u32, i32, i32, i32) > -DEF_HELPER_2(neon_qadd_s32, i32, i32, i32) > -DEF_HELPER_2(neon_qsub_u8, i32, i32, i32) > -DEF_HELPER_2(neon_qsub_s8, i32, i32, i32) > -DEF_HELPER_2(neon_qsub_u16, i32, i32, i32) > -DEF_HELPER_2(neon_qsub_s16, i32, i32, i32) > -DEF_HELPER_2(neon_qsub_u32, i32, i32, i32) > -DEF_HELPER_2(neon_qsub_s32, i32, i32, i32) > -DEF_HELPER_2(neon_qadd_u64, i64, i64, i64) > -DEF_HELPER_2(neon_qadd_s64, i64, i64, i64) > -DEF_HELPER_2(neon_qsub_u64, i64, i64, i64) > -DEF_HELPER_2(neon_qsub_s64, i64, i64, i64) > - > -DEF_HELPER_2(neon_hadd_s8, i32, i32, i32) > -DEF_HELPER_2(neon_hadd_u8, i32, i32, i32) > -DEF_HELPER_2(neon_hadd_s16, i32, i32, i32) > -DEF_HELPER_2(neon_hadd_u16, i32, i32, i32) > -DEF_HELPER_2(neon_hadd_s32, s32, s32, s32) > -DEF_HELPER_2(neon_hadd_u32, i32, i32, i32) > -DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32) > -DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32) > -DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32) > -DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32) > -DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32) > -DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32) > -DEF_HELPER_2(neon_hsub_s8, i32, i32, i32) > -DEF_HELPER_2(neon_hsub_u8, i32, i32, i32) > -DEF_HELPER_2(neon_hsub_s16, i32, i32, i32) > -DEF_HELPER_2(neon_hsub_u16, i32, i32, i32) > -DEF_HELPER_2(neon_hsub_s32, s32, s32, s32) > -DEF_HELPER_2(neon_hsub_u32, i32, i32, i32) > - > -DEF_HELPER_2(neon_cgt_u8, i32, i32, i32) > -DEF_HELPER_2(neon_cgt_s8, i32, i32, i32) > -DEF_HELPER_2(neon_cgt_u16, i32, i32, i32) > -DEF_HELPER_2(neon_cgt_s16, i32, i32, i32) > -DEF_HELPER_2(neon_cgt_u32, i32, i32, i32) > -DEF_HELPER_2(neon_cgt_s32, i32, i32, i32) > -DEF_HELPER_2(neon_cge_u8, i32, i32, i32) > -DEF_HELPER_2(neon_cge_s8, i32, i32, i32) > -DEF_HELPER_2(neon_cge_u16, i32, i32, i32) > -DEF_HELPER_2(neon_cge_s16, i32, i32, i32) > -DEF_HELPER_2(neon_cge_u32, i32, i32, i32) > -DEF_HELPER_2(neon_cge_s32, i32, i32, i32) > - > -DEF_HELPER_2(neon_min_u8, i32, i32, i32) > -DEF_HELPER_2(neon_min_s8, i32, i32, i32) > -DEF_HELPER_2(neon_min_u16, i32, i32, i32) > -DEF_HELPER_2(neon_min_s16, i32, i32, i32) > -DEF_HELPER_2(neon_min_u32, i32, i32, i32) > -DEF_HELPER_2(neon_min_s32, i32, i32, i32) > -DEF_HELPER_2(neon_max_u8, i32, i32, i32) > -DEF_HELPER_2(neon_max_s8, i32, i32, i32) > -DEF_HELPER_2(neon_max_u16, i32, i32, i32) > -DEF_HELPER_2(neon_max_s16, i32, i32, i32) > -DEF_HELPER_2(neon_max_u32, i32, i32, i32) > -DEF_HELPER_2(neon_max_s32, i32, i32, i32) > -DEF_HELPER_2(neon_pmin_u8, i32, i32, i32) > -DEF_HELPER_2(neon_pmin_s8, i32, i32, i32) > -DEF_HELPER_2(neon_pmin_u16, i32, i32, i32) > -DEF_HELPER_2(neon_pmin_s16, i32, i32, i32) > -DEF_HELPER_2(neon_pmax_u8, i32, i32, i32) > -DEF_HELPER_2(neon_pmax_s8, i32, i32, i32) > -DEF_HELPER_2(neon_pmax_u16, i32, i32, i32) > -DEF_HELPER_2(neon_pmax_s16, i32, i32, i32) > - > -DEF_HELPER_2(neon_abd_u8, i32, i32, i32) > -DEF_HELPER_2(neon_abd_s8, i32, i32, i32) > -DEF_HELPER_2(neon_abd_u16, i32, i32, i32) > -DEF_HELPER_2(neon_abd_s16, i32, i32, i32) > -DEF_HELPER_2(neon_abd_u32, i32, i32, i32) > -DEF_HELPER_2(neon_abd_s32, i32, i32, i32) > - > -DEF_HELPER_2(neon_shl_u8, i32, i32, i32) > -DEF_HELPER_2(neon_shl_s8, i32, i32, i32) > -DEF_HELPER_2(neon_shl_u16, i32, i32, i32) > -DEF_HELPER_2(neon_shl_s16, i32, i32, i32) > -DEF_HELPER_2(neon_shl_u32, i32, i32, i32) > -DEF_HELPER_2(neon_shl_s32, i32, i32, i32) > -DEF_HELPER_2(neon_shl_u64, i64, i64, i64) > -DEF_HELPER_2(neon_shl_s64, i64, i64, i64) > -DEF_HELPER_2(neon_rshl_u8, i32, i32, i32) > -DEF_HELPER_2(neon_rshl_s8, i32, i32, i32) > -DEF_HELPER_2(neon_rshl_u16, i32, i32, i32) > -DEF_HELPER_2(neon_rshl_s16, i32, i32, i32) > -DEF_HELPER_2(neon_rshl_u32, i32, i32, i32) > -DEF_HELPER_2(neon_rshl_s32, i32, i32, i32) > -DEF_HELPER_2(neon_rshl_u64, i64, i64, i64) > -DEF_HELPER_2(neon_rshl_s64, i64, i64, i64) > -DEF_HELPER_2(neon_qshl_u8, i32, i32, i32) > -DEF_HELPER_2(neon_qshl_s8, i32, i32, i32) > -DEF_HELPER_2(neon_qshl_u16, i32, i32, i32) > -DEF_HELPER_2(neon_qshl_s16, i32, i32, i32) > -DEF_HELPER_2(neon_qshl_u32, i32, i32, i32) > -DEF_HELPER_2(neon_qshl_s32, i32, i32, i32) > -DEF_HELPER_2(neon_qshl_u64, i64, i64, i64) > -DEF_HELPER_2(neon_qshl_s64, i64, i64, i64) > -DEF_HELPER_2(neon_qshlu_s8, i32, i32, i32); > -DEF_HELPER_2(neon_qshlu_s16, i32, i32, i32); > -DEF_HELPER_2(neon_qshlu_s32, i32, i32, i32); > -DEF_HELPER_2(neon_qshlu_s64, i64, i64, i64); > -DEF_HELPER_2(neon_qrshl_u8, i32, i32, i32) > -DEF_HELPER_2(neon_qrshl_s8, i32, i32, i32) > -DEF_HELPER_2(neon_qrshl_u16, i32, i32, i32) > -DEF_HELPER_2(neon_qrshl_s16, i32, i32, i32) > -DEF_HELPER_2(neon_qrshl_u32, i32, i32, i32) > -DEF_HELPER_2(neon_qrshl_s32, i32, i32, i32) > -DEF_HELPER_2(neon_qrshl_u64, i64, i64, i64) > -DEF_HELPER_2(neon_qrshl_s64, i64, i64, i64) > - > -DEF_HELPER_2(neon_add_u8, i32, i32, i32) > -DEF_HELPER_2(neon_add_u16, i32, i32, i32) > -DEF_HELPER_2(neon_padd_u8, i32, i32, i32) > -DEF_HELPER_2(neon_padd_u16, i32, i32, i32) > -DEF_HELPER_2(neon_sub_u8, i32, i32, i32) > -DEF_HELPER_2(neon_sub_u16, i32, i32, i32) > -DEF_HELPER_2(neon_mul_u8, i32, i32, i32) > -DEF_HELPER_2(neon_mul_u16, i32, i32, i32) > -DEF_HELPER_2(neon_mul_p8, i32, i32, i32) > -DEF_HELPER_2(neon_mull_p8, i64, i32, i32) > - > -DEF_HELPER_2(neon_tst_u8, i32, i32, i32) > -DEF_HELPER_2(neon_tst_u16, i32, i32, i32) > -DEF_HELPER_2(neon_tst_u32, i32, i32, i32) > -DEF_HELPER_2(neon_ceq_u8, i32, i32, i32) > -DEF_HELPER_2(neon_ceq_u16, i32, i32, i32) > -DEF_HELPER_2(neon_ceq_u32, i32, i32, i32) > - > -DEF_HELPER_1(neon_abs_s8, i32, i32) > -DEF_HELPER_1(neon_abs_s16, i32, i32) > -DEF_HELPER_1(neon_clz_u8, i32, i32) > -DEF_HELPER_1(neon_clz_u16, i32, i32) > -DEF_HELPER_1(neon_cls_s8, i32, i32) > -DEF_HELPER_1(neon_cls_s16, i32, i32) > -DEF_HELPER_1(neon_cls_s32, i32, i32) > -DEF_HELPER_1(neon_cnt_u8, i32, i32) > - > -DEF_HELPER_2(neon_qdmulh_s16, i32, i32, i32) > -DEF_HELPER_2(neon_qrdmulh_s16, i32, i32, i32) > -DEF_HELPER_2(neon_qdmulh_s32, i32, i32, i32) > -DEF_HELPER_2(neon_qrdmulh_s32, i32, i32, i32) > - > -DEF_HELPER_1(neon_narrow_u8, i32, i64) > -DEF_HELPER_1(neon_narrow_u16, i32, i64) > -DEF_HELPER_1(neon_unarrow_sat8, i32, i64) > -DEF_HELPER_1(neon_narrow_sat_u8, i32, i64) > -DEF_HELPER_1(neon_narrow_sat_s8, i32, i64) > -DEF_HELPER_1(neon_unarrow_sat16, i32, i64) > -DEF_HELPER_1(neon_narrow_sat_u16, i32, i64) > -DEF_HELPER_1(neon_narrow_sat_s16, i32, i64) > -DEF_HELPER_1(neon_unarrow_sat32, i32, i64) > -DEF_HELPER_1(neon_narrow_sat_u32, i32, i64) > -DEF_HELPER_1(neon_narrow_sat_s32, i32, i64) > -DEF_HELPER_1(neon_narrow_high_u8, i32, i64) > -DEF_HELPER_1(neon_narrow_high_u16, i32, i64) > -DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64) > -DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64) > -DEF_HELPER_1(neon_widen_u8, i64, i32) > -DEF_HELPER_1(neon_widen_s8, i64, i32) > -DEF_HELPER_1(neon_widen_u16, i64, i32) > -DEF_HELPER_1(neon_widen_s16, i64, i32) > - > -DEF_HELPER_2(neon_addl_u16, i64, i64, i64) > -DEF_HELPER_2(neon_addl_u32, i64, i64, i64) > -DEF_HELPER_2(neon_paddl_u16, i64, i64, i64) > -DEF_HELPER_2(neon_paddl_u32, i64, i64, i64) > -DEF_HELPER_2(neon_subl_u16, i64, i64, i64) > -DEF_HELPER_2(neon_subl_u32, i64, i64, i64) > -DEF_HELPER_2(neon_addl_saturate_s32, i64, i64, i64) > -DEF_HELPER_2(neon_addl_saturate_s64, i64, i64, i64) > -DEF_HELPER_2(neon_abdl_u16, i64, i32, i32) > -DEF_HELPER_2(neon_abdl_s16, i64, i32, i32) > -DEF_HELPER_2(neon_abdl_u32, i64, i32, i32) > -DEF_HELPER_2(neon_abdl_s32, i64, i32, i32) > -DEF_HELPER_2(neon_abdl_u64, i64, i32, i32) > -DEF_HELPER_2(neon_abdl_s64, i64, i32, i32) > -DEF_HELPER_2(neon_mull_u8, i64, i32, i32) > -DEF_HELPER_2(neon_mull_s8, i64, i32, i32) > -DEF_HELPER_2(neon_mull_u16, i64, i32, i32) > -DEF_HELPER_2(neon_mull_s16, i64, i32, i32) > - > -DEF_HELPER_1(neon_negl_u16, i64, i64) > -DEF_HELPER_1(neon_negl_u32, i64, i64) > -DEF_HELPER_1(neon_negl_u64, i64, i64) > - > -DEF_HELPER_1(neon_qabs_s8, i32, i32) > -DEF_HELPER_1(neon_qabs_s16, i32, i32) > -DEF_HELPER_1(neon_qabs_s32, i32, i32) > -DEF_HELPER_1(neon_qneg_s8, i32, i32) > -DEF_HELPER_1(neon_qneg_s16, i32, i32) > -DEF_HELPER_1(neon_qneg_s32, i32, i32) > - > -DEF_HELPER_2(neon_min_f32, i32, i32, i32) > -DEF_HELPER_2(neon_max_f32, i32, i32, i32) > -DEF_HELPER_2(neon_abd_f32, i32, i32, i32) > -DEF_HELPER_2(neon_add_f32, i32, i32, i32) > -DEF_HELPER_2(neon_sub_f32, i32, i32, i32) > -DEF_HELPER_2(neon_mul_f32, i32, i32, i32) > -DEF_HELPER_2(neon_ceq_f32, i32, i32, i32) > -DEF_HELPER_2(neon_cge_f32, i32, i32, i32) > -DEF_HELPER_2(neon_cgt_f32, i32, i32, i32) > -DEF_HELPER_2(neon_acge_f32, i32, i32, i32) > -DEF_HELPER_2(neon_acgt_f32, i32, i32, i32) > - > -/* iwmmxt_helper.c */ > -DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64) > -DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64) > - > -#define DEF_IWMMXT_HELPER_SIZE(name) \ > -DEF_HELPER_2(iwmmxt_##name##b, i64, i64, i64) \ > -DEF_HELPER_2(iwmmxt_##name##w, i64, i64, i64) \ > -DEF_HELPER_2(iwmmxt_##name##l, i64, i64, i64) \ > - > -DEF_IWMMXT_HELPER_SIZE(unpackl) > -DEF_IWMMXT_HELPER_SIZE(unpackh) > - > -DEF_HELPER_1(iwmmxt_unpacklub, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackluw, i64, i64) > -DEF_HELPER_1(iwmmxt_unpacklul, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackhub, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackhuw, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackhul, i64, i64) > -DEF_HELPER_1(iwmmxt_unpacklsb, i64, i64) > -DEF_HELPER_1(iwmmxt_unpacklsw, i64, i64) > -DEF_HELPER_1(iwmmxt_unpacklsl, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackhsb, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackhsw, i64, i64) > -DEF_HELPER_1(iwmmxt_unpackhsl, i64, i64) > - > -DEF_IWMMXT_HELPER_SIZE(cmpeq) > -DEF_IWMMXT_HELPER_SIZE(cmpgtu) > -DEF_IWMMXT_HELPER_SIZE(cmpgts) > - > -DEF_IWMMXT_HELPER_SIZE(mins) > -DEF_IWMMXT_HELPER_SIZE(minu) > -DEF_IWMMXT_HELPER_SIZE(maxs) > -DEF_IWMMXT_HELPER_SIZE(maxu) > - > -DEF_IWMMXT_HELPER_SIZE(subn) > -DEF_IWMMXT_HELPER_SIZE(addn) > -DEF_IWMMXT_HELPER_SIZE(subu) > -DEF_IWMMXT_HELPER_SIZE(addu) > -DEF_IWMMXT_HELPER_SIZE(subs) > -DEF_IWMMXT_HELPER_SIZE(adds) > - > -DEF_HELPER_2(iwmmxt_avgb0, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_avgb1, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_avgw0, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_avgw1, i64, i64, i64) > - > -DEF_HELPER_2(iwmmxt_msadb, i64, i64, i64) > - > -DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32) > -DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32) > - > -DEF_HELPER_1(iwmmxt_bcstb, i64, i32) > -DEF_HELPER_1(iwmmxt_bcstw, i64, i32) > -DEF_HELPER_1(iwmmxt_bcstl, i64, i32) > - > -DEF_HELPER_1(iwmmxt_addcb, i64, i64) > -DEF_HELPER_1(iwmmxt_addcw, i64, i64) > -DEF_HELPER_1(iwmmxt_addcl, i64, i64) > - > -DEF_HELPER_1(iwmmxt_msbb, i32, i64) > -DEF_HELPER_1(iwmmxt_msbw, i32, i64) > -DEF_HELPER_1(iwmmxt_msbl, i32, i64) > - > -DEF_HELPER_2(iwmmxt_srlw, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_srll, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_srlq, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_sllw, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_slll, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_sllq, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_sraw, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_sral, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_sraq, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_rorw, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_rorl, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_rorq, i64, i64, i32) > -DEF_HELPER_2(iwmmxt_shufh, i64, i64, i32) > - > -DEF_HELPER_2(iwmmxt_packuw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_packul, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_packuq, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_packsw, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_packsl, i64, i64, i64) > -DEF_HELPER_2(iwmmxt_packsq, i64, i64, i64) > - > -DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32) > -DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32) > -DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32) > - > -DEF_HELPER_2(set_teecr, void, env, i32) > - > -DEF_HELPER_2(neon_unzip8, void, i32, i32) > -DEF_HELPER_2(neon_unzip16, void, i32, i32) > -DEF_HELPER_2(neon_qunzip8, void, i32, i32) > -DEF_HELPER_2(neon_qunzip16, void, i32, i32) > -DEF_HELPER_2(neon_qunzip32, void, i32, i32) > -DEF_HELPER_2(neon_zip8, void, i32, i32) > -DEF_HELPER_2(neon_zip16, void, i32, i32) > -DEF_HELPER_2(neon_qzip8, void, i32, i32) > -DEF_HELPER_2(neon_qzip16, void, i32, i32) > -DEF_HELPER_2(neon_qzip32, void, i32, i32) > - > -#include "def-helper.h" > diff --git a/target-arm/iwmmxt_helper.c b/target-arm/iwmmxt_helper.c > index b13ffc7..b81e4a5 100644 > --- a/target-arm/iwmmxt_helper.c > +++ b/target-arm/iwmmxt_helper.c > @@ -24,7 +24,7 @@ > > #include "cpu.h" > #include "exec.h" > -#include "helpers.h" > +#include "helper.h" > > /* iwMMXt macros extracted from GNU gdb. */ > > diff --git a/target-arm/neon_helper.c b/target-arm/neon_helper.c > index c3ac96a..cd3b908 100644 > --- a/target-arm/neon_helper.c > +++ b/target-arm/neon_helper.c > @@ -11,7 +11,7 @@ > > #include "cpu.h" > #include "exec.h" > -#include "helpers.h" > +#include "helper.h" > > #define SIGNBIT (uint32_t)0x80000000 > #define SIGNBIT64 ((uint64_t)1 << 63) > diff --git a/target-arm/op_helper.c b/target-arm/op_helper.c > index 3de2610..ee7286b 100644 > --- a/target-arm/op_helper.c > +++ b/target-arm/op_helper.c > @@ -17,7 +17,7 @@ > * License along with this library; if not, see <http://www.gnu.org/licenses/>. > */ > #include "exec.h" > -#include "helpers.h" > +#include "helper.h" > > #define SIGNBIT (uint32_t)0x80000000 > #define SIGNBIT64 ((uint64_t)1 << 63) > diff --git a/target-arm/translate.c b/target-arm/translate.c > index cf59d63..b401a76 100644 > --- a/target-arm/translate.c > +++ b/target-arm/translate.c > @@ -30,9 +30,9 @@ > #include "tcg-op.h" > #include "qemu-log.h" > > -#include "helpers.h" > +#include "helper.h" > #define GEN_HELPER 1 > -#include "helpers.h" > +#include "helper.h" > > #define ENABLE_ARCH_4T arm_feature(env, ARM_FEATURE_V4T) > #define ENABLE_ARCH_5 arm_feature(env, ARM_FEATURE_V5) > @@ -129,7 +129,7 @@ void arm_translate_init(void) > #endif > > #define GEN_HELPER 2 > -#include "helpers.h" > +#include "helper.h" > } > > static inline TCGv load_cpu_offset(int offset) > > > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 3/4] [m68k] trivial whitespace/indentation fixes 2011-04-13 16:38 [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h Lluís @ 2011-04-13 16:38 ` Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 4/4] [m68k] move helpers.h to helper.h Lluís 2011-04-13 17:16 ` [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Peter Maydell 3 siblings, 0 replies; 9+ messages in thread From: Lluís @ 2011-04-13 16:38 UTC (permalink / raw) To: qemu-devel; +Cc: aurelien Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- target-m68k/translate.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 038c0af..15a650e 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -3022,7 +3022,7 @@ gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO)) gen_io_start(); dc->insn_pc = dc->pc; - disas_m68k_insn(env, dc); + disas_m68k_insn(env, dc); num_insns++; } while (!dc->is_jmp && gen_opc_ptr < gen_opc_end && !env->singlestep_enabled && ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Qemu-devel] [PATCH 4/4] [m68k] move helpers.h to helper.h 2011-04-13 16:38 [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 3/4] [m68k] trivial whitespace/indentation fixes Lluís @ 2011-04-13 16:38 ` Lluís 2011-04-13 17:16 ` [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Peter Maydell 3 siblings, 0 replies; 9+ messages in thread From: Lluís @ 2011-04-13 16:38 UTC (permalink / raw) To: qemu-devel; +Cc: aurelien This provides a consistent naming scheme across all targets. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- target-m68k/helper.c | 2 +- target-m68k/helper.h | 54 +++++++++++++++++++++++++++++++++++++++++++++++ target-m68k/helpers.h | 54 ----------------------------------------------- target-m68k/op_helper.c | 2 +- target-m68k/translate.c | 6 +++-- 5 files changed, 59 insertions(+), 59 deletions(-) create mode 100644 target-m68k/helper.h delete mode 100644 target-m68k/helpers.h diff --git a/target-m68k/helper.c b/target-m68k/helper.c index 514b039..6dc275a 100644 --- a/target-m68k/helper.c +++ b/target-m68k/helper.c @@ -27,7 +27,7 @@ #include "qemu-common.h" #include "gdbstub.h" -#include "helpers.h" +#include "helper.h" #define SIGNBIT (1u << 31) diff --git a/target-m68k/helper.h b/target-m68k/helper.h new file mode 100644 index 0000000..cb8a0c7 --- /dev/null +++ b/target-m68k/helper.h @@ -0,0 +1,54 @@ +#include "def-helper.h" + +DEF_HELPER_1(bitrev, i32, i32) +DEF_HELPER_1(ff1, i32, i32) +DEF_HELPER_2(sats, i32, i32, i32) +DEF_HELPER_2(divu, void, env, i32) +DEF_HELPER_2(divs, void, env, i32) +DEF_HELPER_3(addx_cc, i32, env, i32, i32) +DEF_HELPER_3(subx_cc, i32, env, i32, i32) +DEF_HELPER_3(shl_cc, i32, env, i32, i32) +DEF_HELPER_3(shr_cc, i32, env, i32, i32) +DEF_HELPER_3(sar_cc, i32, env, i32, i32) +DEF_HELPER_2(xflag_lt, i32, i32, i32) +DEF_HELPER_2(set_sr, void, env, i32) +DEF_HELPER_3(movec, void, env, i32, i32) + +DEF_HELPER_2(f64_to_i32, f32, env, f64) +DEF_HELPER_2(f64_to_f32, f32, env, f64) +DEF_HELPER_2(i32_to_f64, f64, env, i32) +DEF_HELPER_2(f32_to_f64, f64, env, f32) +DEF_HELPER_2(iround_f64, f64, env, f64) +DEF_HELPER_2(itrunc_f64, f64, env, f64) +DEF_HELPER_2(sqrt_f64, f64, env, f64) +DEF_HELPER_1(abs_f64, f64, f64) +DEF_HELPER_1(chs_f64, f64, f64) +DEF_HELPER_3(add_f64, f64, env, f64, f64) +DEF_HELPER_3(sub_f64, f64, env, f64, f64) +DEF_HELPER_3(mul_f64, f64, env, f64, f64) +DEF_HELPER_3(div_f64, f64, env, f64, f64) +DEF_HELPER_3(sub_cmp_f64, f64, env, f64, f64) +DEF_HELPER_2(compare_f64, i32, env, f64) + +DEF_HELPER_3(mac_move, void, env, i32, i32) +DEF_HELPER_3(macmulf, i64, env, i32, i32) +DEF_HELPER_3(macmuls, i64, env, i32, i32) +DEF_HELPER_3(macmulu, i64, env, i32, i32) +DEF_HELPER_2(macsats, void, env, i32) +DEF_HELPER_2(macsatu, void, env, i32) +DEF_HELPER_2(macsatf, void, env, i32) +DEF_HELPER_2(mac_set_flags, void, env, i32) +DEF_HELPER_2(set_macsr, void, env, i32) +DEF_HELPER_2(get_macf, i32, env, i64) +DEF_HELPER_1(get_macs, i32, i64) +DEF_HELPER_1(get_macu, i32, i64) +DEF_HELPER_2(get_mac_extf, i32, env, i32) +DEF_HELPER_2(get_mac_exti, i32, env, i32) +DEF_HELPER_3(set_mac_extf, void, env, i32, i32) +DEF_HELPER_3(set_mac_exts, void, env, i32, i32) +DEF_HELPER_3(set_mac_extu, void, env, i32, i32) + +DEF_HELPER_2(flush_flags, void, env, i32) +DEF_HELPER_1(raise_exception, void, i32) + +#include "def-helper.h" diff --git a/target-m68k/helpers.h b/target-m68k/helpers.h deleted file mode 100644 index cb8a0c7..0000000 --- a/target-m68k/helpers.h +++ /dev/null @@ -1,54 +0,0 @@ -#include "def-helper.h" - -DEF_HELPER_1(bitrev, i32, i32) -DEF_HELPER_1(ff1, i32, i32) -DEF_HELPER_2(sats, i32, i32, i32) -DEF_HELPER_2(divu, void, env, i32) -DEF_HELPER_2(divs, void, env, i32) -DEF_HELPER_3(addx_cc, i32, env, i32, i32) -DEF_HELPER_3(subx_cc, i32, env, i32, i32) -DEF_HELPER_3(shl_cc, i32, env, i32, i32) -DEF_HELPER_3(shr_cc, i32, env, i32, i32) -DEF_HELPER_3(sar_cc, i32, env, i32, i32) -DEF_HELPER_2(xflag_lt, i32, i32, i32) -DEF_HELPER_2(set_sr, void, env, i32) -DEF_HELPER_3(movec, void, env, i32, i32) - -DEF_HELPER_2(f64_to_i32, f32, env, f64) -DEF_HELPER_2(f64_to_f32, f32, env, f64) -DEF_HELPER_2(i32_to_f64, f64, env, i32) -DEF_HELPER_2(f32_to_f64, f64, env, f32) -DEF_HELPER_2(iround_f64, f64, env, f64) -DEF_HELPER_2(itrunc_f64, f64, env, f64) -DEF_HELPER_2(sqrt_f64, f64, env, f64) -DEF_HELPER_1(abs_f64, f64, f64) -DEF_HELPER_1(chs_f64, f64, f64) -DEF_HELPER_3(add_f64, f64, env, f64, f64) -DEF_HELPER_3(sub_f64, f64, env, f64, f64) -DEF_HELPER_3(mul_f64, f64, env, f64, f64) -DEF_HELPER_3(div_f64, f64, env, f64, f64) -DEF_HELPER_3(sub_cmp_f64, f64, env, f64, f64) -DEF_HELPER_2(compare_f64, i32, env, f64) - -DEF_HELPER_3(mac_move, void, env, i32, i32) -DEF_HELPER_3(macmulf, i64, env, i32, i32) -DEF_HELPER_3(macmuls, i64, env, i32, i32) -DEF_HELPER_3(macmulu, i64, env, i32, i32) -DEF_HELPER_2(macsats, void, env, i32) -DEF_HELPER_2(macsatu, void, env, i32) -DEF_HELPER_2(macsatf, void, env, i32) -DEF_HELPER_2(mac_set_flags, void, env, i32) -DEF_HELPER_2(set_macsr, void, env, i32) -DEF_HELPER_2(get_macf, i32, env, i64) -DEF_HELPER_1(get_macs, i32, i64) -DEF_HELPER_1(get_macu, i32, i64) -DEF_HELPER_2(get_mac_extf, i32, env, i32) -DEF_HELPER_2(get_mac_exti, i32, env, i32) -DEF_HELPER_3(set_mac_extf, void, env, i32, i32) -DEF_HELPER_3(set_mac_exts, void, env, i32, i32) -DEF_HELPER_3(set_mac_extu, void, env, i32, i32) - -DEF_HELPER_2(flush_flags, void, env, i32) -DEF_HELPER_1(raise_exception, void, i32) - -#include "def-helper.h" diff --git a/target-m68k/op_helper.c b/target-m68k/op_helper.c index 0711107..c0698ff 100644 --- a/target-m68k/op_helper.c +++ b/target-m68k/op_helper.c @@ -17,7 +17,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ #include "exec.h" -#include "helpers.h" +#include "helper.h" #if defined(CONFIG_USER_ONLY) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 15a650e..8c424db 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -30,9 +30,9 @@ #include "tcg-op.h" #include "qemu-log.h" -#include "helpers.h" +#include "helper.h" #define GEN_HELPER 1 -#include "helpers.h" +#include "helper.h" //#define DEBUG_DISPATCH 1 @@ -111,7 +111,7 @@ void m68k_tcg_init(void) store_dummy = tcg_global_mem_new(TCG_AREG0, -8, "NULL"); #define GEN_HELPER 2 -#include "helpers.h" +#include "helper.h" } static inline void qemu_assert(int cond, const char *msg) ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes 2011-04-13 16:38 [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Lluís ` (2 preceding siblings ...) 2011-04-13 16:38 ` [Qemu-devel] [PATCH 4/4] [m68k] move helpers.h to helper.h Lluís @ 2011-04-13 17:16 ` Peter Maydell 2011-04-13 18:34 ` Aurelien Jarno 3 siblings, 1 reply; 9+ messages in thread From: Peter Maydell @ 2011-04-13 17:16 UTC (permalink / raw) To: Lluís; +Cc: qemu-devel, aurelien On 13 April 2011 17:38, Lluís <xscript@gmx.net> wrote: > Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> > --- > target-arm/helper.c | 246 ++++++++++++++++++++++---------------------- > target-arm/iwmmxt_helper.c | 28 +++-- > target-arm/translate.c | 26 ++--- > 3 files changed, 150 insertions(+), 150 deletions(-) My preference is not to do large-scale whitespace changes unless the code's being touched in that area anyway, so I'd prefer this not to be applied. (They make things painful for forks and branches, and they make git blame less useful; disadvantages outweigh the minor benefits of the cleanup IMHO.) -- PMM ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes 2011-04-13 17:16 ` [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Peter Maydell @ 2011-04-13 18:34 ` Aurelien Jarno 2011-04-13 20:06 ` Lluís 2011-04-13 20:09 ` Lluís 0 siblings, 2 replies; 9+ messages in thread From: Aurelien Jarno @ 2011-04-13 18:34 UTC (permalink / raw) To: Peter Maydell; +Cc: Lluís, qemu-devel On Wed, Apr 13, 2011 at 06:16:55PM +0100, Peter Maydell wrote: > On 13 April 2011 17:38, Lluís <xscript@gmx.net> wrote: > > Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> > > --- > > target-arm/helper.c | 246 ++++++++++++++++++++++---------------------- > > target-arm/iwmmxt_helper.c | 28 +++-- > > target-arm/translate.c | 26 ++--- > > 3 files changed, 150 insertions(+), 150 deletions(-) > > My preference is not to do large-scale whitespace changes > unless the code's being touched in that area anyway, so > I'd prefer this not to be applied. > > (They make things painful for forks and branches, and > they make git blame less useful; disadvantages outweigh > the minor benefits of the cleanup IMHO.) > I agree that this patch should not be applied. -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurelien@aurel32.net http://www.aurel32.net ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes 2011-04-13 18:34 ` Aurelien Jarno @ 2011-04-13 20:06 ` Lluís 2011-04-13 20:09 ` Lluís 1 sibling, 0 replies; 9+ messages in thread From: Lluís @ 2011-04-13 20:06 UTC (permalink / raw) To: qemu-devel Aurelien Jarno writes: > On Wed, Apr 13, 2011 at 06:16:55PM +0100, Peter Maydell wrote: >> On 13 April 2011 17:38, Lluís <xscript@gmx.net> wrote: >> > Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> >> > --- >> > target-arm/helper.c | 246 ++++++++++++++++++++++---------------------- >> > target-arm/iwmmxt_helper.c | 28 +++-- >> > target-arm/translate.c | 26 ++--- >> > 3 files changed, 150 insertions(+), 150 deletions(-) >> >> My preference is not to do large-scale whitespace changes >> unless the code's being touched in that area anyway, so >> I'd prefer this not to be applied. >> >> (They make things painful for forks and branches, and >> they make git blame less useful; disadvantages outweigh >> the minor benefits of the cleanup IMHO.) >> > I agree that this patch should not be applied. Damned the day I decided to setup automatic whitespace and indentation cleanup on my editor :) Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes 2011-04-13 18:34 ` Aurelien Jarno 2011-04-13 20:06 ` Lluís @ 2011-04-13 20:09 ` Lluís 1 sibling, 0 replies; 9+ messages in thread From: Lluís @ 2011-04-13 20:09 UTC (permalink / raw) To: qemu-devel; +Cc: Aurelien Jarno Aurelien Jarno writes: > On Wed, Apr 13, 2011 at 06:16:55PM +0100, Peter Maydell wrote: >> On 13 April 2011 17:38, Lluís <xscript@gmx.net> wrote: >> > Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> >> > --- >> > target-arm/helper.c | 246 ++++++++++++++++++++++---------------------- >> > target-arm/iwmmxt_helper.c | 28 +++-- >> > target-arm/translate.c | 26 ++--- >> > 3 files changed, 150 insertions(+), 150 deletions(-) >> >> My preference is not to do large-scale whitespace changes >> unless the code's being touched in that area anyway, so >> I'd prefer this not to be applied. >> >> (They make things painful for forks and branches, and >> they make git blame less useful; disadvantages outweigh >> the minor benefits of the cleanup IMHO.) >> > I agree that this patch should not be applied. BTW, the next patch applies nicely without this one, so I'm assuming you don't need me to re-send anything. Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-04-18 19:18 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-13 16:38 [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 2/4] [arm] move helpers.h to helper.h Lluís 2011-04-18 19:18 ` Aurelien Jarno 2011-04-13 16:38 ` [Qemu-devel] [PATCH 3/4] [m68k] trivial whitespace/indentation fixes Lluís 2011-04-13 16:38 ` [Qemu-devel] [PATCH 4/4] [m68k] move helpers.h to helper.h Lluís 2011-04-13 17:16 ` [Qemu-devel] [PATCH 1/4] [arm] trivial whitespace/indentation fixes Peter Maydell 2011-04-13 18:34 ` Aurelien Jarno 2011-04-13 20:06 ` Lluís 2011-04-13 20:09 ` Lluís
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).