This is the SystemZ part originally part of https://reviews.llvm.org/D102894.
On SystemZ, the vector ABI changes depending on the presence of hardware vector support. Therefore, each binary compiled with a visible vector ABI (e.g. calling an external function with a vector argument) should be marked with a .gnu_attribute describing this.
This adds support on SystemZ to emit a gnu attribute for the vector abi both to asm and object files.
I'm wondering if it wouldn't be preferable to move those (and the functions operating on them) to SystemZTargetCodeGenInfo instead? There is precedent for mutable members in XCodeTargetCodeGenInfo.