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.