From 2a994e10e6e97fd4d3e99230945559bc188068ea Mon Sep 17 00:00:00 2001 From: lkcl Date: Tue, 18 Apr 2023 23:03:05 +0100 Subject: [PATCH] --- openpower/sv/rfc/ls005.mdwn | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/openpower/sv/rfc/ls005.mdwn b/openpower/sv/rfc/ls005.mdwn index 6611f89f8..37feb0412 100644 --- a/openpower/sv/rfc/ls005.mdwn +++ b/openpower/sv/rfc/ls005.mdwn @@ -287,11 +287,11 @@ is a loss of functionality and opportunity: The RTL for `extsb` becomes: ``` - in <- (RA)[XLEN-8:XLEN-1] - if XLEN = 8 then RT <- in[0]] * 8 # 1->8 - if XLEN = 16 then RT <- in[13]] * 15 || in[15] # 2->16 - if XLEN = 32 then RT <- in[28]] * 29 || in[29:31] # 4->32 - if XLEN = 64 then RT <- in[55]] * 56 || in[57:63] # 8->64 + in <- (RA)[XLEN-8:XLEN-1] # extract first byte + if XLEN = 8 then RT <- in[7]] * 8 # 1->8 + if XLEN = 16 then RT <- in[6]] * 15 || in[7] # 2->16 + if XLEN = 32 then RT <- in[4]] * 29 || in[5:7] # 4->32 + if XLEN = 64 then RT <- in[0]] * 56 || in[1:7] # 8->64 ``` And `extsh` and `extsw` follow similar logic. Interestingly there is -- 2.30.2