On Fri, Aug 03, 2018 at 10:02:17AM -0500, Adam Ford wrote: > On Fri, Aug 3, 2018 at 10:00 AM Tom Rini <tr...@konsulko.com> wrote: > > > > On Fri, Aug 03, 2018 at 05:43:46AM -0500, Adam Ford wrote: > > > On Tue, Jul 25, 2017 at 11:08 AM Tom Rini <tr...@konsulko.com> wrote: > > > > > > > > On Tue, Jul 25, 2017 at 08:14:57AM -0500, Adam Ford wrote: > > > > > > > > > The readme file for OMAP indicates that we compile using armv5 to "to > > > > > allow more compilers to work" > > > > > > > > > > We have our arch/arm/mach-omap2/omap3/lowlevel_init.S file also noting > > > > > some special assembly insturctions becuse we use armv5. The barriers > > > > > defined also indicate we're using CP15 instead of the separate barrier > > > > > instructions for armv7 because we're using armv5 instead. > > > > > > > > > > I just wonder in this day and age when we're noting a GCC version and > > > > > generating warnings based on the GCC warning, do we still need to > > > > > compile as armv5 any more? It seems like "to allow more compilers to > > > > > work" would not really apply any more we're trying to push newer > > > > > versions of GCC. > > > > > > > > So, these are historical notes that really should be corrected. > > > > Initially, when ARMv7 support was added, most people did not have > > > > compilers new enough to recognize -march=armv7-a. We still even support > > > > them, see the logic in arch/arm/Makefile around CONFIG_CPU_V7 (the > > > > options are any sort of modern gcc, llvm, ancient gcc). When we move to > > > > gcc-6 being the oldest gcc supported for ARM we can fixup those comments > > > > and logic as well. > > > > > > My understanding is that we've made the requirement for GCC 6 now. I > > > just pushed a patch which enabled mtune=armv7-a-generic when > > > CONFIG_CPU_V7A is enabled and that seems to shrink the code a bit on > > > omap3_logic. Does it make sense to remove the , -march=armv5 from > > > arch/arm/Makefile and or the plain -march=armv7 since CONFIG_CPU_V7A > > > implies armv-a? > > > > Yes, we can probably at least drop the v5 portion of that logic. As > > noted in the other patch, LLVM and GCC disagree on "armv7" vs "armv7-a" > > as being the appropriate name, or at least did in the past. > > Can you point me to an example of how to tune armv7 for both GCC and > LLVM? I was looking around and I'm not seeing an obvious syntax. > I'll do a 2-part patch. One to remove the armv5, and one to enable > the armv7 optimization.
In arch/arm/Makefile: arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \ $(call cc-option, -march=armv7, -march=armv5)) this works in both cases. And doc/README.clang is correct on how to build with LLVM on ARM. -- Tom
signature.asc
Description: PGP signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot