[NFC][AArch64] Split out backend features


[NFC][AArch64] Split out backend features

This patch splits backend features currently
hidden behind architecture versions.

For example, currently the only way to activate
complex numbers extension is targeting an v8.3
architecture, where after the patch this extension
can be added separately.

This refactoring is required by the new command lines proposal:

Reviewers: DavidSpickett, olista01, t.p.northover

Subscribers: kristof.beyls, bryanpkc, javed.absar, pbarrio

Differential revision: https://reviews.llvm.org/D54633

Event Timeline

@dnsampaio This broke the buildbots: http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/14363

Are you looking at this or should I revert?

@dnsampaio Reverted at rL348249

@RKSimon This seems a FileCheck in windows bug, in a linux environment I can't reproduce the error.