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

Reply via email to