That's Interesting Michael.

Did you see any cases where the Cobol compiler generated unrolled loops of MVCs 
(like 4 each iteration)?  I've seen that in cases with C/C++, but I don't 
remember the conditions.   It's really wild how they do it as I recall.   It 
may have to do with the settings of the compiler optimization options (size vs 
speed related).

Kirk Wolf
Dovetailed Technologies
https://coztoolkit.com

On Thu, Oct 31, 2024, at 4:54 PM, Schmitt, Michael wrote:
> That made me wonder: What does IBM think is the fasted move for various 
> lengths?
> 
> Testing with IBM Enterprise COBOL for z/OS 6.2, compiled at OPT(2),ARCH(12) 
> on a z/14, moving from a fixed length field to a field of the same length and 
> can't be optimized away...
> 
> -      1 to  4,096 bytes: generates a series of MVCs
> -  4,097 to 77,824 bytes: generates an MVC loop, followed by one more if 
> needed
> - 77,825 and up:          generates an MVCL
> 
> 77,824 is an odd number to break on. It is 19 * 4096.
> 
> 
> If you're interested, the MVC loop for a length of 77,824 is:
> 
> 000013            LA      R2,152(,R9)           #  IN-W
> 000013            LA      R1,0(,R4)             #  OUT-W
> 000013            LHI     R0,0x12f
> 000013            NOP
> 000013  L0052:    EQU     *
> 000013            MVC     0(256,R1),0(R2)       #
> 000013            LA      R2,256(,R2)           #
> 000013            LA      R1,256(,R1)           #
> 000013            BRCT    R0,L0052
> 000013            MVC     0(256,R1),0(R2)       #
> 
> 
> 
> -----Original Message-----
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
> Steve Thompson
> Sent: Thursday, October 31, 2024 4:18 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Bounded string move?
> 
> Uh, isn't that true up to about 1024 bytes (MVCs stacked)? And
> then after the MVCL seems to be faster.
> 
> I think I was at some disclosure meeting or SHARE when that was
> said prior to 2010 (can't remember the exact year).
> 
> I Remember that the MVCL is interruptible at end of a unit of
> operation.
> 
> This may have changed since the z/13s.
> 
> Steve Thompson
> 
> On 10/31/2024 4:18 PM, Charles Mills wrote:
> > @Kirk: +1
> >
> > @Shmuel: you know that an MVC loop is dramatically faster than MVCL?
> >
> > Surprising but true.
> >
> > CM
> >
> > On Wed, 30 Oct 2024 22:40:52 +0000, Seymour J Metz <sme...@gmu.edu> wrote:
> >
> >> I'm leaning towards SRST/MVCL.
> >>
> >> --
> >> Shmuel (Seymour J.) Metz
> >> http://mason.gmu.edu/~smetz3
> >> עַם יִשְׂרָאֵל חַי
> >> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> >>
> >>
> >>
> >> ________________________________________
> >> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf 
> >> of Kirk Wolf <k...@coztoolkit.com>
> >> Sent: Wednesday, October 30, 2024 4:41 PM
> >> To: IBM-MAIN@LISTSERV.UA.EDU
> >> Subject: Re: Bounded string move?
> >>
> >> Caution: This email did not originate from George Mason’s mail system. Do 
> >> not click links or open attachments unless you recognize the sender and 
> >> know the content is safe.
> >>
> >>
> >> It appears to me that your requirement matches the C function below. (?)
> >> I would probably just use C/C++, but you can see what the IBM C/C++ 
> >> optimizing compiler generated.   It seems unlikely to me that there is a 
> >> significantly better way.   You might ask on mvs-asm370.
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 
> 
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to