[OE-core] [master][PATCH] ARMv8 32-bit & 64-bit compiler tunings

Daniel Dragomir daniel.dragomir at windriver.com
Fri Mar 11 17:58:51 UTC 2016


Hello!

This is a second version for the patch for 32-bit, against MASTER branch.

@Martin, I tested all the new tunes with your script, and I got no errors.

About 64-bit tunes, I need some guidance about the approach for adding 
specific tunes for aarch64.
I tried to inherit the ones from 32-bit and to add the aarch64 feature, but 
I got those errors when building libgcc-initial:

| aarch64_be-oe-linux-gcc: error: unrecognized command line option '-mfpu=crypto-neon-fp-armv8'
| aarch64_be-oe-linux-gcc: error: unrecognized command line option '-marm'
| aarch64_be-oe-linux-gcc: error: unrecognized command line option '-mfpu=neon'
| aarch64_be-oe-linux-gcc: error: unrecognized command line option '-mfloat-abi=hard'

I searched and I found that aarch64 didn't support thumb or neon options:
https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html
It seems that AArch64 and ARM backends are completely separate in gcc.
  
For aarch64 I found just those options:
‘crc’
    Enable CRC extension. This is on by default for -march=armv8.1-a.
‘crypto’
    Enable Crypto extension. This also enables Advanced SIMD and floating-point instructions.
‘fp’
    Enable floating-point instructions. This is on by default for all possible values for options 
    -march and -mcpu.
‘simd’
    Enable Advanced SIMD instructions. This also enables floating-point instructions. 
    This is on by default for all possible values for options -march and -mcpu.
‘lse’
    Enable Large System Extension instructions. This is on by default for -march=armv8.1-a.

Any help will be highly appreciated!

Thanks,
Daniel

Daniel Dragomir (1):
  arch-armv8a.inc: Add tune for 32-bit ARMv8a

 meta/conf/machine/include/arm/arch-armv8a.inc      | 382 +++++++++++++++++++++
 .../conf/machine/include/arm/feature-arm-thumb.inc |   1 +
 2 files changed, 383 insertions(+)
 create mode 100644 meta/conf/machine/include/arm/arch-armv8a.inc

-- 
1.9.1




More information about the Openembedded-core mailing list