qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [PATCH v1 03/12] target/arm: Decode aa64 armv8.1 scalar t


From: Richard Henderson
Subject: Re: [Qemu-arm] [PATCH v1 03/12] target/arm: Decode aa64 armv8.1 scalar three same extra
Date: Tue, 14 Nov 2017 09:44:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

On 11/13/2017 05:30 PM, Alex Bennée wrote:
>>  DEF_HELPER_3(neon_qdmulh_s16, i32, env, i32, i32)
>>  DEF_HELPER_3(neon_qrdmulh_s16, i32, env, i32, i32)
>> +DEF_HELPER_4(neon_qrdmlah_s16, i32, env, i32, i32, i32)
>> +DEF_HELPER_4(neon_qrdmlsh_s16, i32, env, i32, i32, i32)
>>  DEF_HELPER_3(neon_qdmulh_s32, i32, env, i32, i32)
>>  DEF_HELPER_3(neon_qrdmulh_s32, i32, env, i32, i32)
>> +DEF_HELPER_4(neon_qrdmlah_s32, i32, env, s32, s32, s32)
>> +DEF_HELPER_4(neon_qrdmlsh_s32, i32, env, s32, s32, s32)
> 
> Hmm are these really NEON or should they be advsimd_qrdm....?

Same thing.  It seemed nicer to keep the naming consistent.
Probably when we rewrite for SVE we will rename them all...

>> +    switch (opcode) {
>> +    case 0x0: /* SQRDMLAH (vector) */
>> +    case 0x1: /* SQRDMLSH (vector) */
>> +        if (size != 1 && size != 2) {
>> +            unallocated_encoding(s);
>> +            return;
>> +        }
>> +        feature = ARM_FEATURE_V8_1_SIMD;
>> +        break;
>> +    default:
>> +        unallocated_encoding(s);
>> +        return;
>> +    }
>> +
>> +    if (!arm_dc_feature(s, feature)) {
>> +        unallocated_encoding(s);
>> +        return;
>> +    }
> 
> I guess this is because we are expecting additional features to be added
> to the encoding space...

Yes.

>> diff --git a/target/arm/Makefile.objs b/target/arm/Makefile.objs
>> index 847fb52ee0..c2d32988f9 100644
>> --- a/target/arm/Makefile.objs
>> +++ b/target/arm/Makefile.objs
>> @@ -5,7 +5,7 @@ obj-$(call land,$(CONFIG_KVM),$(call 
>> lnot,$(TARGET_AARCH64))) += kvm32.o
>>  obj-$(call land,$(CONFIG_KVM),$(TARGET_AARCH64)) += kvm64.o
>>  obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o
>>  obj-y += translate.o op_helper.o helper.o cpu.o
>> -obj-y += neon_helper.o iwmmxt_helper.o
>> +obj-y += neon_helper.o iwmmxt_helper.o advsimd_helper.o
> 
> Given this is AArch64 only it makes me wonder if we should be using 
> helper-a64.h?

It isn't aarch64 only.  The aarch32 part is patch 6.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]