s390: gas: Support vector register names in CFI directives
Convert vector register names v0-v31 to DWARF register numbers when used
in CFI directives. Convert a vector register number (0..31) to its
respective DWARF register number (16..31, 68..83) as specified in the
s390 64-bit (s390x) ELF ABI [1] as follows:
Right rotate the least significant three bits and add 16 for register
numbers 0..15 or 68 for register numbers 16..31.
Add a test case for the use of vector register (VR) names in CFI
directives.
[1]: s390x ELF ABI, https://github.com/IBM/s390x-abi/releases
gas/
* config/tc-s390.c (tc_s390_regname_to_dw2regnum): Convert
vector register names (v0..v31) to DWARF register numbers.
gas/testsuite/
* gas/s390/cfi-regnames.d: Add test for VR names in in CFI
directives.
* gas/s390/cfi-regnames.s: Likewise.
* gas/s390/cfi-regnames-err.l: Likewise.
* gas/s390/cfi-regnames-err.s: Likewise.
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
5 files changed