public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/106592] New: s390: Inefficient branchless conditionals for long long
@ 2022-08-12  8:28 jens.seifert at de dot ibm.com
  0 siblings, 0 replies; only message in thread
From: jens.seifert at de dot ibm.com @ 2022-08-12  8:28 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 106592
           Summary: s390: Inefficient branchless conditionals for long
                    long
           Product: gcc
           Version: 11.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jens.seifert at de dot ibm.com
  Target Milestone: ---

Created attachment 53443
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53443&action=edit
source code

long long gtRef(long long a, long long b)
{
   return a > b;
}

Generates:

        cgr     %r2,%r3
        lghi    %r1,0
        lghi    %r2,1
        locgrnh %r2,%r1

Better sequence:
        cgr %r2,%r3
        lghi %r2,0
        alcgr %r2,%r2


long long leMaskRef(long long a, long long b)
{
   return -(a <= b);
}

Generates:

        cgr     %r2,%r3
        lhi     %r1,0
        lhi     %r2,1
        locrnle %r2,%r1
        sllg    %r2,%r2,63
        srag    %r2,%r2,63

Better sequence:

        cgr %r2,%r3
        slbgr %r2,%r2

long long gtMaskRef(long long a, long long b)
{
   return -(a > b);
}

Generates:
        cgr     %r2,%r3
        lhi     %r1,0
        lhi     %r2,1
        locrnh  %r2,%r1
        sllg    %r2,%r2,63
        srag    %r2,%r2,63

Better sequence:
        cgr   %r2,%r3
        lghi  %r2,0
        alcgr %r2,%r2
        lcgr  %r2,%r2

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-08-12  8:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-12  8:28 [Bug target/106592] New: s390: Inefficient branchless conditionals for long long jens.seifert at de dot ibm.com

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).