Commit de5f248499bbaee01f25e6a48ad5bb9d3c49961e
1 parent
e4e6bee7
Add GEN_VXFORM_NOA macro for subsequent instructions.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6175 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
15 additions
and
0 deletions
target-ppc/translate.c
... | ... | @@ -6274,6 +6274,21 @@ GEN_VXFORM(vrlb, 2, 0); |
6274 | 6274 | GEN_VXFORM(vrlh, 2, 1); |
6275 | 6275 | GEN_VXFORM(vrlw, 2, 2); |
6276 | 6276 | |
6277 | +#define GEN_VXFORM_NOA(name, opc2, opc3) \ | |
6278 | + GEN_HANDLER(name, 0x04, opc2, opc3, 0x001f0000, PPC_ALTIVEC) \ | |
6279 | + { \ | |
6280 | + TCGv_ptr rb, rd; \ | |
6281 | + if (unlikely(!ctx->altivec_enabled)) { \ | |
6282 | + gen_exception(ctx, POWERPC_EXCP_VPU); \ | |
6283 | + return; \ | |
6284 | + } \ | |
6285 | + rb = gen_avr_ptr(rB(ctx->opcode)); \ | |
6286 | + rd = gen_avr_ptr(rD(ctx->opcode)); \ | |
6287 | + gen_helper_##name (rd, rb); \ | |
6288 | + tcg_temp_free_ptr(rb); \ | |
6289 | + tcg_temp_free_ptr(rd); \ | |
6290 | + } | |
6291 | + | |
6277 | 6292 | #define GEN_VXFORM_SIMM(name, opc2, opc3) \ |
6278 | 6293 | GEN_HANDLER(name, 0x04, opc2, opc3, 0x00000000, PPC_ALTIVEC) \ |
6279 | 6294 | { \ | ... | ... |