[OE-core] [PATCHv2][master] arch-armv8a.inc: Add tune for 32-bit ARMv8a

Khem Raj raj.khem at gmail.com
Sat Mar 12 00:17:43 UTC 2016


> On Mar 12, 2016, at 12:58 AM, Daniel Dragomir <daniel.dragomir at windriver.com> wrote:
> 
> This patch adds tunes for 32-bit armv8a platforms. The user can select
> little or big endian, hard or soft float, the vector floating-point
> instruction set: vfpv4 or fp-armv8 and the thumb, neon, crc and crypto
> extensions.

This does not feel right to me. Look at how thunderX looks like
ARMv8 is the time to fix this tune explodes on arm, this patch is not helping
it.

Do we need the hf/neon/vfp/thumb2 variants?

Only crc, crypto probably are needed.

It is not leveraging existing arm64 tune includes as well. I would rather have
no further tunes for aarch64 at this point.

choose a sane default and lets live with it.
> 
> Signed-off-by: Daniel Dragomir <daniel.dragomir at windriver.com>
> ---
> 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
> 
> diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc
> new file mode 100644
> index 0000000..6544f50
> --- /dev/null
> +++ b/meta/conf/machine/include/arm/arch-armv8a.inc
> @@ -0,0 +1,382 @@
> +DEFAULTTUNE ?= "armv8a"
> +
> +TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
> +TUNECONFLICTS[armv8a] = "armv4 armv5 armv6 armv7 armv7a armv7ve"
> +
> +TUNEVALID[crc] = "Enable CRC instructions for ARMv8-a"
> +ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "crc", "-crc", "", d)}"
> +
> +TUNEVALID[crypto] = "Enable ARMv8 crypto extension."
> +ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "crypto", "-crypto", "", d)}"
> +
> +TUNEVALID[fp-armv8] = "Enable ARMv8 Vector Floating Point unit."
> +ARMPKGSFX_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fp-armv8", "-fp-armv8", "", d)}"
> +
> +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "armv8a", bb.utils.contains("TUNE_FEATURES", "crc", " -march=armv8-a+crc", " -march=armv8-a", d), "", d)}"
> +
> +TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "fp-armv8", bb.utils.contains("TUNE_FEATURES", "neon", bb.utils.contains("TUNE_FEATURES", "crypto", " -mfpu=crypto-neon-fp-armv8", " -mfpu=neon-fp-armv8", d), " -mfpu=fp-armv8", d), "", d)}"
> +
> +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "armv8a", "armv8a:", "" ,d)}"
> +
> +require conf/machine/include/arm/arch-armv7ve.inc
> +
> +# Little Endian base configs
> +AVAILTUNES += "armv8a armv8at armv8a-neon armv8at-neon armv8a-vfpv4 armv8at-vfpv4 armv8a-vfpv4-neon armv8at-vfpv4-neon armv8a-fp-armv8 armv8at-fp-armv8 armv8a-fp-armv8-neon armv8at-fp-armv8-neon armv8a-crypto-fp-armv8-neon armv8at-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8a                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8at                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8a                       = "arm armv8a"
> +TUNE_FEATURES_tune-armv8at                      = "${TUNE_FEATURES_tune-armv8a} thumb"
> +TUNE_FEATURES_tune-armv8a-neon                  = "${TUNE_FEATURES_tune-armv8a} neon"
> +TUNE_FEATURES_tune-armv8at-neon                 = "${TUNE_FEATURES_tune-armv8at} neon"
> +TUNE_FEATURES_tune-armv8a-vfpv4                 = "${TUNE_FEATURES_tune-armv8a} vfpv4"
> +TUNE_FEATURES_tune-armv8at-vfpv4                = "${TUNE_FEATURES_tune-armv8at} vfpv4"
> +TUNE_FEATURES_tune-armv8a-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8a-neon} vfpv4"
> +TUNE_FEATURES_tune-armv8at-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8at-neon} vfpv4"
> +TUNE_FEATURES_tune-armv8a-fp-armv8              = "${TUNE_FEATURES_tune-armv8a} fp-armv8"
> +TUNE_FEATURES_tune-armv8at-fp-armv8             = "${TUNE_FEATURES_tune-armv8at} fp-armv8"
> +TUNE_FEATURES_tune-armv8a-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8a-neon} fp-armv8"
> +TUNE_FEATURES_tune-armv8at-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8at-neon} fp-armv8"
> +TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8a-fp-armv8-neon} crypto"
> +TUNE_FEATURES_tune-armv8at-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8at-fp-armv8-neon} crypto"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a                       = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} armv8a"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at                      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} armv8a"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8at} armv8a-neon armv8at2-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8at} armv8a-vfpv4 armv8at2-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4} armv8a-neon armv8a-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-vfpv4} armv8a-neon armv8at2-neon armv8a-neon-vfpv4 armv8at2-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8at} armv8a-fp-armv8 armv8at2-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8} armv8a-neon armv8a-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-fp-armv8} armv8a-neon armv8at2-neon armv8a-fp-armv8-neon armv8at2-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon} armv8a-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-fp-armv8-neon} armv8a-crypto-fp-armv8-neon armv8at2-crypto-fp-armv8-neon"
> +
> +# CRC configs
> +AVAILTUNES += "armv8a-crc armv8at-crc armv8a-crc-neon armv8at-crc-neon armv8a-crc-vfpv4 armv8at-crc-vfpv4 armv8a-crc-vfpv4-neon armv8at-crc-vfpv4-neon armv8a-crc-fp-armv8 armv8at-crc-fp-armv8 armv8a-crc-fp-armv8-neon armv8at-crc-fp-armv8-neon armv8a-crc-crypto-fp-armv8-neon armv8at-crc-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8a-crc                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crc-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crc-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crc-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crc-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crc-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8a-crc-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8at-crc-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8a-crc                       = "${TUNE_FEATURES_tune-armv8a}                       crc"
> +TUNE_FEATURES_tune-armv8at-crc                      = "${TUNE_FEATURES_tune-armv8at}                      crc"
> +TUNE_FEATURES_tune-armv8a-crc-neon                  = "${TUNE_FEATURES_tune-armv8a-neon}                  crc"
> +TUNE_FEATURES_tune-armv8at-crc-neon                 = "${TUNE_FEATURES_tune-armv8at-neon}                 crc"
> +TUNE_FEATURES_tune-armv8a-crc-vfpv4                 = "${TUNE_FEATURES_tune-armv8a-vfpv4}                 crc"
> +TUNE_FEATURES_tune-armv8at-crc-vfpv4                = "${TUNE_FEATURES_tune-armv8at-vfpv4}                crc"
> +TUNE_FEATURES_tune-armv8a-crc-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8a-vfpv4-neon}            crc"
> +TUNE_FEATURES_tune-armv8at-crc-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8at-vfpv4-neon}           crc"
> +TUNE_FEATURES_tune-armv8a-crc-fp-armv8              = "${TUNE_FEATURES_tune-armv8a-fp-armv8}              crc"
> +TUNE_FEATURES_tune-armv8at-crc-fp-armv8             = "${TUNE_FEATURES_tune-armv8at-fp-armv8}             crc"
> +TUNE_FEATURES_tune-armv8a-crc-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8a-fp-armv8-neon}         crc"
> +TUNE_FEATURES_tune-armv8at-crc-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8at-fp-armv8-neon}        crc"
> +TUNE_FEATURES_tune-armv8a-crc-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon}  crc"
> +TUNE_FEATURES_tune-armv8at-crc-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8at-crypto-fp-armv8-neon} crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc                       = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8a-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc                      = "${PACKAGE_EXTRA_ARCHS_tune-armv8at} armv8a-crc armv8at2-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-neon} armv8a-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-neon} armv8a-crc-neon armv8at2-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4} armv8a-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-vfpv4} armv8a-crc-vfpv4 armv8at2-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-vfpv4-neon} armv8a-crc-neon armv8a-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-vfpv4-neon} armv8a-crc-neon armv8at2-crc-neon armv8a-crc-vfpv4-neon armv8at2-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8} armv8a-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-fp-armv8} armv8a-crc-fp-armv8 armv8at2-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-fp-armv8-neon} armv8a-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-fp-armv8-neon} armv8a-crc-fp-armv8-neon armv8at2-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto-fp-armv8-neon} armv8a-crc-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8at-crc-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8at-crypto-fp-armv8-neon} armv8a-crc-crypto-fp-armv8-neon armv8at2-crc-crypto-fp-armv8-neon"
> +
> +# HF configs
> +AVAILTUNES += "armv8ahf armv8athf armv8ahf-neon armv8athf-neon armv8ahf-vfpv4 armv8athf-vfpv4 armv8ahf-vfpv4-neon armv8athf-vfpv4-neon armv8ahf-fp-armv8 armv8athf-fp-armv8 armv8ahf-fp-armv8-neon armv8athf-fp-armv8-neon armv8ahf-crypto-fp-armv8-neon armv8athf-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8ahf                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8ahf                       = "${TUNE_FEATURES_tune-armv8a}                       callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf                      = "${TUNE_FEATURES_tune-armv8at}                      callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahf-neon                  = "${TUNE_FEATURES_tune-armv8a-neon}                  callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf-neon                 = "${TUNE_FEATURES_tune-armv8at-neon}                 callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahf-vfpv4                 = "${TUNE_FEATURES_tune-armv8a-vfpv4}                 callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf-vfpv4                = "${TUNE_FEATURES_tune-armv8at-vfpv4}                callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahf-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8a-vfpv4-neon}            callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8at-vfpv4-neon}           callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahf-fp-armv8              = "${TUNE_FEATURES_tune-armv8a-fp-armv8}              callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf-fp-armv8             = "${TUNE_FEATURES_tune-armv8at-fp-armv8}             callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahf-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8a-fp-armv8-neon}         callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8at-fp-armv8-neon}        callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahf-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon}  callconvention-hard"
> +TUNE_FEATURES_tune-armv8athf-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8at-crypto-fp-armv8-neon} callconvention-hard"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf                       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} armv8a armv8ahf"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf                      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} armv8a armv8ahf armv8at2hf"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf} armv8ahf-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf} armv8ahf-neon armv8at2hf-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf} armv8ahf-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf} armv8ahf-vfpv4 armv8at2hf-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-vfpv4} armv8ahf-neon armv8ahf-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-vfpv4} armv8ahf-neon armv8at2hf-neon armv8ahf-neon-vfpv4 armv8at2hf-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf} armv8ahf-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf} armv8ahf-fp-armv8 armv8at2hf-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-fp-armv8} armv8ahf-neon armv8ahf-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-fp-armv8} armv8ahf-neon armv8at2hf-neon armv8ahf-fp-armv8-neon armv8at2hf-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-fp-armv8-neon} armv8ahf-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-fp-armv8-neon} armv8ahf-crypto-fp-armv8-neon armv8at2hf-crypto-fp-armv8-neon"
> +
> +# HF + CRC
> +AVAILTUNES += "armv8ahf-crc armv8athf-crc armv8ahf-crc-neon armv8athf-crc-neon armv8ahf-crc-vfpv4 armv8athf-crc-vfpv4 armv8ahf-crc-vfpv4-neon armv8athf-crc-vfpv4-neon armv8ahf-crc-fp-armv8 armv8athf-crc-fp-armv8 armv8ahf-crc-fp-armv8-neon armv8athf-crc-fp-armv8-neon armv8ahf-crc-crypto-fp-armv8-neon armv8athf-crc-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8ahf-crc                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crc-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crc-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crc-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crc-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crc-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahf-crc-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athf-crc-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8ahf-crc                       = "${TUNE_FEATURES_tune-armv8ahf}                       crc"
> +TUNE_FEATURES_tune-armv8athf-crc                      = "${TUNE_FEATURES_tune-armv8athf}                      crc"
> +TUNE_FEATURES_tune-armv8ahf-crc-neon                  = "${TUNE_FEATURES_tune-armv8ahf-neon}                  crc"
> +TUNE_FEATURES_tune-armv8athf-crc-neon                 = "${TUNE_FEATURES_tune-armv8athf-neon}                 crc"
> +TUNE_FEATURES_tune-armv8ahf-crc-vfpv4                 = "${TUNE_FEATURES_tune-armv8ahf-vfpv4}                 crc"
> +TUNE_FEATURES_tune-armv8athf-crc-vfpv4                = "${TUNE_FEATURES_tune-armv8athf-vfpv4}                crc"
> +TUNE_FEATURES_tune-armv8ahf-crc-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8ahf-vfpv4-neon}            crc"
> +TUNE_FEATURES_tune-armv8athf-crc-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8athf-vfpv4-neon}           crc"
> +TUNE_FEATURES_tune-armv8ahf-crc-fp-armv8              = "${TUNE_FEATURES_tune-armv8ahf-fp-armv8}              crc"
> +TUNE_FEATURES_tune-armv8athf-crc-fp-armv8             = "${TUNE_FEATURES_tune-armv8athf-fp-armv8}             crc"
> +TUNE_FEATURES_tune-armv8ahf-crc-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8ahf-fp-armv8-neon}         crc"
> +TUNE_FEATURES_tune-armv8athf-crc-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8athf-fp-armv8-neon}        crc"
> +TUNE_FEATURES_tune-armv8ahf-crc-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8ahf-crypto-fp-armv8-neon}  crc"
> +TUNE_FEATURES_tune-armv8athf-crc-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8athf-crypto-fp-armv8-neon} crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc                       = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf} armv8ahf-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc                      = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf} armv8ahf-crc armv8at2hf-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-neon} armv8ahf-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-neon} armv8ahf-crc-neon armv8at2hf-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-vfpv4} armv8ahf-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-vfpv4} armv8ahf-crc-vfpv4 armv8at2hf-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-vfpv4-neon} armv8ahf-crc-neon armv8ahf-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-vfpv4-neon} armv8ahf-crc-neon armv8at2hf-crc-neon armv8ahf-crc-vfpv4-neon armv8at2hf-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-fp-armv8} armv8ahf-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-fp-armv8} armv8ahf-crc-fp-armv8 armv8at2hf-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-fp-armv8-neon} armv8ahf-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-fp-armv8-neon} armv8ahf-crc-fp-armv8-neon armv8at2hf-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crc-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahf-crypto-fp-armv8-neon} armv8ahf-crc-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athf-crc-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8athf-crypto-fp-armv8-neon} armv8ahf-crc-crypto-fp-armv8-neon armv8at2hf-crc-crypto-fp-armv8-neon"
> +
> +
> +# Big Endian
> +AVAILTUNES += "armv8ab armv8atb armv8ab-neon armv8atb-neon armv8ab-vfpv4 armv8atb-vfpv4 armv8ab-vfpv4-neon armv8atb-vfpv4-neon armv8ab-fp-armv8 armv8atb-fp-armv8 armv8ab-fp-armv8-neon armv8atb-fp-armv8-neon armv8ab-crypto-fp-armv8-neon armv8atb-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8ab                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8ab                       = "${TUNE_FEATURES_tune-armv8a}                       bigendian"
> +TUNE_FEATURES_tune-armv8atb                      = "${TUNE_FEATURES_tune-armv8at}                      bigendian"
> +TUNE_FEATURES_tune-armv8ab-neon                  = "${TUNE_FEATURES_tune-armv8a-neon}                  bigendian"
> +TUNE_FEATURES_tune-armv8atb-neon                 = "${TUNE_FEATURES_tune-armv8at-neon}                 bigendian"
> +TUNE_FEATURES_tune-armv8ab-vfpv4                 = "${TUNE_FEATURES_tune-armv8a-vfpv4}                 bigendian"
> +TUNE_FEATURES_tune-armv8atb-vfpv4                = "${TUNE_FEATURES_tune-armv8at-vfpv4}                bigendian"
> +TUNE_FEATURES_tune-armv8ab-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8a-vfpv4-neon}            bigendian"
> +TUNE_FEATURES_tune-armv8atb-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8at-vfpv4-neon}           bigendian"
> +TUNE_FEATURES_tune-armv8ab-fp-armv8              = "${TUNE_FEATURES_tune-armv8a-fp-armv8}              bigendian"
> +TUNE_FEATURES_tune-armv8atb-fp-armv8             = "${TUNE_FEATURES_tune-armv8at-fp-armv8}             bigendian"
> +TUNE_FEATURES_tune-armv8ab-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8a-fp-armv8-neon}         bigendian"
> +TUNE_FEATURES_tune-armv8atb-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8at-fp-armv8-neon}        bigendian"
> +TUNE_FEATURES_tune-armv8ab-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8a-crypto-fp-armv8-neon}  bigendian"
> +TUNE_FEATURES_tune-armv8atb-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8at-crypto-fp-armv8-neon} bigendian"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab                       = "${PACKAGE_EXTRA_ARCHS_tune-armv7veb} armv8ab"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb                      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vetb} armv8ab"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab} armv8ab-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb} armv8ab-neon armv8at2b-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab} armv8ab-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb} armv8ab-vfpv4 armv8at2b-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-vfpv4} armv8ab-neon armv8ab-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-vfpv4} armv8ab-neon armv8at2b-neon armv8ab-neon-vfpv4 armv8at2b-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab} armv8ab-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb} armv8ab-fp-armv8 armv8at2b-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-fp-armv8} armv8ab-neon armv8ab-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-fp-armv8} armv8ab-neon armv8at2b-neon armv8ab-fp-armv8-neon armv8at2b-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-fp-armv8-neon} armv8ab-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-fp-armv8-neon} armv8ab-crypto-fp-armv8-neon armv8at2b-crypto-fp-armv8-neon"
> +
> +# Big Endian + CRC
> +AVAILTUNES += "armv8ab-crc armv8atb-crc armv8ab-crc-neon armv8atb-crc-neon armv8ab-crc-vfpv4 armv8atb-crc-vfpv4 armv8ab-crc-vfpv4-neon armv8atb-crc-vfpv4-neon armv8ab-crc-fp-armv8 armv8atb-crc-fp-armv8 armv8ab-crc-fp-armv8-neon armv8atb-crc-fp-armv8-neon armv8ab-crc-crypto-fp-armv8-neon armv8atb-crc-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8ab-crc                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crc-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crc-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crc-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crc-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crc-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8ab-crc-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8atb-crc-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8ab-crc                       = "${TUNE_FEATURES_tune-armv8ab}                       crc"
> +TUNE_FEATURES_tune-armv8atb-crc                      = "${TUNE_FEATURES_tune-armv8atb}                      crc"
> +TUNE_FEATURES_tune-armv8ab-crc-neon                  = "${TUNE_FEATURES_tune-armv8ab-neon}                  crc"
> +TUNE_FEATURES_tune-armv8atb-crc-neon                 = "${TUNE_FEATURES_tune-armv8atb-neon}                 crc"
> +TUNE_FEATURES_tune-armv8ab-crc-vfpv4                 = "${TUNE_FEATURES_tune-armv8ab-vfpv4}                 crc"
> +TUNE_FEATURES_tune-armv8atb-crc-vfpv4                = "${TUNE_FEATURES_tune-armv8atb-vfpv4}                crc"
> +TUNE_FEATURES_tune-armv8ab-crc-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8ab-vfpv4-neon}            crc"
> +TUNE_FEATURES_tune-armv8atb-crc-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8atb-vfpv4-neon}           crc"
> +TUNE_FEATURES_tune-armv8ab-crc-fp-armv8              = "${TUNE_FEATURES_tune-armv8ab-fp-armv8}              crc"
> +TUNE_FEATURES_tune-armv8atb-crc-fp-armv8             = "${TUNE_FEATURES_tune-armv8atb-fp-armv8}             crc"
> +TUNE_FEATURES_tune-armv8ab-crc-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8ab-fp-armv8-neon}         crc"
> +TUNE_FEATURES_tune-armv8atb-crc-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8atb-fp-armv8-neon}        crc"
> +TUNE_FEATURES_tune-armv8ab-crc-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8ab-crypto-fp-armv8-neon}  crc"
> +TUNE_FEATURES_tune-armv8atb-crc-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8atb-crypto-fp-armv8-neon} crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc                       = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab} armv8ab-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc                      = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb} armv8ab-crc armv8at2b-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-neon} armv8ab-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-neon} armv8ab-crc-neon armv8at2b-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-vfpv4} armv8ab-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-vfpv4} armv8ab-crc-vfpv4 armv8at2b-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-vfpv4-neon} armv8ab-crc-neon armv8ab-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-vfpv4-neon} armv8ab-crc-neon armv8at2b-crc-neon armv8ab-crc-vfpv4-neon armv8at2b-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-fp-armv8} armv8ab-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-fp-armv8} armv8ab-crc-fp-armv8 armv8at2b-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-fp-armv8-neon} armv8ab-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-fp-armv8-neon} armv8ab-crc-fp-armv8-neon armv8at2b-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ab-crc-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ab-crypto-fp-armv8-neon} armv8ab-crc-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8atb-crc-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8atb-crypto-fp-armv8-neon} armv8ab-crc-crypto-fp-armv8-neon armv8at2b-crc-crypto-fp-armv8-neon"
> +
> +# Big Endian + HF
> +AVAILTUNES += "armv8ahfb armv8athfb armv8ahfb-neon armv8athfb-neon armv8ahfb-vfpv4 armv8athfb-vfpv4 armv8ahfb-vfpv4-neon armv8athfb-vfpv4-neon armv8ahfb-fp-armv8 armv8athfb-fp-armv8 armv8ahfb-fp-armv8-neon armv8athfb-fp-armv8-neon armv8ahfb-crypto-fp-armv8-neon armv8athfb-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8ahfb                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8ahfb                       = "${TUNE_FEATURES_tune-armv8ab}                       callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb                      = "${TUNE_FEATURES_tune-armv8atb}                      callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahfb-neon                  = "${TUNE_FEATURES_tune-armv8ab-neon}                  callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb-neon                 = "${TUNE_FEATURES_tune-armv8atb-neon}                 callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahfb-vfpv4                 = "${TUNE_FEATURES_tune-armv8ab-vfpv4}                 callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb-vfpv4                = "${TUNE_FEATURES_tune-armv8atb-vfpv4}                callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahfb-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8ab-vfpv4-neon}            callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8atb-vfpv4-neon}           callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahfb-fp-armv8              = "${TUNE_FEATURES_tune-armv8ab-fp-armv8}              callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb-fp-armv8             = "${TUNE_FEATURES_tune-armv8atb-fp-armv8}             callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahfb-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8ab-fp-armv8-neon}         callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8atb-fp-armv8-neon}        callconvention-hard"
> +TUNE_FEATURES_tune-armv8ahfb-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8ab-crypto-fp-armv8-neon}  callconvention-hard"
> +TUNE_FEATURES_tune-armv8athfb-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8atb-crypto-fp-armv8-neon} callconvention-hard"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb                       = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehfb} armv8ab armv8ahfb"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb                      = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethfb} armv8ab armv8ahfb armv8at2hfb"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb} armv8ahfb-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb} armv8ahfb-neon armv8at2hfb-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb} armv8ahfb-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb} armv8ahfb-vfpv4 armv8at2hfb-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-vfpv4} armv8ahfb-neon armv8ahfb-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-vfpv4} armv8ahfb-neon armv8at2hfb-neon armv8ahfb-neon-vfpv4 armv8at2hfb-neon-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb} armv8ahfb-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb} armv8ahfb-fp-armv8 armv8at2hfb-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-fp-armv8} armv8ahfb-neon armv8ahfb-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-fp-armv8} armv8ahfb-neon armv8at2hfb-neon armv8ahfb-fp-armv8-neon armv8at2hfb-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-fp-armv8-neon} armv8ahfb-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-fp-armv8-neon} armv8ahfb-crypto-fp-armv8-neon armv8at2hfb-crypto-fp-armv8-neon"
> +
> +# Big Endian + HF + CRC
> +AVAILTUNES += "armv8ahfb-crc armv8athfb-crc armv8ahfb-crc-neon armv8athfb-crc-neon armv8ahfb-crc-vfpv4 armv8athfb-crc-vfpv4 armv8ahfb-crc-vfpv4-neon armv8athfb-crc-vfpv4-neon armv8ahfb-crc-fp-armv8 armv8athfb-crc-fp-armv8 armv8ahfb-crc-fp-armv8-neon armv8athfb-crc-fp-armv8-neon armv8ahfb-crc-crypto-fp-armv8-neon armv8athfb-crc-crypto-fp-armv8-neon"
> +ARMPKGARCH_tune-armv8ahfb-crc                       ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc                      ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crc-neon                  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc-neon                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crc-vfpv4                 ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc-vfpv4                ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crc-vfpv4-neon            ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc-vfpv4-neon           ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crc-fp-armv8              ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc-fp-armv8             ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crc-fp-armv8-neon         ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc-fp-armv8-neon        ?= "armv8a"
> +ARMPKGARCH_tune-armv8ahfb-crc-crypto-fp-armv8-neon  ?= "armv8a"
> +ARMPKGARCH_tune-armv8athfb-crc-crypto-fp-armv8-neon ?= "armv8a"
> +TUNE_FEATURES_tune-armv8ahfb-crc                       = "${TUNE_FEATURES_tune-armv8ahfb}                       crc"
> +TUNE_FEATURES_tune-armv8athfb-crc                      = "${TUNE_FEATURES_tune-armv8athfb}                      crc"
> +TUNE_FEATURES_tune-armv8ahfb-crc-neon                  = "${TUNE_FEATURES_tune-armv8ahfb-neon}                  crc"
> +TUNE_FEATURES_tune-armv8athfb-crc-neon                 = "${TUNE_FEATURES_tune-armv8athfb-neon}                 crc"
> +TUNE_FEATURES_tune-armv8ahfb-crc-vfpv4                 = "${TUNE_FEATURES_tune-armv8ahfb-vfpv4}                 crc"
> +TUNE_FEATURES_tune-armv8athfb-crc-vfpv4                = "${TUNE_FEATURES_tune-armv8athfb-vfpv4}                crc"
> +TUNE_FEATURES_tune-armv8ahfb-crc-vfpv4-neon            = "${TUNE_FEATURES_tune-armv8ahfb-vfpv4-neon}            crc"
> +TUNE_FEATURES_tune-armv8athfb-crc-vfpv4-neon           = "${TUNE_FEATURES_tune-armv8athfb-vfpv4-neon}           crc"
> +TUNE_FEATURES_tune-armv8ahfb-crc-fp-armv8              = "${TUNE_FEATURES_tune-armv8ahfb-fp-armv8}              crc"
> +TUNE_FEATURES_tune-armv8athfb-crc-fp-armv8             = "${TUNE_FEATURES_tune-armv8athfb-fp-armv8}             crc"
> +TUNE_FEATURES_tune-armv8ahfb-crc-fp-armv8-neon         = "${TUNE_FEATURES_tune-armv8ahfb-fp-armv8-neon}         crc"
> +TUNE_FEATURES_tune-armv8athfb-crc-fp-armv8-neon        = "${TUNE_FEATURES_tune-armv8athfb-fp-armv8-neon}        crc"
> +TUNE_FEATURES_tune-armv8ahfb-crc-crypto-fp-armv8-neon  = "${TUNE_FEATURES_tune-armv8ahfb-crypto-fp-armv8-neon}  crc"
> +TUNE_FEATURES_tune-armv8athfb-crc-crypto-fp-armv8-neon = "${TUNE_FEATURES_tune-armv8athfb-crypto-fp-armv8-neon} crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc                       = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb} armv8ahfb-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc                      = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb} armv8ahfb-crc armv8at2hfb-crc"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc-neon                  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-neon} armv8ahfb-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc-neon                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-neon} armv8ahfb-crc-neon armv8at2hfb-crc-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc-vfpv4                 = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-vfpv4} armv8ahfb-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc-vfpv4                = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-vfpv4} armv8ahfb-crc-vfpv4 armv8at2hfb-crc-vfpv4"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc-vfpv4-neon            = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-vfpv4-neon} armv8ahfb-crc-neon armv8ahfb-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc-vfpv4-neon           = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-vfpv4-neon} armv8ahfb-crc-neon armv8at2hfb-crc-neon armv8ahfb-crc-vfpv4-neon armv8at2hfb-crc-vfpv4-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc-fp-armv8              = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-fp-armv8} armv8ahfb-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc-fp-armv8             = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-fp-armv8} armv8ahfb-crc-fp-armv8 armv8at2hfb-crc-fp-armv8"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc-fp-armv8-neon         = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-fp-armv8-neon} armv8ahfb-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc-fp-armv8-neon        = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-fp-armv8-neon} armv8ahfb-crc-fp-armv8-neon armv8at2hfb-crc-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crc-crypto-fp-armv8-neon  = "${PACKAGE_EXTRA_ARCHS_tune-armv8ahfb-crypto-fp-armv8-neon} armv8ahfb-crc-crypto-fp-armv8-neon"
> +PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crc-crypto-fp-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8athfb-crypto-fp-armv8-neon} armv8ahfb-crc-crypto-fp-armv8-neon armv8at2hfb-crc-crypto-fp-armv8-neon"
> diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> index 1faebf7..36bb510 100644
> --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
> +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> @@ -7,6 +7,7 @@ ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', 't2', '', d
> ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 't2', '', d)}"
> ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 't2', '', d)}"
> ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', 't2', '', d)}"
> +ARM_THUMB_SUFFIX .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 't2', '', d)}"
> 
> # If the device supports ARM, then respect ARM_THUMB_OPT (which can be "arm" or "thumb")
> # If the defice doesn't support ARM, then always set "thumb" even when
> --
> 1.9.1
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160312/e338e573/attachment-0002.sig>


More information about the Openembedded-core mailing list