> Can EX modify the CC mask in a target branch instruction?  

You bet!

Branch prediction is always ... well, like any other prediction.

Charles


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU]
On Behalf Of Paul Gilmartin
Sent: Thursday, August 2, 2018 10:09 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Instruction/Data Cache Usage (was EQU *)

On 2018-08-02, at 08:22:52, Alan Atkinson wrote:

> "Inline data is no more expensive than data in another page. In either
case, the reference to the data requires a cache line load to the D-cache,
but does not invalidate/disturb the I-cache"
> 
> Is that also now true for the target of an execute perchance?
>  
Surely this is model-dependent.  On S/360, I doubt it mattered.

> We went through a whole exercise to get rid of all the
> 
> EX *+8
> J *+??
> <target of execute>
>  
A principal use of EX is to be able to use a register mask to modify the
target.  CDC 3800 had a clever alternative to this, a
modify-next-instruction
instruction (I forget what it was called).  The target was always the
following
instruction; execution continued after that instruction -- no need to branch
around.  Its principal use was to enable CDC 3800 extended addressing in old
CDC 3600 short-address instructions.  Addressing was not otherwise modal.

IBM might have done well to provide a modify-next rather than a
long-address,
pipeline breaking, dreadfully expensive, EX.

(They probably had the discussion and had good reasons not to do it.)

(Can EX modify the CC mask in a target branch instruction?  A sure
branch prediction breaker.)

-- gil

Reply via email to