Fixes are available
March 2011 PTF for XL Fortran for AIX, V13.1
August 2011 PTF for XL Fortran for AIX, V13.1
January 2012 PTF for XL Fortran for AIX, V13.1
April 2012 PTF for XL Fortran for AIX, V13.1
July 2012 PTF for XL Fortran for AIX, V13.1
October 2012 PTF for XL Fortran for AIX, V13.1
February 2013 PTF for XL Fortran for AIX, V13.1
May 2013 PTF for XL Fortran for AIX, V13.1
XL Fortran for AIX Fix Pack 15 (August 2013 PTF) for 13.1
XL Fortran for AIX Fix Pack 16 (November 2013 PTF) for 13.1
XL Fortran for AIX Fix Pack 17 (February 2014 PTF) for 13.1
XL Fortran for AIX Fix Pack 21 (April 2015 PTF) for 13.1
XL Fortran for AIX Fix Pack 22 (September 2015 PTF) for 13.1
XL Fortran for AIX Fix Pack 23 (March 2016 PTF) for 13.1
XL Fortran for AIX Fix Pack 24 (September 2016 PTF) for 13.1
APAR status
Closed as program error.
Error description
When using the POPCNT compiler intrinsic, the Fortran compiler is generating an unnecessary sign extension EXTSW instruction when using 64-bit mode. =============== Example ================ logical(4):: a4B integer(4):: r4B logical(8):: a8B integer(4):: r8B ... r4B = popcnt (a4B) r8B = popcnt (a8B) ----- Generated Code ----- popcntw 7C0002F4 1 POPCNT4 gr0=gr0 extsw 7C0007B4 1 EXTS4 gr0=gr0 stw 90010074 1 ST4A r4b(gr1,116)=gr0 popcntd 7C0003F4 1 POPCNT8 gr0=gr0 extsw 7C0007B4 1 EXTS4 gr0=gr0 stw 90010080 1 ST4A r8b(gr1,128)=gr0
Local fix
N/A
Problem summary
PROBLEM DESCRIPTION: In 64 bit mode, each POPCNT instruction was followed by an unneeded EXTS4 extend sign instruction. USERS AFFECTED: Users calling one of the __popcnt... built in functions.
Problem conclusion
EXTS4 is unneeded because POPCNT can only produce values from 0 to 64, the sign bit can never be set, and extending it will leave the value unchanged. EXTS4 after POPCNT is now discarded.
Temporary fix
Comments
APAR Information
APAR number
IZ90712
Reported component name
XL FORTRAN FOR
Reported component ID
5724X1500
Reported release
D10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2010-12-13
Closed date
2011-03-08
Last modified date
2011-03-08
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 FORTRAN FOR
Fixed component ID
5724X1500
Applicable component levels
RD10 PSY U842152
UP C
Document Information
Modified date:
08 March 2011