[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 --- Comment #7 from Gaius Mulley --- Many thanks for the fix! modula-2 bootstraps successfully on x86_32. gcc/m2/gm2-libs/SYSTEM.mod implements arbitrary sized rotates and shifts for the runtime (as well as export system specific procedures/types). gcc/m2/gm2-libs/SYSTEM.mod:{ShiftVal,ShiftLeft,ShiftRight} and gcc/m2/gm2-libs/SYSTEM.mod:{RotateVal,RotateLeft,RotateRight} for example.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 --- Comment #6 from CVS Commits --- The master branch has been updated by Roger Sayle : https://gcc.gnu.org/g:e68a31549d9827030391d837951be96a5f95f291 commit r14-2866-ge68a31549d9827030391d837951be96a5f95f291 Author: Roger Sayle Date: Sat Jul 29 17:07:58 2023 +0100 [Committed] Use QImode for offsets in zero_extract/sign_extract in i386.md As suggested by Uros, this patch changes the ZERO_EXTRACTs and SIGN_EXTRACTs in i386.md to consistently use QImode for bit offsets (i.e. third and fourth operands), matching the use of QImode for bit counts in shifts and rotates. This iteration also corrects the "ne:QI" vs "eq:QI" mistake in the previous version, which was responsible for PR 110787 and PR 110790 and so was rapidly reverted last weekend. New test cases have been added to check the correct behaviour. 2023-07-29 Roger Sayle gcc/ChangeLog PR target/110790 * config/i386/i386.md (extv): Use QImode for offsets. (extzv): Likewise. (insv): Likewise. (*testqi_ext_3): Likewise. (*btr_2): Likewise. (define_split): Likewise. (*btsq_imm): Likewise. (*btrq_imm): Likewise. (*btcq_imm): Likewise. (define_peephole2 x3): Likewise. (*bt): Likewise (*bt_mask): New define_insn_and_split. (*jcc_bt): Use QImode for offsets. (*jcc_bt_1): Delete obsolete pattern. (*jcc_bt_mask): Use QImode offsets. (*jcc_bt_mask_1): Likewise. (define_split): Likewise. (*bt_setcqi): Likewise. (*bt_setncqi): Likewise. (*bt_setnc): Likewise. (*bt_setncqi_2): Likewise. (*bt_setc_mask): New define_insn_and_split. (bmi2_bzhi_3): Use QImode offsets. (*bmi2_bzhi_3): Likewise. (*bmi2_bzhi_3_1): Likewise. (*bmi2_bzhi_3_1_ccz): Likewise. (@tbm_bextri_): Likewise. gcc/testsuite/ChangeLog PR target/110790 * gcc.target/i386/pr110790-1.c: New test case. * gcc.target/i386/pr110790-2.c: Likewise.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #5 from Richard Biener --- Fixed.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 --- Comment #4 from CVS Commits --- The master branch has been updated by Roger Sayle : https://gcc.gnu.org/g:9f66753ef48f37729a88735ae1a2bf2d2558e69f commit r14-2743-g9f66753ef48f37729a88735ae1a2bf2d2558e69f Author: Roger Sayle Date: Mon Jul 24 12:34:23 2023 +0100 [Committed] PR target/110787: Revert QImode offsets in {zero,sign}_extract. My recent patch to use QImode for bit offsets in ZERO_EXTRACTs and SIGN_EXTRACTs in the i386 backend shouldn't have resulted in any change behaviour, but as reported by Rainer it produces a bootstrap failure in gm2. This reverts the problematic patch whilst we investigate the underlying cause. Committed as obvious. 2023-07-23 Roger Sayle gcc/ChangeLog PR target/110787 PR target/110790 Revert patch. * config/i386/i386.md (extv): Use QImode for offsets. (extzv): Likewise. (insv): Likewise. (*testqi_ext_3): Likewise. (*btr_2): Likewise. (define_split): Likewise. (*btsq_imm): Likewise. (*btrq_imm): Likewise. (*btcq_imm): Likewise. (define_peephole2 x3): Likewise. (*bt): Likewise (*bt_mask): New define_insn_and_split. (*jcc_bt): Use QImode for offsets. (*jcc_bt_1): Delete obsolete pattern. (*jcc_bt_mask): Use QImode offsets. (*jcc_bt_mask_1): Likewise. (define_split): Likewise. (*bt_setcqi): Likewise. (*bt_setncqi): Likewise. (*bt_setnc): Likewise. (*bt_setncqi_2): Likewise. (*bt_setc_mask): New define_insn_and_split. (bmi2_bzhi_3): Use QImode offsets. (*bmi2_bzhi_3): Likewise. (*bmi2_bzhi_3_1): Likewise. (*bmi2_bzhi_3_1_ccz): Likewise. (@tbm_bextri_): Likewise.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 --- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #2 from Roger Sayle --- > I'm bootstrapping with --enable-languages=all to investigate what's going on. > I'll revert the patch once I (or anyone) can confirm that this restores > bootstrap, but I'd be happier understanding the actual mechanism (cause and > effect) of this ICE. Sorry for the temporary inconvenience. Both i386-pc-solaris2.11 and x86_64-pc-linux-gnu bootstraps are well into make check with the patch reverted locally.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 Roger Sayle changed: What|Removed |Added CC||roger at nextmovesoftware dot com --- Comment #2 from Roger Sayle --- I'm bootstrapping with --enable-languages=all to investigate what's going on. I'll revert the patch once I (or anyone) can confirm that this restores bootstrap, but I'd be happier understanding the actual mechanism (cause and effect) of this ICE. Sorry for the temporary inconvenience.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 --- Comment #1 from Andrew Pinski --- I am also seeing go failures.
[Bug target/110787] [14 regression] ICE building SYSTEM.def
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110787 Rainer Orth changed: What|Removed |Added Target Milestone|--- |14.0