diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2024-03-08 13:29:13 +0100 |
---|---|---|
committer | Georg-Johann Lay <avr@gjlay.de> | 2024-03-08 13:40:20 +0100 |
commit | 40209cb15a3f2af8233ee887dc960992f358ad86 (patch) | |
tree | 14fc73534ca31b218612a135408021d9de4bd6c2 /contrib | |
parent | d6bcc2e257026b383ac3e6ccdee13f7763b38621 (diff) | |
download | gcc-40209cb15a3f2af8233ee887dc960992f358ad86.zip gcc-40209cb15a3f2af8233ee887dc960992f358ad86.tar.gz gcc-40209cb15a3f2af8233ee887dc960992f358ad86.tar.bz2 |
AVR: Add an insn combine pattern for offset computation.
Computing uint16_t += 2 * uint8_t can occur when an offset
into a 16-bit array is computed. Without this pattern is costs
six instructions: A move (1), a zero-extend (1), a shift (2) and
an addition (2). With this pattern it costs 4.
gcc/
* config/avr/avr.md (*addhi3_zero_extend.ashift1): New pattern.
* config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Compute its cost.
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions