> >> > 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


But what if the compiler generates NEON instructions for stringops when the 
NEON hardware is disabled? 
So this kind of optimizations depend on the command line option such as 
--with-float=hard, right? 
Thanks

Reply via email to