On Thu, Nov 13, 2014 at 3:04 PM, Yangfei (Felix) <felix.y...@huawei.com> wrote:
>> On Thu, Nov 13, 2014 at 2:33 PM, Yangfei (Felix) <felix.y...@huawei.com>
>> wrote:
>> >> Hi,
>> >> As commented at
>> >> https://gcc.gnu.org/ml/gcc-patches/2014-09/msg00684.html,
>> >> this is a simple patch enabling neon memset inlining on
>> >> cortex-a53/cortex-a57 in AArch32 mode.
>> >>
>> >> Test on
>> >> arm-none-linux-gnueabihf/--with-cpu=cortex-a57/--with-fpu=crypto-neon
>> >> -fp-ar
>> >> m
>> >> v8/--with-float=hard.  I will further collect benchmark data, see if
>> >> there is regression.
>> >>
>> >> Is it ok if benchmark results are good?
>> >>
>> >> 2014-11-13  Bin Cheng  <bin.ch...@arm.com>
>> >>
>> >>       * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune):
>> >> Prefer
>> >>       neon for stringops on cortex-a53/a57 in AArch32 mode.
>> >
>> >
>> > Just curious about this.  Can we make sure that FPAdvSIMD are always
>> enabled?
>> >
>>
>> I am not sure I understand correct, do you mean enable options like below
>> default?
>> --with-fpu=crypto-neon-fp-armv8/--with-float=hard
>>
>> Thanks,
>> bin
>
>
> I mean the NEON hardware.  The processor checks if the FPAdvSIMD is enabled 
> when executing an NEON instruction.
>
> aarch64/exceptions/traps/functions/AArch64.CheckFPAdvSIMDEnabled
> // AArch64.CheckFPAdvSIMDEnabled()
> // ===============================
> // Check against CPACR_EL1.
> AArch64.CheckFPAdvSIMDEnabled()
> if PSTATE.EL IN {EL0, EL1} then
> // Check if access disabled in CPACR_EL1
> case CPACR_EL1.FPEN of
> when 'x0' disabled = TRUE;
> when '01' disabled = PSTATE.EL == EL0;
> when '11' disabled = FALSE;
> if disabled then AArch64.AdvSIMDFPAccessTrap(EL1);
> AArch64.CheckFPAdvSIMDTrap(); // Also check against CPTR_EL2 and CPTR_EL3
>

Oh,  this is a question that compiler/software engineers don't have
the answer.  Also it's inappropriate for gcc mailing list.  Sorry.

Thanks,
bin

Reply via email to