I remember (from a long time ago)  people had a MYSTCKF macro which checked
a field in low core for a flag to say if the instruction was present, and
if so used it - else use STCK.
They then changed it to remove the test when "every system had it".

You could try raising an idea to get the docs updated to remove the
optional bit.
Colin

On Fri, 11 Apr 2025 at 18:19, Charles Mills <charl...@mcn.org> wrote:

> I would say two things:
>
> First, STCKF is potentially so much faster than STCK that it is probably
> well worth it even if you have to test a flag and branch.
>
> Second, I am going to guess that you are safe assuming STCKF is here to
> stay. In my 55 years on this platform I have seen very, very few
> non-privileged hardware instructions go away. TBEGIN and friends was a
> shocking exception and I doubt very much that it will become the rule.
> TBEGIN was probably problematic from the get-go and should not have been
> introduced; not so STCKF which is fundamentally just a dumbed-down STCK.
>
> Also, don't forget about the option of STCKE.
>
> Charles
>
> -----Original Message-----
> From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On
> Behalf Of Mario Bezzi
> Sent: Thursday, April 10, 2025 11:51 PM
> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
> Subject: Store-Clock-Fast Facility
>
> PoP states "The store-clock-fast facility *may* be available on a model
> implementing z/Architecture."
>
> The "may" word forces my performance sensitive code to go through
> additional controls before using STCKF, which sort of defeats the purpose
> of the instruction.
>
> STCKF was first introduced in 2005 and has been available in any CPC
> generation since then. If I could rely on it being always available I would
> have less code to run and maintain.
>
> Is there documentation stating which facilities are available in a given
> CPC family? What others do?
>
> PoP states the same for Transactional-Execution Facility, still IBM
> started warning long in advance about its withdrawal.
>
> Thank you!
> mario
>

Reply via email to