On Tue, 20 Oct 2020 16:58:52 -0400 Steve Smith <sasd...@gmail.com>
said:

<snip begin>

  And for something completely different... sometimes I use MVCK for
  a variable-length move instead of EX/MVC or MVCL.  I haven't done
  any performance tests, because I haven't used it in
  performance-critical code (and it does have a warning that it is
  slow).  But for programming convenience, getting & setting the key
  is (at least slightly) less of an annoyance than setting up EX. I
  vaguely recall a rumor that there is an MVCX milli-code
  instruction that works the same without the key specification.
  Sure would be nice if that appeared in PoOp.

<snip end>


Perhaps you are thinking of the MVCOS (Move with Optional
Specifications) instruction?  The instruction has been around for
quite a while.  To the best of my knowledge, the instruction was
first documented in SA22-7832-06 (z/Architecture Principles of
Operation, 7th edition, February 2008) and was patented by IBM in
Europe on 29 November 2007 (International Publication Number WO
2007/134646 A1).

And as you noted, all of these "storage access key" type of data
copying instructions (MVCK, MVCSK, MVCDK, etc.) are going to have
poorer performance than instructions like MVC, MVCL and MVCLE,
but they can be convenient/appropriate to use in certain situations.

Quoting from Principles of Operation:

"The performance of MOVE WITH KEY on most models may be
significantly slower than that of the MOVE (MVC) and MOVE LONG
instructions."

Bob

Reply via email to