diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-07 18:19:26 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-07 18:19:26 +0000 |
commit | a9d9eb8fd45279fa8455afa03331296dbe2871ff (patch) | |
tree | d32a32eac9b264f949eb0ea84e1ca6cb7c8f30db /target-ppc/cpu.h | |
parent | b33c17e12d1af68a5733094f33578847379ed892 (diff) |
Implement PowerPC Altivec load & stores, used by Apple firmware for memcpy.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3349 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/cpu.h')
-rw-r--r-- | target-ppc/cpu.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/target-ppc/cpu.h b/target-ppc/cpu.h index ef70fa0347..9cbd1c9aa5 100644 --- a/target-ppc/cpu.h +++ b/target-ppc/cpu.h @@ -292,7 +292,7 @@ typedef struct CPUPPCState CPUPPCState; typedef struct ppc_tb_t ppc_tb_t; typedef struct ppc_spr_t ppc_spr_t; typedef struct ppc_dcr_t ppc_dcr_t; -typedef struct ppc_avr_t ppc_avr_t; +typedef union ppc_avr_t ppc_avr_t; typedef union ppc_tlb_t ppc_tlb_t; /* SPR access micro-ops generations callbacks */ @@ -311,8 +311,11 @@ struct ppc_spr_t { }; /* Altivec registers (128 bits) */ -struct ppc_avr_t { - uint32_t u[4]; +union ppc_avr_t { + uint8_t u8[16]; + uint16_t u16[8]; + uint32_t u32[4]; + uint64_t u64[2]; }; /* Software TLB cache */ @@ -454,7 +457,7 @@ struct CPUPPCState { */ ppc_gpr_t t0, t1, t2; #endif - ppc_avr_t t0_avr, t1_avr, t2_avr; + ppc_avr_t avr0, avr1, avr2; /* general purpose registers */ ppc_gpr_t gpr[32]; |