Re: Why no AGH instruction?
There is lots of room in the E3xx range close to CGH and/or LGH. E310 to E312 and/or E337 thru E33D We will see next month. -- Martin Pi_cap_CPU - all you ever need around MWLC/SCRT/CMT in z/VSE more at http://www.picapcpu.de
Re: Why no AGH instruction?
From: Steve Smith sasd...@gmail.com Sent: Monday, June 24, 2013 12:24 PM I've been converting some code to use full 64-bit registers lately, and was greatly surprised that there appears to be no AGH (Add Halfword (to 64-bit register)). There's LGH, and even CGH, as well as AGHI (much less ALGHSIK). There's AGF and AGFI. Am I the only one who needs to add a variable halfword into a 64-bit register*? A bit like like the missing DH instruction in the orginal S/360 design. The ICL System 4-30 (aka RCA Spectra aka S/360) and for memory access, implemented only half-word memory instructions, and included DH. I feel like I must be missing something. *I eventually just coded LGH, AGR, but that uses an extra register.
Re: Why no AGH instruction?
XI** are more important in my opinion. On Mon, 24 Jun 2013 09:11:12 +0200 Martin Truebner mar...@pi-sysprog.de wrote: :There is lots of room in the E3xx range close to CGH and/or LGH. : :E310 to E312 and/or E337 thru E33D : :We will see next month. -- Binyamin Dissen bdis...@dissensoftware.com http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies.
Re: Why no AGH instruction?
On Mon, Jun 24, 2013 at 12:55 AM, Ed Jaffe edja...@phoenixsoftware.comwrote: The lack of AGH/SGH is a noticeable (and sometimes frustrating) gap in the architecture. Well, that's disappointing. I always thought the system architects were damn close to being infallible and omnipotent :-). On Mon, Jun 24, 2013 at 3:11 AM, Martin Truebner mar...@pi-sysprog.dewrote: There is lots of room in the E3xx range close to CGH and/or LGH. E310 to E312 and/or E337 thru E33D We will see next month. Yes, it's hard to believe AGH/ALGH/SGH/SLGH are missing. I found out when my assembly failed; only then did I spend an hour combing through the PoOp. What happens next month? Unfortunately, like many others here, I work on a software product that has to hold off on using new facilities until we can be sure all our customers have them. So it's essentially too late now to add them. -- sas
Re: Why no AGH instruction?
Steve, all It does look like AGH is missing. If not using register is more important than being RENT, here is test macro program which uses MVC and AGHI: * TEST AGH MACRO WHICH AVOIDS USING EXTRA REGISTER * BUT IS NOT RENT * DON HIGGINS 06/24/13 MACRO N AGH RG,SH MVC *+6+2(2),SH AGHI RG,*-* MEND TESTAGH CSECT USING *,15 SGR 1,1 AGH 1,=H'1' AGH 1,=H'-2' CGFI 1,-1 BNE 1 SGR 15,15 BR 14 END Here is the z390 execution trace: 09:51:02 TESTAGH EZ390 START USING z390 V1.5.06 ON J2SE 1.7.0_21 06/24/13 CDE LOAD=800FFFD0 LEN=0030 NAME=W:\work\z390\TESTAGH.390 800FFFD0 0 B9090011 SGR R1=F4F4F4F42300 R1=F4F4F4F42300 800FFFD4 0 D201F00CF028 MVC S1(000FFFDC)= S2(0008)=0001='..' 800FFFDA 0 A71B0001 AGHI R1= I2=0001 800FFFDE 2 D201F016F02A MVC S1(000FFFE6)= S2(000A)=FFFE='..' 800FFFE4 2 A71BFFFE AGHI R1=0001 I2=FFFE 800FFFE8 1 C21C CGFI R1= I2= 800FFFEE 0 4771 BNE S2(0001)= ? 8002 0 B90900FF SGR RF=F4F4F4F4800FFFD0 RF=F4F4F4F4800FFFD0 8006 0 07FE BRRE(2018)=0A03 SVC 80002018 0 0A03 SVC I1=03 EXIT 09:51:03 TESTAGH EZ390 ENDED RC= 0 SEC= 0 MEM(MB)= 19 IO=20 INS=10 This was just for fun. I'm retired now, and the only new code I'm rolling is in PHP and MySQL for Rotary websites. Don Higgins d...@higgins.net
Re: Why no AGH instruction?
I'll put in my comment. I don't think that the current z architects are driven by how will assembler programmers use the architecture any more. Neither are they theoretical computer architects who are wedded to an orthogonal instruction set. To me, many of the new instruction have been introduced by the HLL language designers to make their jobs easier or to produce more dense code. That is, they analyzed what set of instructions tended to be grouped together in order to implement some HLL feature, then requested that the hardware developer create those specific instructions. Apparently IBM does not have a lot of 64 bit code which needs to add 16 bit signed integer variables. I am not one to speak about hardware much, but given that most of these new instructions are likely millicoded, I don't know why the architects didn't complete the instruction set. Perhaps it was a case of time and cost to develop, debug, and validate the millicode. IBM is very cost driven (as most are today). If there is no perceived need, then why bother implementing some instruction just to be complete? And the size of the millicode loaded into HSA (I think that's where millicode is loaded, no?) might have been a thought also. -- This is a test of the Emergency Broadcast System. If this had been an actual emergency, do you really think we'd stick around to tell you? Maranatha! John McKown
Re: Why no AGH instruction?
On 2013-06-24, at 08:18, Don Higgins wrote: It does look like AGH is missing. If not using register is more important than being RENT, here is test macro program which uses MVC and AGHI: snip! With a suitable work area, a RENT version could be designed. But I suspect Charlie Brown, of Peanuts has trademark rights (or something close), so they can't use it. -- gil
Re: Why no AGH instruction?
Thanks. But that makes them even more expensive to implement. Which could be a further reason as to why they weren't. On Mon, Jun 24, 2013 at 10:05 AM, Ed Jaffe edja...@phoenixsoftware.comwrote: On 6/24/2013 7:42 AM, John McKown wrote: given that most of these new instructions are likely millicoded, I don't know why the architects didn't complete the instruction set. Primitive instructions such as AGH/ALGH/SGH/SLGH would not be implemented in millicode. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 http://www.phoenixsoftware.**com/ http://www.phoenixsoftware.com/ -- This is a test of the Emergency Broadcast System. If this had been an actual emergency, do you really think we'd stick around to tell you? Maranatha! John McKown
Automatic reply: Why no AGH instruction?
I will be on vacation between Jun 24 and Jul 23--back on Jul 24.
Automatic reply: Why no AGH instruction?
I will be out of the office beginning the Morning of Friday, June 21, 2013. I plan to return to work on Tuesday, June 25, 2013.
Automatic reply: Why no AGH instruction?
I am OOO with no access to email. Please contact Widner Joseph for all urgent matters. NOTICE: Morgan Stanley is not acting as a municipal advisor and the opinions or views contained herein are not intended to be, and do not constitute, advice within the meaning of Section 975 of the Dodd-Frank Wall Street Reform and Consumer Protection Act. If you have received this communication in error, please destroy all electronic and paper copies and notify the sender immediately. Mistransmission is not intended to waive confidentiality or privilege. Morgan Stanley reserves the right, to the extent permitted under applicable law, to monitor electronic communications. This message is subject to terms available at the following link: http://www.morganstanley.com/disclaimers If you cannot access these links, please notify us by reply message and we will send the contents to you. By messaging with Morgan Stanley you consent to the foregoing.
Re: Why no AGH instruction?
On 6/23/2013 7:24 PM, Steve Smith wrote: I've been converting some code to use full 64-bit registers lately, and was greatly surprised that there appears to be no AGH (Add Halfword (to 64-bit register)). There's LGH, and even CGH, as well as AGHI (much less ALGHSIK). There's AGF and AGFI. Am I the only one who needs to add a variable halfword into a 64-bit register*? The lack of AGH/SGH is a noticeable (and sometimes frustrating) gap in the architecture. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 http://www.phoenixsoftware.com/