mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-09-14 18:07:16 +00:00
target/arm: Move gen_ function typedefs to translate.h
We're going to want at least some of the NeonGen* typedefs for the refactored 32-bit Neon decoder, so move them all to translate.h since it makes more sense to keep them in one group. Backports commit 9aefc6cf9b73f66062d2f914a0136756e7a28211 from qemu
This commit is contained in:
parent
652165d671
commit
d350125eab
|
@ -61,23 +61,6 @@ typedef struct AArch64DecodeTable {
|
||||||
AArch64DecodeFn *disas_fn;
|
AArch64DecodeFn *disas_fn;
|
||||||
} AArch64DecodeTable;
|
} AArch64DecodeTable;
|
||||||
|
|
||||||
/* Function prototype for gen_ functions for calling Neon helpers */
|
|
||||||
typedef void NeonGenOneOpEnvFn(TCGContext *t, TCGv_i32, TCGv_ptr, TCGv_i32);
|
|
||||||
typedef void NeonGenTwoOpFn(TCGContext *t, TCGv_i32, TCGv_i32, TCGv_i32);
|
|
||||||
typedef void NeonGenTwoOpEnvFn(TCGContext *t, TCGv_i32, TCGv_ptr, TCGv_i32, TCGv_i32);
|
|
||||||
typedef void NeonGenTwo64OpFn(TCGContext *t, TCGv_i64, TCGv_i64, TCGv_i64);
|
|
||||||
typedef void NeonGenTwo64OpEnvFn(TCGContext *t, TCGv_i64, TCGv_ptr, TCGv_i64, TCGv_i64);
|
|
||||||
typedef void NeonGenNarrowFn(TCGContext *t, TCGv_i32, TCGv_i64);
|
|
||||||
typedef void NeonGenNarrowEnvFn(TCGContext *t, TCGv_i32, TCGv_ptr, TCGv_i64);
|
|
||||||
typedef void NeonGenWidenFn(TCGContext *t, TCGv_i64, TCGv_i32);
|
|
||||||
typedef void NeonGenTwoSingleOPFn(TCGContext *t, TCGv_i32, TCGv_i32, TCGv_i32, TCGv_ptr);
|
|
||||||
typedef void NeonGenTwoDoubleOPFn(TCGContext *t, TCGv_i64, TCGv_i64, TCGv_i64, TCGv_ptr);
|
|
||||||
typedef void NeonGenOneOpFn(TCGContext *t, TCGv_i64, TCGv_i64);
|
|
||||||
typedef void CryptoTwoOpFn(TCGContext *, TCGv_ptr, TCGv_ptr);
|
|
||||||
typedef void CryptoThreeOpIntFn(TCGContext *, TCGv_ptr, TCGv_ptr, TCGv_i32);
|
|
||||||
typedef void CryptoThreeOpFn(TCGContext *, TCGv_ptr, TCGv_ptr, TCGv_ptr);
|
|
||||||
typedef void AtomicThreeOpFn(TCGContext *, TCGv_i64, TCGv_i64, TCGv_i64, TCGArg, MemOp);
|
|
||||||
|
|
||||||
/* initialize TCG globals. */
|
/* initialize TCG globals. */
|
||||||
void a64_translate_init(struct uc_struct *uc)
|
void a64_translate_init(struct uc_struct *uc)
|
||||||
{
|
{
|
||||||
|
|
|
@ -321,4 +321,21 @@ typedef void GVecGen3Fn(TCGContext *, unsigned, uint32_t, uint32_t,
|
||||||
typedef void GVecGen4Fn(TCGContext *, unsigned, uint32_t, uint32_t, uint32_t,
|
typedef void GVecGen4Fn(TCGContext *, unsigned, uint32_t, uint32_t, uint32_t,
|
||||||
uint32_t, uint32_t, uint32_t);
|
uint32_t, uint32_t, uint32_t);
|
||||||
|
|
||||||
|
/* Function prototype for gen_ functions for calling Neon helpers */
|
||||||
|
typedef void NeonGenOneOpEnvFn(TCGContext *t, TCGv_i32, TCGv_ptr, TCGv_i32);
|
||||||
|
typedef void NeonGenTwoOpFn(TCGContext *t, TCGv_i32, TCGv_i32, TCGv_i32);
|
||||||
|
typedef void NeonGenTwoOpEnvFn(TCGContext *t, TCGv_i32, TCGv_ptr, TCGv_i32, TCGv_i32);
|
||||||
|
typedef void NeonGenTwo64OpFn(TCGContext *t, TCGv_i64, TCGv_i64, TCGv_i64);
|
||||||
|
typedef void NeonGenTwo64OpEnvFn(TCGContext *t, TCGv_i64, TCGv_ptr, TCGv_i64, TCGv_i64);
|
||||||
|
typedef void NeonGenNarrowFn(TCGContext *t, TCGv_i32, TCGv_i64);
|
||||||
|
typedef void NeonGenNarrowEnvFn(TCGContext *t, TCGv_i32, TCGv_ptr, TCGv_i64);
|
||||||
|
typedef void NeonGenWidenFn(TCGContext *t, TCGv_i64, TCGv_i32);
|
||||||
|
typedef void NeonGenTwoSingleOPFn(TCGContext *t, TCGv_i32, TCGv_i32, TCGv_i32, TCGv_ptr);
|
||||||
|
typedef void NeonGenTwoDoubleOPFn(TCGContext *t, TCGv_i64, TCGv_i64, TCGv_i64, TCGv_ptr);
|
||||||
|
typedef void NeonGenOneOpFn(TCGContext *t, TCGv_i64, TCGv_i64);
|
||||||
|
typedef void CryptoTwoOpFn(TCGContext *, TCGv_ptr, TCGv_ptr);
|
||||||
|
typedef void CryptoThreeOpIntFn(TCGContext *, TCGv_ptr, TCGv_ptr, TCGv_i32);
|
||||||
|
typedef void CryptoThreeOpFn(TCGContext *, TCGv_ptr, TCGv_ptr, TCGv_ptr);
|
||||||
|
typedef void AtomicThreeOpFn(TCGContext *, TCGv_i64, TCGv_i64, TCGv_i64, TCGArg, MemOp);
|
||||||
|
|
||||||
#endif /* TARGET_ARM_TRANSLATE_H */
|
#endif /* TARGET_ARM_TRANSLATE_H */
|
||||||
|
|
Loading…
Reference in a new issue