[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 31/42] target-ppc: add GEN_VAFORM_PAIRED macro for s
From: |
Nathan Froyd |
Subject: |
[Qemu-devel] [PATCH 31/42] target-ppc: add GEN_VAFORM_PAIRED macro for subsequent instructions. |
Date: |
Sun, 14 Dec 2008 18:15:04 -0800 |
Signed-off-by: Nathan Froyd <address@hidden>
---
target-ppc/translate.c | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 0ed504b..d77ddaf 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -6419,6 +6419,29 @@ GEN_HANDLER(vsldoi, 0x04, 0x16, 0xFF, 0x00000400,
PPC_ALTIVEC)
tcg_temp_free(sh);
}
+#define GEN_VAFORM_PAIRED(name0, name1, xo) \
+ GEN_HANDLER(name0##_##name1, 0x04, xo>>1, 0xFF, 0x00000000, PPC_ALTIVEC) \
+ { \
+ TCGv_ptr ra, rb, rc, rd; \
+ if (unlikely(!ctx->altivec_enabled)) { \
+ gen_exception(ctx, POWERPC_EXCP_VPU); \
+ return; \
+ } \
+ ra = gen_avr_ptr(rA(ctx->opcode)); \
+ rb = gen_avr_ptr(rB(ctx->opcode)); \
+ rc = gen_avr_ptr(rC(ctx->opcode)); \
+ rd = gen_avr_ptr(rD(ctx->opcode)); \
+ if (Rc(ctx->opcode)) { \
+ gen_helper_##name1 (rd, ra, rb, rc); \
+ } else { \
+ gen_helper_##name0 (rd, ra, rb, rc); \
+ } \
+ tcg_temp_free (ra); \
+ tcg_temp_free (rb); \
+ tcg_temp_free (rc); \
+ tcg_temp_free (rd); \
+ }
+
/*** SPE extension ***/
/* Register moves */
--
1.6.0.5
- Re: [Qemu-devel] [PATCH 06/42] target-ppc: add signed fields to ppc_avr_t., (continued)
- [Qemu-devel] [PATCH 07/42] target-ppc: add vavg{s, u}{b, h, w} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 10/42] target-ppc: add vcmpequ{b, h, w} and vcmpgt{s, u}{b, h, w} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 12/42] target-ppc: add vmrg{l, h}{b, h, w} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 14/42] target-ppc: add vsr{, a}{b, h, w} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 17/42] target-ppc: add v{add, sub}cuw instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 18/42] target-ppc: add lvs{l,r} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 19/42] target-ppc: add m{f, t}vscr instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 23/42] target-ppc: add vsldoi instruction., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 28/42] target-ppc: add GEN_VXFORM_NOA macro for subsequent instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 31/42] target-ppc: add GEN_VAFORM_PAIRED macro for subsequent instructions.,
Nathan Froyd <=
- [Qemu-devel] [PATCH 35/42] target-ppc: add vpks{h, w}{s, u}s, vpku{h, w}us, and vpku{h, w}um instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 39/42] target-ppc: add vmsumsh{m, s} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 42/42] target-ppc: add vsumsws, vsum2sws, and vsum4{sbs, shs, ubs} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 02/42] target-ppc: add helper macros for later patches., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 08/42] target-ppc: add v{min, max}{s, u}{b, h, w} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 13/42] target-ppc: add vmul{e, o}{s, u}{b, h} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 21/42] target-ppc: add vrl{b, h, w} instructions., Nathan Froyd, 2008/12/14
- [Qemu-devel] [PATCH 26/42] target-ppc: add GEN_VXFORM_UIMM macro for subsequent instructions., Nathan Froyd, 2008/12/14
- Prev by Date:
[Qemu-devel] [PATCH 28/42] target-ppc: add GEN_VXFORM_NOA macro for subsequent instructions.
- Next by Date:
[Qemu-devel] [PATCH 35/42] target-ppc: add vpks{h, w}{s, u}s, vpku{h, w}us, and vpku{h, w}um instructions.
- Previous by thread:
[Qemu-devel] [PATCH 28/42] target-ppc: add GEN_VXFORM_NOA macro for subsequent instructions.
- Next by thread:
[Qemu-devel] [PATCH 35/42] target-ppc: add vpks{h, w}{s, u}s, vpku{h, w}us, and vpku{h, w}um instructions.
- Index(es):