diff options
author | Triffid Hunter <triffid.hunter@gmail.com> | 2023-05-20 07:50:00 +0200 |
---|---|---|
committer | Georg-Johann Lay <avr@gjlay.de> | 2023-05-20 07:53:06 +0200 |
commit | 80348e6aec44966e20ca1ca823247ce1381071eb (patch) | |
tree | c5d3742e659174a7b421a125fc0ea1d634c4c560 /gcc/expr.cc | |
parent | 40c5ba42bbdb582a5250e6b3e237fb7afc9df9bf (diff) | |
download | gcc-80348e6aec44966e20ca1ca823247ce1381071eb.zip gcc-80348e6aec44966e20ca1ca823247ce1381071eb.tar.gz gcc-80348e6aec44966e20ca1ca823247ce1381071eb.tar.bz2 |
target/105753: Fix ICE in add_clobbers due to extra PARALLEL in insn.
This patch removes the superfluous parallel in [u]divmod patterns in
the AVR backend. Effect of extra parallel is that add_clobbers reaches
gcc_unreachable() because the clobbers for [u]divmod are missing.
If an insn has multiple parts like clobbers, the parallel around the
parts of the insn pattern is implicit.
gcc/
PR target/105753
* config/avr/avr.md (divmodpsi, udivmodpsi, divmodsi, udivmodsi):
Remove superfluous "parallel" in insn pattern.
([u]divmod<mode>4): Tidy code. Use gcc_unreachable() instead of
printing error text to assembly.
gcc/testsuite/
PR target/105753
* gcc.target/avr/torture/pr105753.c: New test.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions