https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
--- Comment #12 from Jakub Jelinek ---
--- gcc/config/rs6000/rs6000.cc.jj 2023-04-04 10:33:47.433201866 +0200
+++ gcc/config/rs6000/rs6000.cc 2023-04-24 12:31:07.237031550 +0200
@@ -11409,7 +11409,16 @@ bool
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
--- Comment #11 from Jakub Jelinek ---
I bet the culprit is that *rotl3_mask_dot has
(mode == Pmode || UINTVAL (operands[3]) <= 0x7fff)
in condition. So, because *branch_anddi3_dot always wants DImode, if Pmode is
SImode,
it should make
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
--- Comment #10 from Jakub Jelinek ---
Ah, but that actually isn't the problem, rather just useless clutter.
The problem is that
(jump_insn 10 7 32 2 (parallel [
(set (pc)
(if_then_else (eq (and:DI (reg:DI 9 9 [121])
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
Jakub Jelinek changed:
What|Removed |Added
Last reconfirmed||2023-04-24
Ever confirmed|0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
--- Comment #8 from Jakub Jelinek ---
Ah, --target powerpc-rtems6 reproduces it, wonder what is different here.
Reduced testcase:
void
foo (double x)
{
union { double d; unsigned i; } u;
u.d = x;
if (u.i & 2146435072)
return;
else
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
--- Comment #7 from Sebastian Huber ---
(In reply to Jakub Jelinek from comment #6)
> How have you configured gcc? I certainly can't reproduce this with
> --enable-targets=powerpc64-linux,powerpc-linux --with-cpu-32=power7
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109566
Richard Biener changed:
What|Removed |Added
Target Milestone|--- |13.0
CC|