I've only ever used an overlapping move to fill a field with identical values, 
and MVCL with a zero source length works fine for that.

-- 
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר




________________________________________
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf 
of Ngan, Robert <robert.n...@dxc.com>
Sent: Wednesday, August 20, 2025 2:42 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
Subject: Re: Execute-Type Instructions


External Message: Use Caution


I've started replacing the majority of executed MVC's in our code with MVCRL.  
It avoids the overhead of a EX/EXRL instruction, but has the (slight) 
disadvantage of requiring the use of R00, and cannot be used to initialize 
storage via an overlapping move.

Robert Ngan
DXC Luxoft

-----Original Message-----
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf 
Of Seymour J Metz
Sent: Tuesday, August 19, 2025 16:15
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Execute-Type Instructions

Re: Execute-Type Instructions
Seymour J Metz
​IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU>​
I suspect that the double MVC is more of a performance issue than the cache 
hit. I typically use LOCTR to avoid the duplicate execution.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר




________________________________________
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf 
of Rupert Reynolds <00001bc7bfc4ffd1-dmarc-requ...@listserv.uga.edu>
Sent: Tuesday, August 19, 2025 3:57 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU <ASSEMBLER-LIST@LISTSERV.UGA.EDU>
Subject: Re: Execute-Type Instructions


External Message: Use Caution


Back in the 1990s I was using an inline

EX_ME    MVC   DEST(*-*),SOURCE
        EX    R0,EX_ME
because our per4mans guys said branching around the MVC cost more than
moving the 1st byte twice, while storing the MVC elsewhere might slow data
cacheing.

I expect any optimisations from the old days that are still worth it have
been kept and there will some fresh ones.

Last I heard was when MVCL and CLCL had been improved to beat multiple MVC
and CLC in most cases.

But surely these differences are very small, compared with choice of
compiler, algorithm and so on?

Roops


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר





Reply via email to