Fixes are available
APAR status
Closed as program error.
Error description
The DFP instruction reported in the compiler listing (-qlist) output for the __d64_test_significance and __d128_test_significance compiler built-in functions are incorrect. The instructions generated in the object file are correct, and DBX and the disassembler can recognize and decode the instructions correctly. Only the compiler listing is reporting them as different DFP instructions. ===== EXAMPLE ===== TEST CASE FUNCTION: bool testSig(_Decimal128 dfp) { return __d128_test_significance(dfp, 31ULL) > 0; } LISTING OUTPUT: | 000000 PDEF testSig(_Decimal128) | 000000 AKA testSig__FDr 0| PROC dfp,fp2,fp3 5| 000000 addi 3800001F 1 LI gr0=31 5| 000004 lfd C821FFF8 1 LDFL fp1=#MX_CONVF1_0(gr1,-8) 5| 000008 std F801FFF0 1 ST8 #MX_CONVF1_0(gr1,-16)=gr0 5| 00000C lfd C801FFF0 1 LDFL fp0=#MX_CONVF1_0(gr1,-16) 5| 000010 dtstexq FC001544 1 CDFSE cr0=fp2,fp3,fp0,fp1 ^^^^^^^<==== Incorrectly reported as 'dtstexq' 5| 000014 bc 4180000C 1 BT CL.4,cr0,0x1/lt,taken=50% 5| 000018 addi 38600000 1 LI gr3=0 0| 00001C bclr 4E800020 1 BA lr DBX OUTPUT: 0x0 (testSig(_Decimal128)) 3800001f li r0,0x1f 0x4 (???) c821fff8 lfd fr1,-8(r1) 0x8 (???) f801fff0 std r0,-16(r1) 0xc (???) c801fff0 lfd fr0,-16(r1) 0x10 (???) fc001544 dtstsfq cr0,fr0,fr2 ^^^^^^^<=Correctly reported as 'dtstsfq' 0x14 (???) 4180000c blt 0x20 (???) 0x18 (???) 38600000 li r3,0x0 0x1c (???) 4e800020 blr 0x20 (???) 38600001 li r3,0x1 0x24 (???) 4e800020 blr
Local fix
Use DBX or disassembler to verify instruction.
Problem summary
PROBLEM DESCRIPTION: Incorrect instruction name in listing. USERS AFFECTED: Programs containing the decimal floating point __d64_test_significance and __d128_test_significance built in functions.
Problem conclusion
Listing now shows correct instruction names.
Temporary fix
Comments
APAR Information
APAR number
LI76642
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 PSY
UP
[{"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