* [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).