[U-Boot] [PATCH 1/2] armv8: apply -mgeneral-regs-only

Dr. Philipp Tomsich philipp.tomsich at theobroma-systems.com
Wed Jul 5 09:38:49 UTC 2017


> On 05 Jul 2017, at 10:59, Peng Fan <peng.fan at nxp.com> wrote:
> 
>> I just tested the “armv8-a+nosimd” specification on (configured as aarch64-*-
>> linux-gnueabi) 4.9.1, 4.9.3, 5.4.0, 6.3.0 and (configured as aarch64-*-elf) 6.3.0
>> and 7.1.0… …unfortunately this was all that I could find installed on our target
>> systems.
>> 
> 
> Then did you see simd registers are used?

I used some of our compiler tests for vectorisable code and verified the assembly
output: the compiler didn’t try to vectorise and also emitted an assembler directive
that would trigger an assembler error on AdvSIMD instructions.

To check with the U-Boot source, I’ll have to dig a bit deeper and get the full set
of toolchain versions set up in my U-Boot development environment.  However,
I plan to do so in the near future to make sure that we don’t encounter any
surprises when moving to GCC-6.3 for next year’s releases.

>>> There is still "str     q0, [x29,#112] ".  If I use armv8-a+nofp, there is no
>>> such instructions. Then, do you agree using " armv8-a+nofp “?
>> 
>> I don’t mind if we go with +nofp, but I would like to understand how it comes
>> that your GCC differs from the FSF-released GCC source tree… this worries me
>> a bit, as users might encounter similar differences in the field.
> 
> I tried yocto 6.2.0 and android 4.9.x toolchain, both could generate instructions that use
> simd registers, not simd instructions.

Thanks, I’ll take a closer look.

Phil.


More information about the U-Boot mailing list