From: Luke Kenneth Casson Leighton Date: Tue, 11 Oct 2022 14:05:58 +0000 (+0100) Subject: add Post-increment version of fixedstore.mdwn X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dc9cee7996f91f0e3b87f894b3311d3c7ba833f7;p=openpower-isa.git add Post-increment version of fixedstore.mdwn --- diff --git a/openpower/isa/pifixedload.mdwn b/openpower/isa/pifixedload.mdwn index 3f74981d..b5671cbc 100644 --- a/openpower/isa/pifixedload.mdwn +++ b/openpower/isa/pifixedload.mdwn @@ -4,7 +4,7 @@ - + diff --git a/openpower/isa/pifixedstore.mdwn b/openpower/isa/pifixedstore.mdwn new file mode 100644 index 00000000..a8060e56 --- /dev/null +++ b/openpower/isa/pifixedstore.mdwn @@ -0,0 +1,141 @@ + + + + + +# Store Byte with Update + +D-Form + +* stbu RS,D(RA) + +Pseudo-code: + + EA <- (RA) + EXTS(D) + ea <- (RA) + MEM(ra, 1) <- (RS)[XLEN-8:XLEN-1] + RA <- EA + +Special Registers Altered: + + None + +# Store Byte with Update Indexed + +X-Form + +* stbux RS,RA,RB + +Pseudo-code: + + EA <- (RA) + (RB) + ea <- (RA) + MEM(ea, 1) <- (RS)[XLEN-8:XLEN-1] + RA <- EA + +Special Registers Altered: + + None + +# Store Halfword with Update + +D-Form + +* sthu RS,D(RA) + +Pseudo-code: + + EA <- (RA) + EXTS(D) + ea <- (RA) + MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1] + RA <- EA + +Special Registers Altered: + + None + +# Store Halfword with Update Indexed + +X-Form + +* sthux RS,RA,RB + +Pseudo-code: + + EA <- (RA) + (RB) + ea <- (RA) + MEM(ea, 2) <- (RS)[XLEN-16:XLEN-1] + RA <- EA + +Special Registers Altered: + + None + +# Store Word with Update + +D-Form + +* stwu RS,D(RA) + +Pseudo-code: + + EA <- (RA) + EXTS(D) + ea <- (RA) + MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1] + RA <- EA + +Special Registers Altered: + + None + +# Store Word with Update Indexed + +X-Form + +* stwux RS,RA,RB + +Pseudo-code: + + EA <- (RA) + (RB) + ea <- (RA) + MEM(ea, 4) <- (RS)[XLEN-32:XLEN-1] + RA <- EA + +Special Registers Altered: + + None + +# Store Doubleword with Update + +DS-Form + +* stdu RS,DS(RA) + +Pseudo-code: + + EA <- (RA) + EXTS(DS || 0b00) + ea <- (RA) + MEM(ea, 8) <- (RS) + RA <- EA + +Special Registers Altered: + + None + +# Store Doubleword with Update Indexed + +X-Form + +* stdux RS,RA,RB + +Pseudo-code: + + EA <- (RA) + (RB) + ea <- (RA) + MEM(ea, 8) <- (RS) + RA <- EA + +Special Registers Altered: + + None +