Fixes are available
XL C/C++ for Linux Fix Pack 8 (October 2015 Update) for 12.1
XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 5 (December 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 6 (February 2014 Update) for 12.1
XL C/C++ for Linux Fix Pack 7 (May 2014 Update) for 12.1
APAR status
Closed as program error.
Error description
For the simple test case below, extern "C" vector unsigned long long add64(vector unsigned long long a, vector unsigned long long b) { return a + b; } Output: | 000000 add64 2| a,b,vs34,vs35 4| 000000 vadduwm vs32=vs34,vs35 4| 000004 vaddcuw vs33=vs34,vs35 4| 000008 ld gr3=.+CONSTANT_AREA(gr2,0) 4| 00000C xxsldwi vs0=vs33,vs33,1 4| 000010 lxvdsx vs1=+CONSTANT_AREA(gr3,0) 4| 000014 xxland vs33=vs0,vs1 4| 000018 vadduwm vs34=vs32,vs33 5| 00001C bclr lr Compiler could generate a code sequence that replaces xxsldwi + xxland with 1 vperm call.
Local fix
Use the vec_addc and vec_perm builtins.
Problem summary
USERS AFFECTED: Users using -qarch=pwr7 -qaltivec with vector long long types may be affected by this issue. PROBLEM DESCRIPTION: The compiler produces inefficient code for vector long long add routines.
Problem conclusion
Fixed vector long long add to generate fewer instructions for -qarch=pwr7.
Temporary fix
Comments
APAR Information
APAR number
LI77657
Reported component name
XL C/C++ FOR LI
Reported component ID
5725C7300
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-10-28
Closed date
2013-10-28
Last modified date
2013-10-28
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
5725C7300
Applicable component levels
RC10 PSN IV36964
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":"12.1","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
14 October 2021