[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [V3 PATCH 02/14] target-ppc: Add ISA2.06 bpe
From: |
Richard Henderson |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [V3 PATCH 02/14] target-ppc: Add ISA2.06 bpermd Instruction |
Date: |
Mon, 30 Dec 2013 06:48:53 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
On 12/27/2013 04:23 PM, Scott Wood wrote:
> On Tue, 2013-12-24 at 07:17 -0800, Richard Henderson wrote:
>> On 12/18/2013 12:48 PM, Tom Musta wrote:
>>> +DEF_HELPER_3(bpermd, i64, env, i64, i64)
>>
>> Should be DEF_HELPER_FLAGS_2(bpermd, TCG_CALL_NO_RWG_SE, i64, i64, i64)
>>
>>> +uint64_t helper_bpermd(CPUPPCState *env, uint64_t rs, uint64_t rb)
>>> +{
>>> + int i;
>>> + uint64_t ra = 0;
>>> +
>>> + for (i = 0; i < 8; i++) {
>>> + int index = (rs >> (i*8)) & 0xFF;
>>> + if (index < 64) {
>>> + if (rb & (1ul << (63-index))) {
>>> + ra |= 1 << i;
>>> + }
>>> + }
>>> + }
>>> + return ra;
>>> +}
>>> +
>>
>> You don't need env as an argument; it's unused.
>>
>> Why is all of this specific to ppc64? Can't you run an ISA2.06B machine in
>> 32-bit mode?
>
> bpermd is a 64-bit instruction. 32-bit implementations do not have it.
What has that got to do with running a 64-bit chip in 32-bit mode?
r~
Re: [Qemu-ppc] [Qemu-devel] [V3 PATCH 02/14] target-ppc: Add ISA2.06 bpermd Instruction, Scott Wood, 2013/12/27
[Qemu-ppc] [V3 PATCH 04/14] target-ppc: Add ISA2.06 divde[o] Instructions, Tom Musta, 2013/12/18
[Qemu-ppc] [V3 PATCH 01/14] target-ppc: Add Flag for Power ISA V2.06, Tom Musta, 2013/12/18
[Qemu-ppc] [V3 PATCH 06/14] target-ppc: Add ISA2.06 lbarx, lharx Instructions, Tom Musta, 2013/12/18
[Qemu-ppc] [V3 PATCH 05/14] target-ppc: Add ISA 2.06 divwe[u][o] Instructions, Tom Musta, 2013/12/18