This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Target configuration with ct-ng and configurability of the resulting toolchain (regarding target)


Hi,

Can someone please enlighten me about how the choices in ct-ng regarding target options, affect the targets or architectures that the resulting toolchain can generate code for?

Context: I'm in the process of making a toolchain that supports arm architectures as generically as possible, while still being able to generate code that is tuned for a specific cpu, by make choices that deviate from the ct-ng configuration when invoking the compiler (using options like -march -m32/64 -mtune, -mcpu, -mfpu). At the very least I'd like to generate code specifically tuned/optimised for cortex-a53 and cortex-a8.


Examples:

Suppose I configure the target as "arm", and specify "cortex-a53" for "Emit assembly for CPU" (in the category "toolchain optimisations"). Can I still use the resulting toolchain to generate code for cortex-a8 by specifying "-march=cortex-a8" on the compiler command line?

Likewise:
Suppose I configure the toolchain for 64-Bitness. Can I still use the resulting toolchain to generate code for 32-bit architectures by specifying "-m32" on the command line? And how about the converse case?

Again, likewise:
Suppose I configure the toolchain for software floating point ("softfp"). Can I still use the resulting toolchain to generate code using hardware fp by specifying "-mfpu=neon-vfpv3" on the command line?


Thanks in advance for any insights or pointers,
Erik Leunissen.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]