diff options
author | Ilya Leoshkevich <iii@linux.ibm.com> | 2021-04-26 14:12:08 +0200 |
---|---|---|
committer | Ilya Leoshkevich <iii@linux.ibm.com> | 2021-05-03 12:34:55 +0200 |
commit | 4f48c335d36674f90046b2823f0ac1c0545dc082 (patch) | |
tree | 8d6060f2619e402e06814f13b5eac163ff833219 /libcpp | |
parent | 80bbb7ff83d81544b09820428bdd7db9f50fe362 (diff) | |
download | gcc-4f48c335d36674f90046b2823f0ac1c0545dc082.zip gcc-4f48c335d36674f90046b2823f0ac1c0545dc082.tar.gz gcc-4f48c335d36674f90046b2823f0ac1c0545dc082.tar.bz2 |
IBM Z: Handle hard registers in s390_md_asm_adjust()
gen_fprx2_to_tf() and gen_tf_to_fprx2() cannot handle hard registers,
since the subregs they create do not pass validation. Change
s390_md_asm_adjust() to manually copy between hard VRs and FPRs instead
of using these two functions.
gcc/ChangeLog:
PR target/100217
* config/s390/s390.c (s390_hard_fp_reg_p): New function.
(s390_md_asm_adjust): Handle hard registers.
gcc/testsuite/ChangeLog:
PR target/100217
* gcc.target/s390/vector/long-double-asm-in-out-hard-fp-reg.c: New test.
* gcc.target/s390/vector/long-double-asm-inout-hard-fp-reg.c: New test.
Diffstat (limited to 'libcpp')
0 files changed, 0 insertions, 0 deletions