I did some experiments on a z196 and a z10 to determine that until you get 
close to several pages an MVC loop with a final executed MVC is faster.  On 
those machines the breakeven point was 32K.
The cost is because MVCL and the like are millicode instructions and there is a 
fair overhead to starting and ending the millicode environment.  MVCL will kick 
into a move page shortcut when things line up on a page boundary, both source 
and destination, but how often does that happen?

Chris Blaicher
Technical Architect
Software Development
Syncsort Incorporated
50 Tice Boulevard, Woodcliff Lake, NJ 07677
P: 201-930-8234  |  M: 512-627-3803    
E: [email protected]

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Robert Ngan
Sent: Tuesday, October 27, 2015 5:27 PM
To: MVS List Server 2 <[email protected]>
Subject: Re: Moves and others

There's also MVCOS (with zero in R00 for problem state code). It also uses
2 extra registers (R00, plus a length register).  I heard it was also quite 
slow compared to MVC, but not sure how it's performance compares to an executed 
MVC (or a MVC loop, plus a final executed MVC).
Excluding setup, it's only a single instruction for variable length moves up to 
4K.

Robert Ngan
CSC Financial Services Group

IBM Mainframe Assembler List <[email protected]> wrote on
2015/10/15 18:29:36:

> From: Robin Vowels <[email protected]>
> To: [email protected]
> Date: 2015/10/15 18:31
> Subject: Re: Moves and others
> Sent by: IBM Mainframe Assembler List 
> <[email protected]>
>
> ----- Original Message -----
> From: "Paul Gilmartin" 
> <[email protected]>
> To: <[email protected]>
> Sent: Friday, October 16, 2015 3:16 AM
> Subject: Re: Moves and others
>
>
> On 2015-10-15, at 08:48, Robin Vowels wrote:
> >
> > IBM should have produced a special EXC instruction for characters, 
> > that did what EX does, but accepts k, the number of bytes to move
> (or compare, etc),
> > tests for zero (and performs a no-op if it is), subtracts 1, and
> then executes MVC.
>
> MVCL?
>
> Kind of overkill for small moves.
> 4 registers!
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> http://www.avast.com

Reply via email to