Quoting SPRAB89 publication, section 3.2
"In addition, the ILC and RILC are callee-save registers."
This would mean that any subroutine that uses SPLOOP would have to save ILC prior overriding it and restore saved value prior return. However, if I disassemble compiler-generated code that uses SPLOOPs I can't see that compiler would preserve ILC [or RILC], all MVC instructions addressing ILC have it as destination, not a single one as source. Who gets it wrong, specification or compiler?