[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 29/40] Add GEN_VAFORM_PAIRED macro for subsequent in
From: |
Nathan Froyd |
Subject: |
[Qemu-devel] [PATCH 29/40] Add GEN_VAFORM_PAIRED macro for subsequent instructions. |
Date: |
Tue, 30 Dec 2008 19:10:11 -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 17784d7..94086b3 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -6445,6 +6445,29 @@ GEN_HANDLER(vsldoi, 0x04, 0x16, 0xFF, 0x00000400,
PPC_ALTIVEC)
tcg_temp_free(sh);
}
+#define GEN_VAFORM_PAIRED(name0, name1, opc2) \
+ GEN_HANDLER(name0##_##name1, 0x04, opc2, 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_ptr(ra); \
+ tcg_temp_free_ptr(rb); \
+ tcg_temp_free_ptr(rc); \
+ tcg_temp_free_ptr(rd); \
+ }
+
/*** SPE extension ***/
/* Register moves */
--
1.6.0.5
- [Qemu-devel] [PATCH] target-ppc: add integer Altivec instructions, take 2, Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 09/40] Add vscr access macros., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 15/40] Add v{add,sub}cuw instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 20/40] Add vs{l,r} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 25/40] Add vsplt{b,h,w} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 37/40] Add vmsumsh{m,s} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 31/40] Add vsel and vperm instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 04/40] Add v{add,sub}u{b,h,w}m instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 10/40] Add vmrg{l,h}{b,h,w} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 12/40] Add vsr{,a}{b,h,w} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 29/40] Add GEN_VAFORM_PAIRED macro for subsequent instructions.,
Nathan Froyd <=
- [Qemu-devel] [PATCH 02/40] Add helper macros for later patches., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 11/40] Add vmul{e,o}{s,u}{b,h} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 16/40] Add lvs{l,r} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 22/40] Add GEN_VXFORM_SIMM macro for subsequent instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 39/40] Add {l,st}ve{b,h,w}x instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 01/40] Fix TCG error in gen_avr_ptr., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 18/40] Add v{add, sub}{s, u}{b, h, w}s instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 27/40] Add vupk{h,l}px instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 28/40] Add vupk{h,l}s{b,h} instructions., Nathan Froyd, 2008/12/30
- [Qemu-devel] [PATCH 40/40] Add vsumsws, vsum2sws, and vsum4{sbs, shs, ubs} instructions., Nathan Froyd, 2008/12/30