[Bug tree-optimization/112935] [14 Regression] Performance regression in Coremarks crcu8 function
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
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
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
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...