My perspective is that there is no way that a branch relative will be slower, and saving a register help me to streamline my code, so there is no down side to automatically using branch relative. If I have to support antique boxen I'll dual path inside a macro.
But, yes, pipeline preloading should be easier. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Charles Mills [charl...@mcn.org] Sent: Friday, March 4, 2022 2:27 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Jump vs. Branch In theory the branch relative is easier on the pipeline. An old base-displacement branch is dependent on the value of some register, which in theory may be subject to the machinations of the fixed point arithmetic unit. A relative jump is only dependent on the instruction counter and the contents of the instruction itself. Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Seymour J Metz Sent: Friday, March 4, 2022 10:40 AM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Jump vs. Branch I don't know why he uses the term indirect; if anything, they're more direct then the old branches. I wouldn't expect them to be more efficient, but if you use them for all branches then you can save a register, which can avoid otherwise extraneous saves and restores. Unless I have to run on a really old box, I'd use the jump instructions all the time.