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