https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112104

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <[email protected]>:

https://gcc.gnu.org/g:85fbc4f968d75cf0a372494f0f122b4b4a226243

commit r17-3489-g85fbc4f968d75cf0a372494f0f122b4b4a226243
Author: H.J. Lu <[email protected]>
Date:   Fri Aug 21 12:06:13 2026 +0800

    x86: Adjust gcc.target/i386/pr92080-12.c

    After

    commit 62993cc9d2200ef7a05f317cdef3262996c0ac10
    Author: Eikansh Gupta <[email protected]>
    Date:   Thu Jul 23 17:04:17 2026 +0530

        tree-optimization: Handle variable trip count XOR in final value
replacement [PR112104]

    ;;;
    extern signed char a;
    signed char
    func (int i, int j)
    {
      signed char c = 0;
      while (i != 0)
        {
          a ^= j;
          ++c;
          ++i;
        }
      return c;
    }
    ;;;

    is optimized to:

            testl   %edi, %edi
            je      .L3
            movl    %edi, %eax
            andl    $1, %edi
            negl    %edi
            negl    %eax
            andl    %esi, %edi
            xorb    %dil, a(%rip)
            ret
    .L3:
            xorl    %eax, %eax
            ret

    add check-function-bodies to gcc.target/i386/pr92080-12.c to check for
    optimized codegen.

            PR testsuite/126971
            PR tree-optimization/112104
            * gcc.target/i386/pr92080-12.c: Remove scan-assembler-times and
            add check-function-bodies to check for optimized codegen.

    Signed-off-by: H.J. Lu <[email protected]>

Reply via email to