Fixes are available
APAR status
Closed as program error.
Error description
Compiler is not using lfiwax/lfiwzx assembler instruction for int to double conversion. Consider the following testcase: $cat intToDbl.C /******************************/ double intToDbl(signed int *in) { return (double)(*in); } double intToDbl(signed int in) { return (double)(in); } double uintToDbl(unsigned int *in) { return (double)(*in); } double uintToDbl(unsigned int in) { return (double)(in); } /******************************/ Compile the source file as: xlC -c -q64 -qlist -O2 intToDbl.C -qarch=pwr7 Review output in intToDbl.lst file: ... ... | 000000 PDEF intToDbl(int *) | 000000 AKA intToDbl__FPi 3| PROC in,gr3 5| 000000 lwa E8030002 1 L4A gr0=(int)(gr3,0) 5| 000004 std F801FFF0 1 ST8 #MX_CONVF1_0(gr1,-16)=gr0 5| 000008 lfd C801FFF0 1 LFL vs0=#MX_CONVF1_0(gr1,-16) 5| 00000C xscvsxdd F02005E0 1 FCFID vs1=vs0,fcr Instead, the compiler should generate a lfiwax + xscvsxdd sequence: | 000000 PDEF intToDbl(int *) | 000000 AKA intToDbl__FPi 1| PROC in,gr3 3| 000000 lfiwax 7C001EAE 1 LFIWAX vs0=(int)(gr3,0) 3| 000004 xscvsxdd F02005E0 1 FCFID vs1=vs0,fcr
Local fix
Not applicable
Problem summary
compiler does not uses lfiwax/lfiwzx instructions for int to float conversion with -q64
Problem conclusion
Relaxing the opportunity check code to use new instruction with -q64
Temporary fix
Comments
APAR Information
APAR number
IV37628
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-03-05
Closed date
2013-03-12
Last modified date
2013-03-13
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
LI77362
Fix information
Fixed component name
XL C FOR AIX
Fixed component ID
5725C7100
Applicable component levels
RC10 PSY U858497
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.