cryptography - gcc; Aarch64; Armv8; enable crypto; -mcpu=cortex-a53+crypto -


i trying optimize arm processor (corte-a53) armv8 architecture crypto purposes.

the problem compiler accepts -mcpu=cortex-a53+crypto etc doesn't change output (i checked assembly output).

changing mfpu, mcpu add futures crypto or simd, doesn't matter, ignored.

to enable neon code -ftree-vectorize needed, how make use of crypto?

(i checked -o(1,2,3) flags, won't help).

edit: realized made mistake thinking crypto flag works optimization flag solved compiler. bad.

you had 2 questions...

why -mcpu=cortex-a53+crypto not change code output?

the crypto extensions optional feature under aarch64 state of armv8-a. +crypto feature flag indicates compiler these instructions available use. practical perspective, in gcc 4.8/4.9/5.1, defines macro __arm_feature_crypto, , controls whether or not can use crypto intrinsics defined in acle, example:

uint8x16_t vaeseq_u8 (uint8x16_t data, uint8x16_t key)

there no optimisation in current gcc automatically convert sequence of c code use cryptography instructions. if want make transformation, have hand (and guard appropriate feature macro).

why +fpu , +simd flags not change code output?

for -mcpu=cortex-a53 +fp , +simd flags implied default (for configurations of gcc +crypto may implied default). adding these feature flags therefore not change code generation.