gcc-wwwdocs branch master updated. c18141d3bac790885c68d2b7fa6e99559557460d

2024-05-23 Thread Georg-Johann Lay via Gcc-cvs-wwwdocs
--- commit c18141d3bac790885c68d2b7fa6e99559557460d Author: Georg-Johann Lay Date: Thu May 23 10:40:00 2024 +0200 AVR: Mention devices added in v13.3 diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html index 88b76c49..d431c768 100644 --- a/htdocs/gcc-13/changes.html +++ b/htdocs/gcc-13/changes.html

[patch,avr,applied] PR115065: Tweak __clzhi2

2024-05-18 Thread Georg-Johann Lay
Applied as obvious, Johann -- Author: Wolfgang Hospital Date: Sat May 18 15:02:51 2024 +0200 AVR: target/115065 - Tweak __clzhi2. The libgcc implementation of __clzhi2 can be tweaked by one cycle in some situations by re-arranging the instructions. It also reduces the WCET

[gcc r14-10217] AVR: target/115065 - Tweak __clzhi2.

2024-05-18 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:3b88dade7ff8a07fd0843ac1281e095cfd94453e commit r14-10217-g3b88dade7ff8a07fd0843ac1281e095cfd94453e Author: Wolfgang Hospital Date: Sat May 18 15:02:51 2024 +0200 AVR: target/115065 - Tweak __clzhi2. The libgcc implementation of __clzhi2 can be tweaked by

[gcc r15-645] AVR: target/115065 - Tweak __clzhi2.

2024-05-18 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:988838da722dea09bd81ee9d49800a6f24980372 commit r15-645-g988838da722dea09bd81ee9d49800a6f24980372 Author: Wolfgang Hospital Date: Sat May 18 15:02:51 2024 +0200 AVR: target/115065 - Tweak __clzhi2. The libgcc implementation of __clzhi2 can be tweaked by

[gcc r14-10194] AVR: target/114981 - Tweak __builtin_powif / __powisf2

2024-05-10 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:fcdd723779f9ad9af9638e11ffe56786de2d02ce commit r14-10194-gfcdd723779f9ad9af9638e11ffe56786de2d02ce Author: Georg-Johann Lay Date: Wed May 8 17:52:56 2024 +0200 AVR: target/114981 - Tweak __builtin_powif / __powisf2 Implement __powisf2 in assembly

[gcc r15-360] AVR: target/114981 - Tweak __builtin_powif / __powisf2

2024-05-10 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:af64af69c3cc85dbe00c520651a54850bf5cadc1 commit r15-360-gaf64af69c3cc85dbe00c520651a54850bf5cadc1 Author: Georg-Johann Lay Date: Wed May 8 17:52:56 2024 +0200 AVR: target/114981 - Tweak __builtin_powif / __powisf2 Implement __powisf2 in assembly

[gcc r14-10187] AVR: target/114975 - Add combine-pattern for __popcountqi2.

2024-05-09 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:4ef09dd8ce8866e4f64dd918890c97a67af8fd15 commit r14-10187-g4ef09dd8ce8866e4f64dd918890c97a67af8fd15 Author: Georg-Johann Lay Date: Tue May 7 19:39:55 2024 +0200 AVR: target/114975 - Add combine-pattern for __popcountqi2. PR target/114975 gcc

[gcc r14-10188] AVR: target/114975 - Add combine-pattern for __parityqi2.

2024-05-09 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:bbb76ac0a06ae3a469f2acc2d5d63e63160bd9e5 commit r14-10188-gbbb76ac0a06ae3a469f2acc2d5d63e63160bd9e5 Author: Georg-Johann Lay Date: Tue May 7 19:42:30 2024 +0200 AVR: target/114975 - Add combine-pattern for __parityqi2. PR target/114975 gcc

[gcc r14-10186] AVR: target/114981 - Support __builtin_powi[l] / __powidf2.

2024-05-09 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:a9e313ed38775b3ffee650d5396419ce3e6ea389 commit r14-10186-ga9e313ed38775b3ffee650d5396419ce3e6ea389 Author: Georg-Johann Lay Date: Wed May 8 17:56:05 2024 +0200 AVR: target/114981 - Support __builtin_powi[l] / __powidf2. This supports __powidf2 by means

[gcc r13-8736] AVR: target/114981 - Support __builtin_powi[l] / __powidf2.

2024-05-09 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:adba85bb63a45d7d668501c11bdf9772cc00b7b8 commit r13-8736-gadba85bb63a45d7d668501c11bdf9772cc00b7b8 Author: Georg-Johann Lay Date: Wed May 8 17:56:05 2024 +0200 AVR: target/114981 - Support __builtin_powi[l] / __powidf2. This supports __powidf2 by means

[gcc r15-331] AVR: target/114981 - Support __builtin_powi[l] / __powidf2.

2024-05-08 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:de4eea7d7ea86e54843507c68d6672eca9d8c7bb commit r15-331-gde4eea7d7ea86e54843507c68d6672eca9d8c7bb Author: Georg-Johann Lay Date: Wed May 8 17:56:05 2024 +0200 AVR: target/114981 - Support __builtin_powi[l] / __powidf2. This supports __powidf2 by means

[patch,avr,applied] PR114981: Implement __powidf2

2024-05-08 Thread Georg-Johann Lay
This adds __powidf2 as a wrapper in LibF7. Johann -- avr: target/114981 - Support __builtin_powi[l] / __powidf2. This supports __powidf2 by means of a double wrapper for already existing f7_powi (renamed to __f7_powi by f7-renames.h). It tweaks the implementation so that it does not perform

[patch,avr] PR114981: Implement __builtin_powif in assembly

2024-05-08 Thread Georg-Johann Lay
__builtin_powif is currently implemented in C, and this patch implements it (__powisf2) in assembly. Ok for master? Johann -- AVR: target/114981 - Tweak __powisf2 Implement __powisf2 in assembly. PR target/114981 libgcc/ * config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _powisf2.

[gcc r15-318] AVR: target/114975 - Add combine-pattern for __parityqi2.

2024-05-08 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:41bc359c322d45ec1adfb51f7a45c7ef02ce6ca9 commit r15-318-g41bc359c322d45ec1adfb51f7a45c7ef02ce6ca9 Author: Georg-Johann Lay Date: Tue May 7 19:42:30 2024 +0200 AVR: target/114975 - Add combine-pattern for __parityqi2. PR target/114975 gcc

[gcc r15-317] AVR: target/114975 - Add combine-pattern for __popcountqi2.

2024-05-08 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:c8f4bbb824fafecf021a802324cd79e64b03b947 commit r15-317-gc8f4bbb824fafecf021a802324cd79e64b03b947 Author: Georg-Johann Lay Date: Tue May 7 19:39:55 2024 +0200 AVR: target/114975 - Add combine-pattern for __popcountqi2. PR target/114975 gcc

[patch,avr] PR114975: Better 8-bit popcount detection.

2024-05-07 Thread Georg-Johann Lay
Add a pattern for better popcount detection. Ok for master? Johann -- AVR: target/114975 - Add combine-pattern for __popcountqi2. PR target/114975 gcc/ * config/avr/avr.md: Add combine pattern for 8-bit popcount detection. gcc/testsuite/ *

[patch,avr] PR114975: Better 8-bit parity detection.

2024-05-07 Thread Georg-Johann Lay
Add a combine pattern for parity detection. Ok for master? Johann AVR: target/114975 - Add combine-pattern for __parityqi2. PR target/114975 gcc/ * config/avr/avr.md: Add combine pattern for 8-bit parity detection. gcc/testsuite/ *

[gcc r15-286] AVR: target/114835 - Tweak popcountqi2

2024-05-07 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:8d2c93fcfe1afc5291bbbe162c3b7ad5764f6d8d commit r15-286-g8d2c93fcfe1afc5291bbbe162c3b7ad5764f6d8d Author: Wolfgang Hospital Date: Tue May 7 16:24:39 2024 +0200 AVR: target/114835 - Tweak popcountqi2 libgcc/ PR target/114835 *

[patch,avr,applied] PR target/114835 - Tweak __popcountqi2

2024-05-07 Thread Georg-Johann Lay
Applied this tweak as proposed in the PR. Johann -- commit 6b73a9879a4503ebee2cb1a3ad243f60c922ca31 Author: Wolfgang Hospital Date: Tue May 7 16:24:39 2024 +0200 AVR: target/114835 - Tweak popcountqi2 libgcc/ PR target/114835 * config/avr/lib1funcs.S

[gcc r12-10419] AVR: Backport device support from v13.3.

2024-05-07 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:ef10d72003f87ab2d88c852da75d407c0c990e99 commit r12-10419-gef10d72003f87ab2d88c852da75d407c0c990e99 Author: Georg-Johann Lay Date: Tue May 7 14:00:43 2024 +0200 AVR: Backport device support from v13.3. gcc/ * config/avr/avr-mcus.def: Add new MCUs

[gcc r12-10418] AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM.

2024-05-07 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:231728b6dd7684e031f2a05e7e43bab54b7f2c5e commit r12-10418-g231728b6dd7684e031f2a05e7e43bab54b7f2c5e Author: Georg-Johann Lay Date: Fri May 3 18:47:50 2024 +0200 AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM. ipa/92606: Inter-procedural

[gcc r14-10175] AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM.

2024-05-07 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:c6141ad24f73cf1771e33c7d7edf1d80d8df70b8 commit r14-10175-gc6141ad24f73cf1771e33c7d7edf1d80d8df70b8 Author: Georg-Johann Lay Date: Fri May 3 18:47:50 2024 +0200 AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM. ipa/92606: Inter-procedural

[gcc r13-8699] AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM.

2024-05-06 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:287293786d541217e7bf47cab6b8fb522ae9156a commit r13-8699-g287293786d541217e7bf47cab6b8fb522ae9156a Author: Georg-Johann Lay Date: Fri May 3 18:47:50 2024 +0200 AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM. ipa/92606: Inter-procedural

[gcc r15-207] AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM.

2024-05-06 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:08e752e72363ae7fd5a5fcb70913a0f7b240387b commit r15-207-g08e752e72363ae7fd5a5fcb70913a0f7b240387b Author: Georg-Johann Lay Date: Fri May 3 18:47:50 2024 +0200 AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM. ipa/92606: Inter-procedural

[patch,avr,applied] PR92606: Don't optimize PROGMEM data against non-PROGMEM

2024-05-03 Thread Georg-Johann Lay
Applied to fix this long standing wrong-code bug. Johann -- AVR: ipa/92606 - Don't optimize PROGMEM data against non-PROGMEM. ipa/92606: Inter-procedural analysis optimizes data across address-spaces and PROGMEM. As of v14, the PROGMEM part is still not fixed (and there is still no target

Re: [PATCH][wwwdocs] Improve grammar for AVR changes in GCC 14

2024-04-22 Thread Georg-Johann Lay
Am 22.04.24 um 12:04 schrieb Jonathan Wakely: OK for wwwdocs? For me it's ok (I am not a native speaker though, which is the reason the typos are there to begin with). Johann htdocs/gcc-14/changes.html | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git

[gcc r13-8638] AVR: target/114794 - Tweak __udivmodqi4

2024-04-21 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:7bd8428da72a0a1d3bef4e50be4b60b981ed540d commit r13-8638-g7bd8428da72a0a1d3bef4e50be4b60b981ed540d Author: Georg-Johann Lay Date: Sun Apr 21 14:33:50 2024 +0200 AVR: target/114794 - Tweak __udivmodqi4 libgcc/ PR target/114794 * config

[gcc r14-10058] AVR: target/114794 - Tweak __udivmodqi4

2024-04-21 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:a44d16efa7a508f8b8f303417d0714c39f159725 commit r14-10058-ga44d16efa7a508f8b8f303417d0714c39f159725 Author: Georg-Johann Lay Date: Sun Apr 21 14:33:50 2024 +0200 AVR: target/114794 - Tweak __udivmodqi4 libgcc/ PR target/114794

[patch,avr,applied] PR114794 - Tweak divmodqi4

2024-04-21 Thread Georg-Johann Lay
Instead of jumping to a place that ROLs r_arg1 (with C=0), LSL r_arg1 can be performed prior to the loop. This reduces the number of loopings from 9 to 8. Applied as obvious. Johann AVR: target/114794 - Tweak __udivmodqi4 libgcc/ PR target/114794 * config/avr/lib1funcs.S

[gcc r13-8616] AVR: target/114752 - Fix ICE on inline asm const 64-bit float operand

2024-04-17 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:ca7d454804045a39d10a9b1f691a940aeacdf25b commit r13-8616-gca7d454804045a39d10a9b1f691a940aeacdf25b Author: Georg-Johann Lay Date: Wed Apr 17 10:26:05 2024 +0200 AVR: target/114752 - Fix ICE on inline asm const 64-bit float operand gcc/ PR target

[gcc r14-10003] AVR: target/114752 - Fix ICE on inline asm const 64-bit float operand

2024-04-17 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:909c6faf2c726178d115726e56304eac91cff6e9 commit r14-10003-g909c6faf2c726178d115726e56304eac91cff6e9 Author: Georg-Johann Lay Date: Wed Apr 17 10:26:05 2024 +0200 AVR: target/114752 - Fix ICE on inline asm const 64-bit float operand gcc/ PR target

[patch,avr,applied] PR114752 - Fix ICE on inline asm const 64-bit float operand

2024-04-17 Thread Georg-Johann Lay
Applied as obvious Johann -- AVR: target/114752 - Fix ICE on inline asm const 64-bit float operand gcc/ PR target/114752 * config/avr/avr.cc (avr_print_operand) [CONST_DOUBLE_P]: Handle DFmode. diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc index

[gcc r13-8611] AVR: Add 8 more avrxmega3 MCUs.

2024-04-15 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:f585f8f9081ddecad63fa654297811e434613e6c commit r13-8611-gf585f8f9081ddecad63fa654297811e434613e6c Author: Georg-Johann Lay Date: Mon Apr 15 19:23:32 2024 +0200 AVR: Add 8 more avrxmega3 MCUs. gcc/ * config/avr/avr-mcus.def: Add: avr16du14

AVR: Add some more avrxmega3 devices

2024-04-15 Thread Georg-Johann Lay
Applied the following patch.. Johann -- AVR: Add 8 more avrxmega3 MCUs. gcc/ * config/avr/avr-mcus.def: Add: avr16du14, avr16du20, avr16du28, avr16du32, avr32du14, avr32du20, avr32du28, avr32du32. * doc/avr-mmcu.texi: Rebuild. diff --git

[gcc r14-9977] AVR: Add 8 more avrxmega3 MCUs.

2024-04-15 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:6e11bb451babfe47bb6b7ad42335019f2771a32e commit r14-9977-g6e11bb451babfe47bb6b7ad42335019f2771a32e Author: Georg-Johann Lay Date: Mon Apr 15 19:23:32 2024 +0200 AVR: Add 8 more avrxmega3 MCUs. gcc/ * config/avr/avr-mcus.def: Add: avr16du14

gcc-wwwdocs branch master updated. 2bdfd673b266343e7988fe2cd2b44a02c94dce09

2024-04-09 Thread Georg-Johann Lay via Gcc-cvs-wwwdocs
--- commit 2bdfd673b266343e7988fe2cd2b44a02c94dce09 Author: Georg-Johann Lay Date: Tue Apr 9 11:55:29 2024 +0200 gcc-14: AVR: Note on silicon bug. diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html index 1b345b32..ff69e859 100644 --- a/htdocs/gcc-14/changes.html +++ b/htdocs/gcc-14/changes.html @@ -584

[gcc r14-9630] AVR: Adjust message for SIGNAL and INTERRUPT usage

2024-03-22 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:65b7d1862e11784a0ce67ab758e06dd8aa65b181 commit r14-9630-g65b7d1862e11784a0ce67ab758e06dd8aa65b181 Author: Georg-Johann Lay Date: Fri Mar 22 17:29:21 2024 +0100 AVR: Adjust message for SIGNAL and INTERRUPT usage gcc/ * config/avr/avr.cc

[patch,avr,applied] Adjust message for SIGNAL and INTERRUPT usage

2024-03-22 Thread Georg-Johann Lay
Applied this patchlet for a more precise diagnostic. Johann -- AVR: Adjust message for SIGNAL and INTERRUPT usage gcc/ * config/avr/avr.cc (avr_set_current_function): Adjust diagnostic for deprecated SIGNAL and INTERRUPT usage without respective header. diff --git

[gcc r14-9514] avr.md - Tweak xor insn constraints.

2024-03-18 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:9361f19e081294b04e16ac2f6056b3b910f27ff4 commit r14-9514-g9361f19e081294b04e16ac2f6056b3b910f27ff4 Author: Georg-Johann Lay Date: Mon Mar 18 08:50:02 2024 +0100 avr.md - Tweak xor insn constraints. xor insn can handle some more values without the requirement

[patch,avr,applied] Tweak xor insn constraints

2024-03-18 Thread Georg-Johann Lay
xor insn allows some more values without the requirement of a scratch register. This patch adds new constraint alternative for such values. The output function avr_out_bitop already handles these cases, so no change is needed there. Johann -- avr.md - Tweak xor insn constraints. xor insn

[gcc r14-9413] AVR: Fix typos in comment, indentation glitches in avr.md.

2024-03-09 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:f5a805d82902fe2d6e0a7af8c0e6519f9d25a8f3 commit r14-9413-gf5a805d82902fe2d6e0a7af8c0e6519f9d25a8f3 Author: Georg-Johann Lay Date: Sat Mar 9 13:07:17 2024 +0100 AVR: Fix typos in comment, indentation glitches in avr.md. gcc/ * config/avr/avr.md

[gcc r14-9410] AVR: Add cost computation for some insn combine patterns.

2024-03-09 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:e8cc1f956b75a6bf74c5f5262ddced9451dcccac commit r14-9410-ge8cc1f956b75a6bf74c5f5262ddced9451dcccac Author: Georg-Johann Lay Date: Sat Mar 9 10:00:44 2024 +0100 AVR: Add cost computation for some insn combine patterns. gcc/ * config/avr/avr.cc

[patch,avr,applied] Add some more cost computation

2024-03-09 Thread Georg-Johann Lay
This adds cost computation for some insn combiner patterns and improves a few other nits. Johann -- AVR: Add cost computation for some insn combine patterns. gcc/ * config/avr/avr.cc (avr_rtx_costs_1) [PLUS]: Determine cost for usum_widenqihi and add_zero_extend1.

[gcc r14-9389] AVR: Add an insn combine pattern for offset computation.

2024-03-08 Thread Georg-Johann Lay via Gcc-cvs
https://gcc.gnu.org/g:40209cb15a3f2af8233ee887dc960992f358ad86 commit r14-9389-g40209cb15a3f2af8233ee887dc960992f358ad86 Author: Georg-Johann Lay Date: Fri Mar 8 13:29:13 2024 +0100 AVR: Add an insn combine pattern for offset computation. Computing uint16_t += 2 * uint8_t can

[patch,avr,applied] Add an insn combine pattern for offset computation.

2024-03-08 Thread Georg-Johann Lay
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. Johann -- AVR: Add an insn combine pattern for offset

[patch,avr.applied] Adjusted rtx costs of plus + zero_extend

2024-03-06 Thread Georg-Johann Lay
Adjusted rtx costs of (plus (zero_extend (...)) reg). Johann -- AVR: Adjust rtx cost of plus + zero_extend. gcc/ * config/avr/avr.cc (avr_rtx_costs_1) [PLUS+ZERO_EXTEND]: Adjust rtx cost. diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc index

[patch,avr,applied] Add two RTL peepholes.

2024-03-05 Thread Georg-Johann Lay
Register alloc may expand a 3-operand arithmetic X = Y o CST as X = CST X o= Y where it may be better to instead: X = Y X o= CST Johann -- AVR: Add two RTL peepholes. Register alloc may expand a 3-operand arithmetic X = Y o CST as X = CST X o= Y where it may be better to

[patch,avr,applied] Improve output of insn "*insv.any_shift.".

2024-03-05 Thread Georg-Johann Lay
Applied Roger's proposed improvements with some changes: Lengthy code is more convenient in avr.cc than in an insn output function, and it makes it easy to work out the exact instruction length. Moreover, the code can handle shifts with offset zero (cases of *and3 insns). Passed with no new

[patch,avr,applied] Use more C++ ish coding style.

2024-03-03 Thread Georg-Johann Lay
This is a no-op patch that uses some more C++ / C99 features if possible. Johann -- AVR: Use more C++ ish coding style. gcc/ * config/avr/avr.cc: Resolve ATTRIBUTE_UNUSED. Use bool in place of int for boolean logic (if possible). Move declarations to definitions (if

[avr,patch,applied] ad target/114100 - Don't print unused frame pointer adjustments.

2024-03-03 Thread Georg-Johann Lay
This addendum ports a corner case optimization from -mno-fuse-add to -mfuse-add: When a base register needs temporal adjustment, and the base is the frame pointer, then there are cases where the post-adjustment is not needed. Passes without new regressions on ATtiny40. Johann -- AVR: ad

[patch,avr,applied] ad target/92729: Remove last cc0 remains.

2024-03-03 Thread Georg-Johann Lay
Removed the last cc0 remains. Johann -- AVR: ad target/92792 - Remove insn attribute "cc" and its (dead) uses. The backend has remains of cc0 condition code. Unfortunately, all that information is useless with CCmode, and their use was removed with the removal of NOTICE_UPDATE_CC in PR92729

[patch,avr,applied] Avoid magic numbers for register numbers.

2024-03-02 Thread Georg-Johann Lay
There are some places where avr.cc uses magic numbers like 17 that are actually register numbers. This patch defines constants like REG_17 and uses them instead of the magic numbers when a register number is meant. Johann -- AVR: Use REG_ constants instead of magic numbers . There are some

[patch,avr,applied] Take into account -mtiny-stack in frame pointer adjustments

2024-03-02 Thread Georg-Johann Lay
Applied this addendum to avr PR114100: When the frame pointer is adjusted and -mtiny-stack is set, then it is enough to adjust the low part of the frame pointer. Johann -- AVR: target/114100 - Factor in -mtiny-stack in frame pointer adjustments gcc/ PR target/114100 *

[patch,avr,applied] Adjust help messages.

2024-03-01 Thread Georg-Johann Lay
This patch unifies help screen messages. Johann -- AVR: Overhaul help screen gcc/ * config/avr/avr.opt: Overhaul help screen.diff --git a/gcc/config/avr/avr.opt b/gcc/config/avr/avr.opt index ea35b7d5b4e..c3ca8379ee3 100644 --- a/gcc/config/avr/avr.opt +++ b/gcc/config/avr/avr.opt @@

[patch,avr,applied] PR target/114132: Sets up a frame without need

2024-02-29 Thread Georg-Johann Lay
The condition when a frame pointer is required because arguments are passe on the stack was not exact, and there were situations when a frame was set up without a need for it. Johann -- AVR: target/114132 - Code sets up a frame pointer without need. The condition CUMULATIVE_ARGS.nregs == 0 in

Re: [PATCH v1] Internal-fn: Add new internal function SAT_ADDU

2024-02-27 Thread Georg-Johann Lay
Am 27.02.24 um 12:15 schrieb Tamar Christina: Am 19.02.24 um 08:36 schrieb Richard Biener: On Sat, Feb 17, 2024 at 11:30 AM wrote: From: Pan Li This patch would like to add the middle-end presentation for the unsigned saturation add. Aka set the result of add to the max when overflow.

Re: [PATCH v1] Internal-fn: Add new internal function SAT_ADDU

2024-02-27 Thread Georg-Johann Lay
Am 19.02.24 um 08:36 schrieb Richard Biener: On Sat, Feb 17, 2024 at 11:30 AM wrote: From: Pan Li This patch would like to add the middle-end presentation for the unsigned saturation add. Aka set the result of add to the max when overflow. It will take the pattern similar as below.

[patch,avr,applied] Tag optimization options as such.

2024-02-26 Thread Georg-Johann Lay
Some avr options were missing the "Optimization" flag, which is added by this patch. Johann -- AVR: Tag optimization options as "Optimization". Some options that are pure optimizations where not tagged as such. gcc/ * config/avr/avr.opt (mcall-prologues, mrelax, maccumulate-args)

[avr,patch,applied] Remove some dead code

2024-02-26 Thread Georg-Johann Lay
This code was dead in the block where it lived, because avr_adiw_reg_p() is only true when ADIW and SBIW are available -- which is not the case for AVR_TINY. Johann -- AVR: Dead code removal. gcc/ * config/avr/avr.cc (avr_out_compare) [AVR_TINY]: Remove code in an "if

[patch,avr] PR114100 : Better indirect addressing on reduced cores

2024-02-26 Thread Georg-Johann Lay
A description of what the patch does follows in the commit message below. On ATmega128, there are no changes in test results. On ATtiny40 (reduced core) there are no new execution fails, but apart from that there is quite some noise in the delta: unsupported (memory full) -> pass unsupported

[patch,avr,applied] Use int types of exact width and signedness in built-ins prototypes

2024-02-20 Thread Georg-Johann Lay
AVR: Use types of exact size and signedness in built-ins. The AVR built-ins used types like "int" or "char" that don't have exact signedness or type size which depend on -mint8 and -f[no-][un-]signed-char etc. As the built-ins are modelling machine instructions of given type sizes and

[patch,avr,applied] Use @defbuiltin to document built-ins.

2024-02-20 Thread Georg-Johann Lay
This patch uses @defbuiltin to document built-in functions so that the functions are listed in the index. Previously, @table @code was used. Johann -- AVR: extend.texi - Use @defbuiltin to document built-ins. gcc/ * doc/extend.texi (AVR Built-in Functions): Use @defbuiltin

[patch,avr,applied] Minor improvements to option and attribute documentation.

2024-02-18 Thread Georg-Johann Lay
Applied this patch. Johann -- AVR: Improve documentation for -mmcu=. gcc/ * doc/invoke.texi (AVR Options) <-mmcu>: Remove "Atmel". Note on complete device support. AVR: Add examples for ISR macro to interrupt attribute doc. gcc/ * doc/extend.texi (AVR Function

[patch,avr,applied] Fix PR target/113927: Simple code triggers a stack frame

2024-02-15 Thread Georg-Johann Lay
Applied this patch Johann -- AVR: target 113927 - Simple code triggers stack frame for Reduced Tiny. The -mmcu=avrtiny cores have no ADIW and SBIW instructions. This was implemented by clearing all regs out of regclass ADDW_REGS so that constraint "w" never matched. This corrupted the

Re: [pushed] wwwdocs: gcc-14: Fix typo in AVR section

2024-02-14 Thread Georg-Johann Lay
Am 14.02.24 um 01:40 schrieb Gerald Pfeifer: Note that is not part of current HTML standards; can we simply remove it? Hi Gerald, thanks for looking into this. The is not strictly needed, I just has the case that "-Wl,--defsym,__RODATA_FLASH_START__=32k" had a line-break in it. In

[patch,avr,applied] Addendum to target/112944: Initialize FLMAP as needed

2024-02-12 Thread Georg-Johann Lay
This code will link against parts of the startup code from AVR-LibC when it is needed to init bit-field FLMAP. Johann -- AVR: target/112944 - Addendum: Link code to initialize NVMCTRL_CTRLB.FLMAP For devices that see a part for the flash memory in the RAM address space, bit-field

Will PR rtl-optimization/101188 be back-ported to v13 ?

2024-02-09 Thread Georg-Johann Lay
We have this (rare?) wrong code bug https://gcc.gnu.org/PR101188 which Jeff fixed for v14: https://gcc.gnu.org/r14-1738 The fix doesn't fit 100% for v13 but the PR has a backport for v13 in comment #16. Would be great if this could be part of v13.3, but I don't have the resources to reg-test

[patch,avr,applied] Tidy up gen-avr-mmcu-specs.cc

2024-02-08 Thread Georg-Johann Lay
This patchlet tidies up gen-avr-mmcu-specs.cc. Some information was computed more than once, in different functions. The patch uses a new struct to pass around information. Johann AVR: Tidy up gen-avr-mmcu-specs.cc gcc/ * config/avr/gen-avr-mmcu-specs.cc (struct McuInfo): New.

[patch,avr,applied] PR113824: Fix multilib set for ATA5795

2024-02-08 Thread Georg-Johann Lay
This device was in the wrong multilib set. Johann -- AVR: target/113824 - Fix multilib set for ATA5795. gcc/ PR target/113824 * config/avr/avr-mcus.def (ata5797): Move from avr5 to avr4. * doc/avr-mmcu.texi: Rebuild.diff --git a/gcc/config/avr/avr-mcus.def

[patch, avr, applied] Specs always define __AVR_PM_BASE_ADDRESS__ when the core has it

2024-02-08 Thread Georg-Johann Lay
This defines the spec always when the core has it, not only override it when it differs from the core's value. Johann -- AVR: Always define __AVR_PM_BASE_ADDRESS__ in specs provided the core has it. gcc/ * config/avr/gen-avr-mmcu-specs.cc (print_mcu) <*cpp_mcu>: Spec always

[patch,avr,applied]: Rename %_misc specs.

2024-02-08 Thread Georg-Johann Lay
This renames pecs like cc1_misc to cc1_rodata_in_ram to point out their purpose. Johann -- AVR: Rename device-specs %_misc to %_rodata_in_ram. gcc/ * config/avr/gen-avr-mmcu-specs.cc: Rename spec cc1_misc to cc1_rodata_in_ram. Rename spec link_misc to link_rodata_in_ram.

[patch,avr,applied] Tabify avr.cc

2024-01-31 Thread Georg-Johann Lay
avr.cc still had a mix of spaces and TABs for indentation. This patch uses TABs according to the coding rules. Applied prior to the creation of the v14 branch so that master -> v14 back-porting will be easier. Johann -- AVR: Tabify avr.cc gcc/ * config/avr/avr.cc: Tabify. <>

[patch,avr,applied] Add more devices.

2024-01-30 Thread Georg-Johann Lay
Applied, this adds 6 more devices, 2 new and 4 fairly old for completeness. Johann -- AVR: Add AVR64DU and some older devices. gcc/ * config/avr/avr-mcus.def: Add AVR64DU28, AVR64DU32, ATA5787, ATA5835, ATtiny64AUTO, ATA5700M322. * doc/avr-mmcu.texi: Rebuild.diff --git

Re: [middle-end PATCH] Prefer PLUS over IOR in RTL expansion of multi-word shifts/rotates.

2024-01-24 Thread Georg-Johann Lay
Am 22.01.24 um 08:45 schrieb Richard Biener: On Fri, Jan 19, 2024 at 5:06 PM Georg-Johann Lay wrote: Am 18.01.24 um 20:54 schrieb Roger Sayle: This patch tweaks RTL expansion of multi-word shifts and rotates to use PLUS rather than IOR for disjunctive operations. During expansion

Re: [middle-end PATCH] Prefer PLUS over IOR in RTL expansion of multi-word shifts/rotates.

2024-01-19 Thread Georg-Johann Lay
Am 18.01.24 um 20:54 schrieb Roger Sayle: This patch tweaks RTL expansion of multi-word shifts and rotates to use PLUS rather than IOR for disjunctive operations. During expansion of these operations, the middle-end creates RTL like (X<>C2) where the constants C1 and C2 guarantee that bits

[patch,avr,applied] Tabify some files.

2024-01-18 Thread Georg-Johann Lay
The C++ files in the avr backend are a mix of TABS and 8 spaces for indentation. This patch rectifies that according to the coding rules. I applied this prior to the advent of the v14 branch so that back-porting will be easier, at least from the new master to v14. Johann -- gcc/

[patch,avr,applied] Minor fixes in device-specs generation

2024-01-18 Thread Georg-Johann Lay
This fixes a typo in the diagnose of a spec. Also re-uses a spec for a simpler specs file. Johann -- AVR: Fix typo in device-specs generation. Reuse -m[no-]rodata-in-ram checker. gcc/ * config/avr/gen-avr-mmcu-specs.cc (diagnose_rodata_in_ram): Fix typo in the diagnostic,

[patch,avr,applied] Add support for AVR16EB, ABR16EA and AVR32EA devices

2024-01-16 Thread Georg-Johann Lay
This adds some more entries to avr-mcus.def Johann -- AVR: Add AVR16EB, AVR16EA and AVR32EA devices. gcc/ * config/avr/avr-mcus.def (avr16eb14, avr16eb20, avr16eb28, avr16eb32) (avr16ea28, avr16ea32, avr16ea48, avr32ea28, avr32ea32, avr32ea48): Add. *

[patch,avr,applied] Document -mskip-bug

2024-01-15 Thread Georg-Johann Lay
Option -mskip-bug is no more missing from the documentation. Johann -- AVR: Document option -mskip-bug. gcc/ * doc/invoke.texi (AVR Options) [-mskip-bug]: Add documentation. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 1773f0d3f0c..01170c0ce5c 100644 ---

Re: Why is -ffold-mem-offsets a target option?

2024-01-15 Thread Georg-Johann Lay
Am 15.01.24 um 13:20 schrieb Richard Biener: On Mon, Jan 15, 2024 at 11:22 AM Georg-Johann Lay wrote: Just noticed that -ffold-mem-offsets is a target option, i.e. it is shown with --help=target > grep -A3 mem-off common.opt ffold-mem-offsets Target Bool Var(flag_fold_mem_offsets) I

Why is -ffold-mem-offsets a target option?

2024-01-15 Thread Georg-Johann Lay
Just noticed that -ffold-mem-offsets is a target option, i.e. it is shown with --help=target > grep -A3 mem-off common.opt ffold-mem-offsets Target Bool Var(flag_fold_mem_offsets) Init(1) Fold instructions calculating memory offsets to the memory access instruction if possible. Is that

[patch,avr,applied] Fix PR target/113156 - ICE when building libgcc

2024-01-15 Thread Georg-Johann Lay
I went ahead and installed Andrew's patch https://gcc.gnu.org/r14-7240 Johann Am 15.01.24 um 00:19 schrieb Levente via Gcc-help: I'm trying to set up a toolchain for avr-dd MCUs, and I get this error message when I try to compile gcc: Lev -- Author: Andrew Pinski Date: Mon Jan 15

[patch,wwwdocs,avr,applied] Add AVR news for v14.

2024-01-14 Thread Georg-Johann Lay
https://gcc.gnu.org/gcc-14/changes.html#avr Johann -- diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html index 9c9dfa44..8c738683 100644 --- a/htdocs/gcc-14/changes.html +++ b/htdocs/gcc-14/changes.html @@ -342,7 +342,55 @@ a work-in-progress. - +AVR + + On AVR64* and

[patch,avr,ping #3] PR target/112944: Support .rodata in RAM for AVR64* and AVR128* devices

2024-01-14 Thread Georg-Johann Lay
Ping #3 RFA: https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640140.html Ping #1 https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640981.html Ping #2 https://gcc.gnu.org/pipermail/gcc-patches/2024-January/641912.html This is a patch that locates .rodata in flash for some AVR

[patch,avr,applied] Add link to sample ld-script in avr-gcc wiki.

2024-01-12 Thread Georg-Johann Lay
This links an example from the avr-gcc wiki that shows how to set up a linker script for the __flashN avr address spaces in section AVR Named Address Spaces of the GCC user manual. Johann -- AVR: Documentation: Web-Link an example ld-Script for Address-Space __flashN. gcc/ *

[patch,avr,applied] Fix documentation for attribute "address".

2024-01-12 Thread Georg-Johann Lay
avr attribute "address" only supports exactly one argument, fixed thusly. Johann -- AVR: Documentation: Attribute address has exactly one argument. gcc/ * doc/extend.texi (AVR Variable Attributes) [address]: Remove documentation for a version without argument, which is not

[patch,avr,applied] Fix PR107201 -nodevicelib not working for all devices.

2024-01-12 Thread Georg-Johann Lay
Since the advent of devices AVR*, the spec pattern mmcu=avr* does no more work to discriminate between devices and cores like avr51. This means -nodevicelib no more works for AVR* devices because that option is removed for mmcu=avr* (which were only cores in the old days). Instead of that

Re: [patch,avr,applied] PR target/112952 Fix attribute "io" et al. handling.

2024-01-12 Thread Georg-Johann Lay
Am 12.01.24 um 04:37 schrieb Jan-Benedict Glaw: On Thu, 2024-01-04 17:28:02 +0100, Georg-Johann Lay wrote: This fixes the avr-specific attributes io, io_low and address, that are all basically the same except that io and io_low imply assertions on allowed addressing modes. --- a/gcc

[patch,avr,applied] invoke.texi: Move avr internal options to their own @subsubsection.

2024-01-11 Thread Georg-Johann Lay
This adds a new @subsubsection "AVR Internal Options" in "AVR Options". "Internal" options are options that are not supposed to be set by the user, but are solely required to ship information from device-specs to the compiler proper. (Without device-specs, non of these options would be needed

[patch,avr,applied] Small improvements to texi documentation.

2024-01-11 Thread Georg-Johann Lay
Installes this minor improvement to the AVR documentations. Johann -- gcc/ * config/avr/avr-devices.cc (avr_texinfo): Adjust documentation for Reduced Tiny. * config/avr/gen-avr-mmcu-texi.cc (main): Add @anchor for each core. * doc/extend.texi (AVR Variable

[patch,avr,applied] Fix some avr test cases

2024-01-07 Thread Georg-Johann Lay
The patch below fixes some obvious problems in gcc.target/avr: * Remove duplicate -mmcu= * Skip tests with address spaces on Reduced Tiny which does not support address spaces at all. * Address spaces are GNU-C, but some tests were missing -std=gnu* * Don't test address-space __flash1 on

Re: [patch, testsuite, applied] PR52641 Fix more fallout from sloppy tests.

2024-01-07 Thread Georg-Johann Lay
Am 07.01.24 um 17:45 schrieb Jeff Law: On 1/7/24 08:53, Georg-Johann Lay wrote: Made some tests more generic so they can pass on more targets. Johann -- testsuite/52641: Fix fallout from sloppy tests. gcc/testsuite/  PR testsuite/52641  * gcc.dg/torture/pr110838.c: Use proper

[patch, testsuite, applied] PR52641 Fix more fallout from sloppy tests.

2024-01-07 Thread Georg-Johann Lay
Made some tests more generic so they can pass on more targets. Johann -- testsuite/52641: Fix fallout from sloppy tests. gcc/testsuite/ PR testsuite/52641 * gcc.dg/torture/pr110838.c: Use proper shift offset to get MSB or int. * gcc.dg/torture/pr112282.c: Use at least

[patch,testsuite,applied] PR52641: Fix more fallout from sloppy tests.

2024-01-07 Thread Georg-Johann Lay
This patch rectifies more tests that make assumptions on sizeof(int), sizeof(void*), etc. Johann -- testsuite/52641: Fix fallout from sloppy tests. gcc/testsuite/ PR testsuite/52641 * gcc.dg/memchr-3.c [avr]: Anticipate -Wbuiltin-declaration-mismatch. *

[patch,testsuite,applied] PR52641: Fix more sloppy tests

2024-01-06 Thread Georg-Johann Lay
This fixes more of the sloppy tests that assume sizeof(int) = 4 etc. Johann -- testsuite/52641: Fix sloppy tests that did not care for sizeof(int)=2 etc. gcc/testsuite/ PR testsuite/52641 * gcc.c-torture/compile/attr-complex-method-2.c [target=avr]: Check for "divsc3"

Ping #2 [patch,avr] PR112944: Support .rodata in RAM for AVR64* and AVR128* devices

2024-01-05 Thread Georg-Johann Lay
Ping #2 https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640140.html FYI, Binutils https://sourceware.org/PR31124 is upstream. Johann This is a patch that locates .rodata in flash for some AVR devices that can support it. All new functionality depends on Binutils PR31124 and is

[patch,avr,applied] PR target/112952 Fix attribute "io" et al. handling.

2024-01-04 Thread Georg-Johann Lay
This fixes the avr-specific attributes io, io_low and address, that are all basically the same except that io and io_low imply assertions on allowed addressing modes. It also improves some diagnostics. Johann -- gcc/ PR target/112952 * config/avr/avr.cc

[patch,avr,ping] PR112944: Support .rodata in RAM for AVR64* and AVR128* devices

2023-12-19 Thread Georg-Johann Lay
Ping #1 https://gcc.gnu.org/pipermail/gcc-patches/2023-December/640140.html FYI, Binutils https://sourceware.org/PR31124 us upstream. Johann This is a patch that locates .rodata in flash for some AVR devices that can support it. All new functionality depends on Binutils PR31124 and is

varasm.cc: how to hook in assemble_variable ?

2023-12-19 Thread Georg-Johann Lay
The avr backend supports variable attributes like the following that allow to define symbols: __attribute__((address(1234)) char a_symbol; would produce assembly .global a_symbol a_symbol = 1234 This works except for -fdata-sections -fno-common (PR112952), and I am struggling to find a fix.

[patch,avr] PR112944: Support .rodata in RAM for AVR64* and AVR128* devices

2023-12-11 Thread Georg-Johann Lay
This is a patch that locates .rodata in flash for some AVR devices that can support it. All new functionality depends on Binutils PR31124 and is switched on by configure checks for the new emulations. https://sourceware.org/PR31124 For explanation of the gcc part see commit message below.

  1   2   3   4   5   6   7   8   9   10   >