[Bug tree-optimization/112935] [14 Regression] Performance regression in Coremarks crcu8 function

2023-12-09 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112935

Xi Ruoyao  changed:

   What|Removed |Added

  Component|target  |tree-optimization
 Target|loongarch64-*-* |

--- Comment #12 from Xi Ruoyao  ---
This also happens for x86_64, with 13.2:

.L2:
movl%edi, %edx
shrb%dil
xorl%eax, %edx
shrw%ax
andl$1, %edx
negl%edx
andw$-24575, %dx
xorl%edx, %eax
subb$1, %cl
jne .L2

With trunk:

.L2:
mov ecx, edi
shr dil
xor ecx, eax
shr ax
and ecx, 1
lea edx, [rcx+rcx*4]
sal edx, 13
add edx, ecx
xor eax, edx
sub sil, 1
jne .L2

So this seems not only a target issue.  I'll move it back to tree-optimization
and open LoongArch cost model issue as a new ticket.

[Bug tree-optimization/112935] [14 Regression] Performance regression in Coremarks crcu8 function

2023-12-08 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112935

Andrew Pinski  changed:

   What|Removed |Added

   Target Milestone|--- |14.0

[Bug tree-optimization/112935] [14 Regression] Performance regression in Coremarks crcu8 function

2023-12-08 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112935

Xi Ruoyao  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2023-12-09
 Ever confirmed|0   |1

--- Comment #2 from Xi Ruoyao  ---
Self-confirming as this report is actually from Jia Jie.

[Bug tree-optimization/112935] [14 Regression] Performance regression in Coremarks crcu8 function

2023-12-08 Thread xry111 at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112935

--- Comment #1 from Xi Ruoyao  ---
Note that for 

int t(int x, _Bool y)
{
return x * y;
}

even GCC 13 is generating the sub-optimal mul.w instruction.  So perhaps this
is just a target issue after all...