[U-Boot] [PATCH 1/2] armv8: apply -mgeneral-regs-only
Dr. Philipp Tomsich
philipp.tomsich at theobroma-systems.com
Wed Jul 5 08:37:36 UTC 2017
> On 05 Jul 2017, at 03:23, Peng Fan <peng.fan at nxp.com> wrote:
>
>
>
>> -----Original Message-----
>> From: Tom Rini [mailto:trini at konsulko.com]
>> Sent: Wednesday, July 05, 2017 3:38 AM
>> To: Dr. Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>> Cc: Peng Fan <peng.fan at nxp.com>; u-boot at lists.denx.de
>> Subject: Re: [U-Boot] [PATCH 1/2] armv8: apply -mgeneral-regs-only
>>
>> On Tue, Jul 04, 2017 at 06:38:10PM +0200, Dr. Philipp Tomsich wrote:
>>> Tom,
>>>
>>> Please note that some GCC versions had a code-generation bug when
>>> -mgeneral-regs-only was used (we hit this for a customer in a vendor
>>> GCC we maintain):
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64304
>>>
>>> Until everyone upgrades to a recently recent GCC (or until UBoot
>>> enforces this next January), some people may hit hard-to-reproduce
>>> issues.
>>>
>>> A better way to suppress SIMD generation would be to use:
>>> -march=armv8-a+nosimd
>>
>> Ah, good to know. Peng, please re-spin.
>
> According to https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html,
> There is no +nosimd for armv8-a. I also tried +nosimd,
This is odd. When you look at
gcc/config/aarch64/aarch64-option-extensions.def
the “simd” option was there since the beginning of time for AArch64 (e.g. on the
gcc_4.8-branch — see https://github.com/gcc-mirror/gcc/blob/gcc-4_8-branch/gcc/config/aarch64/aarch64-option-extensions.def)
and is still there today (see https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64-option-extensions.def)
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.
> 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.
> Thanks,
> Peng.
>
>>
>>>
>>> Regards,
>>> Philipp.
>>>
>>>> On 04 Jul 2017, at 15:32, Tom Rini <trini at konsulko.com> wrote:
>>>>
>>>> On Mon, Jul 03, 2017 at 09:14:07PM +0800, Peng Fan wrote:
>>>>
>>>>> Pass -mgeneral-regs-only to GCC, if not compiler may generate
>>>>> instructions that use SIMD registers.
>>>>>
>>>>> Signed-off-by: Peng Fan <peng.fan at nxp.com>
>>>>> Cc: Albert Aribaud <albert.u.boot at aribaud.net>
>>>>> Cc: Tom Rini <trini at konsulko.com>
>>>>
>>>> Reviewed-by: Tom Rini <trini at konsulko.com>
>>>>
>>>> --
>>>> Tom
>>>> _______________________________________________
>>>> U-Boot mailing list
>>>> U-Boot at lists.denx.de
>>>> https://lists.denx.de/listinfo/u-boot
>>>
>>
>> --
>> Tom
More information about the U-Boot
mailing list