Fixes are available
APAR status
Closed as program error.
Error description
Consider the following testcase: $cat t.c //////////////////////////////////////// void foo(double *x) { TYPE i; for (i = 0; i < 100; i++) *x++ += 1.1; } double z[1000]; int main() { int i; memset(z,0,sizeof(z)); for (i = 0; i < 60*1000*1000; i++) foo(z); return 0; } //////////////////////////////////////// Compile with: xlc t.c -q64 -DTYPE=long -O xlc t.c -q64 -DTYPE=long -O3 and xlc t.c -q64 -DTYPE=int -O xlc t.c -q64 -DTYPE=int -O3 The executable compiled with -O3 and -DTYPE=long exhibits worse runtime performance than the one compiled with lower level of optimization (-O). This regression does not occur with -DTYPE=int.
Local fix
N/A
Problem summary
Performance degradation due to over-aggressive unrolling
Problem conclusion
Fixed a potential performance problem due to complete unrolling of high iteration count loops.
Temporary fix
Comments
APAR Information
APAR number
LI76655
Reported component name
XL C/C++ FOR LI
Reported component ID
5724X1400
Reported release
B10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-02-06
Closed date
2012-02-06
Last modified date
2012-02-06
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/C++ FOR LI
Fixed component ID
5724X1400
Applicable component levels
RB10 PSN IV09175
UP06/09/13
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B10","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
17 October 2021