[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