[Bug target/106609] [12/13 Regression] sh3eb-elf cross compiler is being miscompiled since r12-1525-g3155d51bfd1de8b6c4645
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609 Jakub Jelinek changed: What|Removed |Added Last reconfirmed||2022-11-24 Status|UNCONFIRMED |NEW CC||jakub at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #13 from Jakub Jelinek --- (In reply to Mikael Pettersson from comment #12) > I tried compiling the gcc-13 cross compiler using the broken gcc-12 host > compiler and -mtune-ctrl=^use_bt but that didn't help. > > I then tried rebuilding the broken gcc-12 host compiler with the new > splitters disabled, one by one. Disabling the "*bt_setcqi" one did > unbreak the gcc-13 cross-compiler: > > diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md > index 48532eb7ddf..0780ba992f3 100644 > --- a/gcc/config/i386/i386.md > +++ b/gcc/config/i386/i386.md > @@ -12830,7 +12830,7 @@ > (const_int 1) > (zero_extend:SI (match_operand:QI 2 "register_operand" > (clobber (reg:CC FLAGS_REG))] > - "TARGET_USE_BT && ix86_pre_reload_split ()" > + "0 && TARGET_USE_BT && ix86_pre_reload_split ()" >"#" >"&& 1" >[(set (reg:CCC FLAGS_REG) Ok, reproduced with last night's gcc trunk as the x86_64-linux system compiler (with/without the above patch) and r12-8924-ga6b1f6126de5e4 as 12 branch for the cross-compiler. The difference appears first in the sh_treg_combine2 dump -not a condition store -other set found - aborting trace +inverted condition store +tracing ccreg +set of ccreg not found + +cbranch trace summary: etc. And bisection points to insn-preds.o.
[Bug target/106609] [12/13 Regression] sh3eb-elf cross compiler is being miscompiled since r12-1525-g3155d51bfd1de8b6c4645
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609 --- Comment #12 from Mikael Pettersson --- I tried compiling the gcc-13 cross compiler using the broken gcc-12 host compiler and -mtune-ctrl=^use_bt but that didn't help. I then tried rebuilding the broken gcc-12 host compiler with the new splitters disabled, one by one. Disabling the "*bt_setcqi" one did unbreak the gcc-13 cross-compiler: diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 48532eb7ddf..0780ba992f3 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -12830,7 +12830,7 @@ (const_int 1) (zero_extend:SI (match_operand:QI 2 "register_operand" (clobber (reg:CC FLAGS_REG))] - "TARGET_USE_BT && ix86_pre_reload_split ()" + "0 && TARGET_USE_BT && ix86_pre_reload_split ()" "#" "&& 1" [(set (reg:CCC FLAGS_REG)
[Bug target/106609] [12/13 Regression] sh3eb-elf cross compiler is being miscompiled since r12-1525-g3155d51bfd1de8b6c4645
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609 Richard Biener changed: What|Removed |Added Target Milestone|12.2|12.3 --- Comment #11 from Richard Biener --- GCC 12.2 is being released, retargeting bugs to GCC 12.3.
[Bug target/106609] [12/13 Regression] sh3eb-elf cross compiler is being miscompiled since r12-1525-g3155d51bfd1de8b6c4645
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609 Roger Sayle changed: What|Removed |Added CC||roger at nextmovesoftware dot com --- Comment #10 from Roger Sayle --- The command line option -mtune-ctrl=^use_bt should disable all of the patterns added in the patch identified as the first bad commit.
[Bug target/106609] [12/13 Regression] sh3eb-elf cross compiler is being miscompiled since r12-1525-g3155d51bfd1de8b6c4645
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106609 Andrew Pinski changed: What|Removed |Added Summary|sh3eb-elf cross compiler is |[12/13 Regression] |being miscompiled |sh3eb-elf cross compiler is ||being miscompiled since ||r12-1525-g3155d51bfd1de8b6c ||4645 Target Milestone|--- |12.2 Component|middle-end |target Severity|normal |blocker See Also||https://gcc.gnu.org/bugzill ||a/show_bug.cgi?id=46235