Re: Next instruction not needed

2022-04-15 Thread Paul Gilmartin
On Apr 15, 2022, at 21:30:35, Robin Vowels wrote: >>> >> R0 doesn't count because no one else uses it. > > nonsense! > (That was sarcasm.) > On Apr 15, 2022, at 21:28:55, Robin Vowels wrote: > > MVCL will do what you want. > Yes. > and MVCL will even deal with zero lengths. > It must,

Re: Next instruction not needed

2022-04-15 Thread Robin Vowels
- Original Message - From: "Tom Harper" Sent: Saturday, April 16, 2022 4:19 AM I think that is unnecessary because the proposal is only for one to 256 bytes so no need to make it interruptible. If you want to use for longer areas, use a move long. For shorter areas, use MVCL.

Re: Next instruction not needed

2022-04-15 Thread Robin Vowels
From: "Tom Harper" Sent: Saturday, April 16, 2022 3:10 AM For a fixed length move, none. You can use MVC for that. And XC. For a variable length move, one. For which MVCL is eminently suitable. --- This email has been checked for viruses by Avast antivirus software.

Re: Next instruction not needed

2022-04-15 Thread Robin Vowels
- Original Message - From: "Steve Smith" To: Sent: Saturday, April 16, 2022 2:49 AM Subject: Re: Next instruction needed Tom Harper made a perfectly clear proposal, that evidently only you cannot comprehend. The proposal is clearly irrational, and for a need that almost doesn't

Re: Next instruction not needed

2022-04-15 Thread Robin Vowels
From: "Paul Gilmartin" <0014e0e4a59b-dmarc-requ...@listserv.uga.edu> Sent: Saturday, April 16, 2022 2:48 AM On Apr 15, 2022, at 10:27:47, Robin Vowels wrote: On 2022-04-16 02:23, Tom Harper wrote: As mentioned, R0. Make up your mind! You just said that no registers were involved.

Re: Next instruction not needed

2022-04-15 Thread Robin Vowels
From: "Tom Harper" Sent: Saturday, April 16, 2022 12:34 AM Subject: Re: Next instruction needed Robin, See embedded remarks. See mine. MVCL will do what you want. It was designed to do the operation without overruns. The lengths of the source and the destination areas are both specified

Re: Next instruction needed

2022-04-15 Thread Mark Boonie
> Conceptually,the MVCL instruction could treat cases that specified the > same register pair for source and target operands as a request to clean or > fill the designated storage area. You'd have to change the current behavior of MVCL -- when the same register is specified for both operands, it

Re: [PossibleSpam] Re: Next instruction needed

2022-04-15 Thread Tony Thigpen
If R0 is acceptable, then maybe R1 and R15 are also acceptable because "nobody ever uses them". For my clears I usually default to: MVCL R0,R14 Tony Thigpen Tom Harper wrote on 4/15/22 12:23: Sent from my iPhone On Apr 15, 2022, at 12:20 PM, Robin Vowels wrote: On 2022-04-16 00:25,

Re: Next instruction needed

2022-04-15 Thread Keven Hall
Conceptually,the MVCL instruction could treat cases that specified the same register pair for source and target operands as a request to clean or fill the designated storage area. Keven Sent from my iPhone > On Apr 15, 2022, at 13:54, Mike Hochee wrote: > > I apparently stopped reading

Re: Signed/unsigned operations

2022-04-15 Thread Charles Mills
It used to matter IIRC -- longer shifts took longer -- but I doubt that it does anymore. How long does an instruction take anymore? It depends ... Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Paul Gilmartin Sent:

Re: Signed/unsigned operations

2022-04-15 Thread Tony Harminc
On Fri, 15 Apr 2022 at 14:59, Paul Gilmartin <0014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote: > > On Apr 15, 2022, at 12:47:40, Tony Harminc wrote: > > > > ... it's obvious that if you want > > to rotate right, say 5 bits, you can instead rotate left 59 bits ... > > > Performance?

Re: Signed/unsigned operations

2022-04-15 Thread Paul Gilmartin
On Apr 15, 2022, at 12:47:40, Tony Harminc wrote: > > ... it's obvious that if you want > to rotate right, say 5 bits, you can instead rotate left 59 bits ... > Performance? Does the timing depend on the distance shifted? Maybe model-dependedent. How much does it matter? -- gil

Re: Next instruction needed

2022-04-15 Thread Mike Hochee
I apparently stopped reading before the 'limited to 256' statement in the original post and incorrectly assumed it covered long moves as well, since you mentioned MVCL* type instructions (of course they cover all lengths). I see it being a lot more useful if it had long capabilities.

Re: Signed/unsigned operations

2022-04-15 Thread Tony Harminc
On Fri, 15 Apr 2022 at 03:06, Ian Worthington <0c9b78d54aea-dmarc-requ...@listserv.uga.edu> wrote: > > Thanks Seymour, it had never occurred to me they were totally identical apart > from CC and sign extension. I'd always had a suspicion that there might be > something that happened at the

Re: Next instruction needed

2022-04-15 Thread Charles Mills
Any "long" clear storage instruction is presumably going to require two registers (target and length) to support interuptibility so the benefit over MVCL becomes minimal. IOW I agree with "if you want longer, use MVCL." Charles -Original Message- From: IBM Mainframe Assembler List

Re: Next instruction needed

2022-04-15 Thread Tom Harper
I think that is unnecessary because the proposal is only for one to 256 bytes so no need to make it interruptible. If you want to use for longer areas, use a move long. Many instructions have been added over the years for small items. This would find significant use as soon as the instruction

Re: Next instruction needed

2022-04-15 Thread Paul Gilmartin
On Apr 15, 2022, at 11:34:40, Tom Harper wrote: > > If it was interrupted, where would the hardware restart? The instruction > itself cannot be changed. > Make it an RFE. Support it with a business case, that it would provide added value to end users inducing them to spend more on IBM

Re: Next instruction needed

2022-04-15 Thread Gibney, Dave
Actually, and I haven't looked, I suspect that there is room in the actual (new proposed FILLI) machine instruction for both an immediate value and a zero to 256 length > -Original Message- > From: IBM Mainframe Assembler List l...@listserv.uga.edu> On Behalf Of Tom Harper > Sent:

Re: Next instruction needed

2022-04-15 Thread Tom Harper
If it was interrupted, where would the hardware restart? The instruction itself cannot be changed. Sent from my iPhone > On Apr 15, 2022, at 1:19 PM, Dave Clark wrote: > > "IBM Mainframe Assembler List" wrote on > 04/15/2022 01:10:36 PM: >> For a fixed length move, none. For a variable

Re: Next instruction needed

2022-04-15 Thread Charles Mills
Zero is nothing after all. Charles -Original Message- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Paul Gilmartin Sent: Friday, April 15, 2022 9:49 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Next instruction needed On Apr 15, 2022,

Re: Next instruction needed

2022-04-15 Thread Dave Clark
"IBM Mainframe Assembler List" wrote on 04/15/2022 01:10:36 PM: > For a fixed length move, none. For a variable length move, one. Why not zero registers required for a variable length initialize? For an extended displacement instruction such as what follows, the second full-word

Re: Next instruction needed

2022-04-15 Thread Tom Harper
For a fixed length move, none. For a variable length move, one. Sent from my iPhone > On Apr 15, 2022, at 12:27 PM, Robin Vowels wrote: > > On 2022-04-16 02:23, Tom Harper wrote: On Apr 15, 2022, at 12:20 PM, Robin Vowels wrote: >>> On 2022-04-16 00:25, Tom Harper wrote: Well

Re: Next instruction needed

2022-04-15 Thread Steve Smith
Tom Harper made a perfectly clear proposal, that evidently only you cannot comprehend. I have my own opinion on its value, but I for one, don't think the world needs to know every opinion I happen to have. sas > >

Re: Next instruction needed

2022-04-15 Thread Paul Gilmartin
On Apr 15, 2022, at 10:27:47, Robin Vowels wrote: > > On 2022-04-16 02:23, Tom Harper wrote: >>> >> As mentioned, R0. > > Make up your mind! You just said that no registers were involved. > R0 doesn't count because no one else uses it. -- gil

Re: Next instruction needed

2022-04-15 Thread Robin Vowels
On 2022-04-16 02:23, Tom Harper wrote: On Apr 15, 2022, at 12:20 PM, Robin Vowels wrote: On 2022-04-16 00:25, Tom Harper wrote: Well known. But the instruction I’m proposing has no registers involved Oh? How do you propose that such an instruction move N bytes (where N is variable)

Re: Next instruction needed

2022-04-15 Thread Tom Harper
Sent from my iPhone > On Apr 15, 2022, at 12:20 PM, Robin Vowels wrote: > > On 2022-04-16 00:25, Tom Harper wrote: >> Well known. But the instruction I’m proposing has no registers >> involved > > Oh? How do you propose that such an instruction move > N bytes (where N is variable) without

Re: Next instruction needed

2022-04-15 Thread Robin Vowels
On 2022-04-16 00:25, Tom Harper wrote: Well known. But the instruction I’m proposing has no registers involved Oh? How do you propose that such an instruction move N bytes (where N is variable) without the value of N being in a register? (other than base displacement) and thus there is no

Re: Removal of transactional execution facility

2022-04-15 Thread Ed Jaffe
On 4/15/2022 1:49 AM, David Cole wrote: Thanks for the correction, Ed. I didn't know that. -Dave "If your product still supports z/OS 2.3 or less, you must dual-path CTX as well." And this is precisely the reason CTX hasn't had the widespread adoption unrealistically expected by the

Re: Next instruction needed

2022-04-15 Thread Tom Harper
Robin, See embedded remarks. Tom Sent from my iPhone > On Apr 15, 2022, at 5:08 AM, Robin Vowels wrote: > > - Original Message - From: "Tom Harper" > > To: > Sent: Friday, April 15, 2022 3:06 AM > > >> IMHO, the next instruction to add to z/Architecture would be an instruction

Re: Next instruction needed

2022-04-15 Thread Tom Harper
Well known. But the instruction I’m proposing has no registers involved (other than base displacement) and thus there is no way to restart the instruction to complete the process. So to avoid that, limiting it to 256 bytes removed that as an issue. Sent from my iPhone > On Apr 15, 2022, at

Re: Signed/unsigned operations

2022-04-15 Thread Seymour J Metz
Static variables need special handling for shared code. Those instructions would intuitively seem useful only for unshareable code. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List

Re: Signed/unsigned operations

2022-04-15 Thread Seymour J Metz
It's especially ugly on ones complement machines. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Ian Worthington

Re: Next instruction needed

2022-04-15 Thread Seymour J Metz
You can have interruptability without an arbitrary length restriction; CLCL and MVCL work just fine. All that you need is that the instruction be resumeable and for the hardware/microcode/millicode to periodically check for pending interrupts and update the registers as needed -- Shmuel

Re: Next instruction needed

2022-04-15 Thread Robin Vowels
- Original Message - From: "Tom Harper" To: Sent: Friday, April 15, 2022 3:06 AM IMHO, the next instruction to add to z/Architecture would be an instruction to clear storage to zeros. Right now a number of methods are in widespread use, none of which are clean and simple. I mean,

Re: Removal of transactional execution facility

2022-04-15 Thread David Cole
Thanks for the correction, Ed. I didn't know that. -Dave At 4/14/2022 07:59 PM, Ed Jaffe wrote: On 4/14/2022 10:35 AM, David Cole wrote: Note, "dual path'ing" your code applies to TX, not to CTX. That's true if your minimum supported z/OS release is z/OS 2.4. Not even IBM is that

Re: Signed/unsigned operations

2022-04-15 Thread Ian Worthington
Thanks Seymour, it had never occurred to me they were totally identical apart from CC and sign extension.  I'd always had a suspicion that there might be something that happened at the boundaries that I hadn't considered! Good to know. Best wishes / Mejores deseos /  Meilleurs vœux Ian ...

Re: Signed/unsigned operations

2022-04-15 Thread Ian Worthington
Both signed and unsigned integer operations are required to either wrap or give undefined results in C.  To my mind this is a horrible problem which gets kicked down the road by the expansion of the size of variable size every few years, presumably accompanies by the sacrificing of farmyard

Re: Signed/unsigned operations

2022-04-15 Thread Ian Worthington
Is this maybe because the variables are declared as static? In the case of: void addStuff(__uint64_t a64, __uint64_t b64, __uint32_t a32, __uint32_t b32 ) {     __uint32_t sumu32;     __uint64_t sumu64;     sumu32 = a32 + b32;     sumu64 = a64 + b64; } it generates:  120:     sumu32 = a32 +