Fixes are available
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:
Fix information
Fixed component name
XL C FOR AIX
Fixed component ID
5724X1200
Applicable component levels
RB10 PSY U852940
UP C
Rate this page:
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.