I'll put in my comment. I don't think that the current z architects are driven by "how will assembler programmers use the architecture" any more. Neither are they theoretical computer architects who are wedded to an "orthogonal" instruction set. To me, many of the new instruction have been introduced by the HLL language designers to make their jobs "easier" or to produce more "dense" code. That is, they analyzed what set of instructions tended to be grouped together in order to implement some HLL feature, then requested that the hardware developer create those specific instructions. Apparently IBM does not have a lot of 64 bit code which needs to add 16 bit signed integer variables. I am not one to speak about hardware much, but given that most of these new instructions are likely millicoded, I don't know why the architects didn't "complete" the instruction set. Perhaps it was a case of time and cost to develop, debug, and validate the millicode. IBM is very cost driven (as most are today). If there is no perceived need, then why bother implementing some instruction just to be "complete"? And the size of the millicode loaded into HSA (I think that's where millicode is loaded, no?) might have been a thought also.
-- This is a test of the Emergency Broadcast System. If this had been an actual emergency, do you really think we'd stick around to tell you? Maranatha! <>< John McKown