Skip to main content

IV22269: BRANCH HINTS WITH EXECUTION_FREQUENCY IGNORED


Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a client specifically uses the
    _Pragma("execution_frequency(very_low)"), the compiler should
    respect it and set the hint bits accordingly.
    
    But, below is a section of a listing where the compiler was
    ignoring the user pragma:
    
    Listing file:
    
    
         | 000000                           PDEF
    sqlv_dec31_add_dec31(unsigned char *, const unsigned char *
    const, size_t)
         | 000000                           AKA
    sqlv_dec31_add_dec31__FPUcCPCUcUl
       36|                                  PROC
    sum,addend,addendLength,gr3-gr5
        0| 000000 std      FBE1FFF8   1     ST8
    #stack(gr1,-8)=gr31
     1444| 000004 cmpldi   28250010   1     CL8       cr0=gr5,16
     1444| 000008 ld       E8C20008   1     L8
    gr6=.$STATIC(gr2,0)
     1444| 00000C rlwinm   54A51E38   1     RN4       gr5=gr5,3,0xF8
     1444| 000010 ldx      7C06282A   1     L8
    gr0=$STATIC(gr6,gr5,0)
     1444| 000014 bc       41810018   1     BT
    CL.141,cr0,0x10/lgt,taken=50%(0,0) <---- Ignored here
     1444| 000018 mtspr    7C0903A6   1     LCTR      ctr=gr0
     1444| 00001C bcctr    4E800420   1     BA        ctr,*11182,147
    
    The indicated branch above is marked 50/50, but should be
    marked as taken rarely.
    

Local fix

  • n/a
    

Problem summary

  • USERS AFFECTED:
    Anyone using the pragma to indicate cold branches that are
    simple enough to transform into a SEL instruction are affected
    by this issue.
    TPO must be involved (-O3 or above).
    
    PROBLEM DESCRIPTION:
    pragma execution_frequency(very_low) is getting misplaced by
    TPO causing sub-optimal code-gen
    

Problem conclusion

  • The issue has been fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV22269

  • Reported component name

    XL C/C++ AIX

  • Reported component ID

    5724X1300

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-06-07

  • Closed date

    2012-07-05

  • Last modified date

    2012-07-05

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IV25666 LI76947

Fix information

  • Fixed component name

    XL C FOR AIX

  • Fixed component ID

    5724X1200

Applicable component levels

  • RB10 PSY U852940

       UP C

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

XL C for AIX


Software version:
11.1


Reference #:
IV22269


Modified date:
2012-07-05

Translate my page

Content navigation