aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.h
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2023-12-29 09:47:43 +0100
committerUros Bizjak <ubizjak@gmail.com>2023-12-29 09:53:01 +0100
commit1e7f9abb892443719c82bb17910caa8fb5eeec15 (patch)
treec86b2baf022cef8783c23e9d1ce291dd6ad6e5cd /gcc/gcov-io.h
parent200531d5b9fb99eca2b0d6b8d1e42d176413225f (diff)
downloadgcc-1e7f9abb892443719c82bb17910caa8fb5eeec15.zip
gcc-1e7f9abb892443719c82bb17910caa8fb5eeec15.tar.gz
gcc-1e7f9abb892443719c82bb17910caa8fb5eeec15.tar.bz2
i386: Fix TARGET_USE_VECTOR_FP_CONVERTS SF->DF float_extend splitter [PR113133]
The post-reload splitter currently allows xmm16+ registers with TARGET_EVEX512. The splitter changes SFmode of the output operand to V4SFmode, but the vector mode is currently unsupported in xmm16+ without TARGET_AVX512VL. lowpart_subreg returns NULL_RTX in this case and the compilation fails with invalid RTX. The patch removes support for x/ymm16+ registers with TARGET_EVEX512. The support should be restored once ix86_hard_regno_mode_ok is fixed to allow 16-byte modes in x/ymm16+ with TARGET_EVEX512. PR target/113133 gcc/ChangeLog: * config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS SF->DF float_extend splitter): Do not handle xmm16+ with TARGET_EVEX512. gcc/testsuite/ChangeLog: * gcc.target/i386/pr113133-1.c: New test. * gcc.target/i386/pr113133-2.c: New test.
Diffstat (limited to 'gcc/gcov-io.h')
0 files changed, 0 insertions, 0 deletions