aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2024-12-20 16:16:15 +0100
committerUros Bizjak <ubizjak@gmail.com>2024-12-20 16:31:58 +0100
commit219ddae16f9d724baeff86934f8981aa5ef7b95f (patch)
tree857390d74e95f67b38867a7d6c20b2a40dfaf30f /gcc/fortran
parent89b2c7dc96c4944c306131b665a4738a8a99413e (diff)
downloadgcc-219ddae16f9d724baeff86934f8981aa5ef7b95f.zip
gcc-219ddae16f9d724baeff86934f8981aa5ef7b95f.tar.gz
gcc-219ddae16f9d724baeff86934f8981aa5ef7b95f.tar.bz2
i386: Disable SImode/DImode moves from/to mask regs without avx512bw [PR118067]
SImode and DImode moves from/to mask registers are valid only with AVX512BW, so mark relevant alternatives in *movsi_internal and *movdi_internal as such. Even with the patch, the testcase still fails, but now with: pr118067.c: In function ‘foo’: pr118067.c:13:1: internal compiler error: maximum number of generated reload insns per insn achieved (90) 13 | } | ^ 0x2c3b581 internal_error(char const*, ...) ../../git/gcc/gcc/diagnostic-global-context.cc:517 0xb68938 lra_constraints(bool) ../../git/gcc/gcc/lra-constraints.cc:5411 0xb51a0d lra(_IO_FILE*, int) ../../git/gcc/gcc/lra.cc:2449 0xaf9f4d do_reload ../../git/gcc/gcc/ira.cc:5977 0xafa462 execute ../../git/gcc/gcc/ira.cc:6165 PR target/118067 gcc/ChangeLog: * config/i386/i386.md (*movdi_internal): Disable alternatives from/to mask registers without AVX512BW. (*movsi_internal): Ditto.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions