Peter Relson wrote:
No there is no way for an unauthorized application to test it but, more
important, as Jim M alluded, there is no reason to do so.
The actual bit to check would have been CVTBFPH which looks for the
hardware being available (rather than CVTBFP which looks for the software
being available).
Use of all 16 floating point regs is supported unconditionally on all
supported releases.
That was not true prior to z/OS 2.1 (although if running on a "real
machine" it was true since AFPRs are part of base z Architecture).
It remains a fact that if you don't need more than 4 FPRs (and you don't
need FPCR or anything other than the "old" hex floating point
instructions) that you should limit yourself to FPRs 0/2/4/6 to save a few
cycles with respect to status saving and restoring.
Peter Relson
z/OS Core Technology Design
The problem is that a BPX SIR needs to save/restore the floating-pt
registers before invoking the signal handler.
Checking the CVT bits is all well-and-good, but then unconditionally
saving all 16 registers then will cause MVS to set the bit in CR0.
If the program has no need to save/restore all of the FP registers (because
it's not using them) it would be nice if the BPX signal handler didn't
accidently
kick the AFP bit of CR0 "on" by using the AFP registers.
That is - I'm in this state of "If the AFP regs haven't been used, I don't
want to be the one to use them, but if they have I need to save/restore
them."
But - on reflection - perhaps that is incorrect thinking... the invoked
signal
handler may use the AFP registers. In fact, it might be the first such use
in the execution of the program. In that case, the SIR should have
saved/restored
all the AFP registers, even though CR0's AFP bit might have been "off"
at the start
of the SIR. Since the SIR can't know what the handler is going to do;
I guess it's stuck at always saving/restoring the AFP regs if the
CVTBFPH flag
is on...
- Thanks everyone! -
- Dave Rivers -
--
[email protected] Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN