FWIW my test was run with HGPR on. As the generated object code *utilized* the high bits of GP registers (any of the "G" op codes), I am going to guess this is as good as it gets. I suspect HGPR does not change the linkage -- does not change where results get returned. I've been wrong once or twice before.
Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Carl Kugler Sent: Wednesday, December 09, 2015 8:49 AM To: [email protected] Subject: Re: Can an assembler routine return a 64-bit value to C? Does the HGPR compiler option make any difference? z/OS 2.2.0>z/OS XL C/C++>z/OS XL C/C++ User's Guide>Compiler options>Description of compiler options>HGPR | NOHGPR Purpose Enables the compiler to exploit 64-bit General Purpose Registers (GPRs) in 32-bit programs targeting z/Architecture® hardware. When the HGPR compiler option is in effect, the compiler can exploit 64-bit GPRs in the generated code. The compiler will take advantage of this permission when the code generation condition is appropriate. When the NOHGPR and ILP32 compiler options are in effect, the compiler cannot exploit 64-bit GPRs in the generated code. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
