public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL
@ 2024-06-06  9:05 hongyuw at gcc dot gnu.org
  2024-06-06  9:10 ` [Bug target/115370] " hongyuw at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: hongyuw at gcc dot gnu.org @ 2024-06-06  9:05 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 115370
           Summary: [15 regression] gcc.target/i386/pr77881.c FAIL
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hongyuw at gcc dot gnu.org
  Target Milestone: ---

After x86 ccmp supported with r15-1060-g0b6cea8783b9e1, there is a new fail

FAIL: gcc.target/i386/pr77881.c scan-assembler js[ \t].?L

The codegen changed from 

testq   %rdi, %rdi
js      .L4       
testl   %edx, %edx
jne     .L4       
ret               

to

shrq    $63, %rdi 
testl   %edx, %edx
setne   %al       
orb     %dil, %al 
jne     .L11      
ret

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/115370] [15 regression] gcc.target/i386/pr77881.c FAIL
  2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
@ 2024-06-06  9:10 ` hongyuw at gcc dot gnu.org
  2024-06-06  9:26 ` liuhongt at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hongyuw at gcc dot gnu.org @ 2024-06-06  9:10 UTC (permalink / raw)
  To: gcc-bugs

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

Hongyu Wang <hongyuw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-*-*, i?86-*-*

--- Comment #1 from Hongyu Wang <hongyuw at gcc dot gnu.org> ---
The issue was in cfgexpand.cc:2648

/* If jumps are cheap and the target does not support conditional
   compare, turn some more codes into jumpy sequences.  */       
else if (BRANCH_COST (optimize_insn_for_speed_p (), false) < 4   
         && targetm.gen_ccmp_first == NULL)                      
  {                                                              

Now in x86 we defined targetm.gen_ccmp_first, but it doesn't mean ccmp is
enabled by default as it requires -mapxf.

Guess we need a new target hook have_ccmp.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/115370] [15 regression] gcc.target/i386/pr77881.c FAIL
  2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
  2024-06-06  9:10 ` [Bug target/115370] " hongyuw at gcc dot gnu.org
@ 2024-06-06  9:26 ` liuhongt at gcc dot gnu.org
  2024-06-06 11:37 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: liuhongt at gcc dot gnu.org @ 2024-06-06  9:26 UTC (permalink / raw)
  To: gcc-bugs

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

Hongtao Liu <liuhongt at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |liuhongt at gcc dot gnu.org

--- Comment #2 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
We can add a target_hook, targetm.support_ccmp_p, default implementation can be
targetm.gen_ccmp_first == NULL

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/115370] [15 regression] gcc.target/i386/pr77881.c FAIL
  2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
  2024-06-06  9:10 ` [Bug target/115370] " hongyuw at gcc dot gnu.org
  2024-06-06  9:26 ` liuhongt at gcc dot gnu.org
@ 2024-06-06 11:37 ` rguenth at gcc dot gnu.org
  2024-06-12 15:41 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-06-06 11:37 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |15.0
           Keywords|                            |missed-optimization

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/115370] [15 regression] gcc.target/i386/pr77881.c FAIL
  2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2024-06-06 11:37 ` rguenth at gcc dot gnu.org
@ 2024-06-12 15:41 ` pinskia at gcc dot gnu.org
  2024-06-13 14:04 ` cvs-commit at gcc dot gnu.org
  2024-06-13 14:08 ` hongyuw at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-06-12 15:41 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-06-12
                 CC|                            |pinskia at gcc dot gnu.org

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/115370] [15 regression] gcc.target/i386/pr77881.c FAIL
  2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-06-12 15:41 ` pinskia at gcc dot gnu.org
@ 2024-06-13 14:04 ` cvs-commit at gcc dot gnu.org
  2024-06-13 14:08 ` hongyuw at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-06-13 14:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Hongyu Wang <hongyuw@gcc.gnu.org>:

https://gcc.gnu.org/g:83a765768510d1f329887116757d6818d7846717

commit r15-1293-g83a765768510d1f329887116757d6818d7846717
Author: Hongyu Wang <hongyu.wang@intel.com>
Date:   Thu Jun 13 00:18:32 2024 +0800

    [APX CCMP] Add targetm.have_ccmp hook [PR115370]

    In cfgexpand, there is an optimization for branch which tests
    targetm.gen_ccmp_first == NULL. However for target like x86-64, the
    hook was implemented but it does not indicate that ccmp was enabled.
    Add a new target hook TARGET_HAVE_CCMP and replace the middle-end
    check for the existance of gen_ccmp_first to avoid misoptimization.

    gcc/ChangeLog:

            PR target/115370
            PR target/115463
            * target.def (have_ccmp): New target hook.
            * targhooks.cc (default_have_ccmp): New function.
            * targhooks.h (default_have_ccmp): New prototype.
            * doc/tm.texi.in: Add TARGET_HAVE_CCMP.
            * doc/tm.texi: Regenerate.
            * cfgexpand.cc (expand_gimple_cond): Call targetm.have_ccmp
            instead of checking if targetm.gen_ccmp_first exists.
            * expr.cc (expand_expr_real_gassign): Likewise.
            * config/i386/i386.cc (ix86_have_ccmp): New target hook to
            check if APX_CCMP enabled.
            (TARGET_HAVE_CCMP): Define.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug target/115370] [15 regression] gcc.target/i386/pr77881.c FAIL
  2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-06-13 14:04 ` cvs-commit at gcc dot gnu.org
@ 2024-06-13 14:08 ` hongyuw at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: hongyuw at gcc dot gnu.org @ 2024-06-13 14:08 UTC (permalink / raw)
  To: gcc-bugs

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

Hongyu Wang <hongyuw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED

--- Comment #5 from Hongyu Wang <hongyuw at gcc dot gnu.org> ---
Fixed on GCC15.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-06-13 14:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-06  9:05 [Bug target/115370] New: [15 regression] gcc.target/i386/pr77881.c FAIL hongyuw at gcc dot gnu.org
2024-06-06  9:10 ` [Bug target/115370] " hongyuw at gcc dot gnu.org
2024-06-06  9:26 ` liuhongt at gcc dot gnu.org
2024-06-06 11:37 ` rguenth at gcc dot gnu.org
2024-06-12 15:41 ` pinskia at gcc dot gnu.org
2024-06-13 14:04 ` cvs-commit at gcc dot gnu.org
2024-06-13 14:08 ` hongyuw at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).