diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-12 01:56:18 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-12 01:56:18 +0000 |
commit | 3cd7d1ddbba67a79854ea258cdf3a07eb0ad5136 (patch) | |
tree | 5dee929d68c3c96baae508887156292d975cbe82 /target-ppc/op_helper.c | |
parent | a73666f6564e17adcae2908f7b52d42de2ff5211 (diff) |
Allow use of SPE extension by all PowerPC targets,
adding gprh registers to store GPR MSBs when GPRs are 32 bits.
Remove not-needed-anymore ppcemb-linux-user target.
Keep ppcemb-softmmu target, which provides 1kB pages support
and 36 bits physical address space.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3628 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/op_helper.c')
-rw-r--r-- | target-ppc/op_helper.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index 68e90ceb57..1dde1a18c9 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -1853,7 +1853,6 @@ void do_440_dlmzb (void) T0 = i; } -#if defined(TARGET_PPCEMB) /* SPE extension helpers */ /* Use a table to make this quicker */ static uint8_t hbrev[16] = { @@ -1872,16 +1871,16 @@ static always_inline uint32_t word_reverse (uint32_t val) (byte_reverse(val >> 8) << 16) | (byte_reverse(val) << 24); } -#define MASKBITS 16 // Random value - to be fixed +#define MASKBITS 16 // Random value - to be fixed (implementation dependant) void do_brinc (void) { uint32_t a, b, d, mask; - mask = UINT32_MAX >> MASKBITS; - b = T1_64 & mask; - a = T0_64 & mask; - d = word_reverse(1 + word_reverse(a | ~mask)); - T0_64 = (T0_64 & ~mask) | (d & mask); + mask = UINT32_MAX >> (32 - MASKBITS); + a = T0 & mask; + b = T1 & mask; + d = word_reverse(1 + word_reverse(a | ~b)); + T0 = (T0 & ~mask) | (d & b); } #define DO_SPE_OP2(name) \ @@ -2713,7 +2712,6 @@ DO_SPE_OP1(fsctuiz); DO_SPE_OP1(fsctsf); /* evfsctuf */ DO_SPE_OP1(fsctuf); -#endif /* defined(TARGET_PPCEMB) */ /*****************************************************************************/ /* Softmmu support */ |