Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
From: bugzilla-daemon@libre-soc.org
To: libre-riscv-dev@lists.libre-riscv.org
Subject: [libre-riscv-dev] [Bug 314] Create Condition Register pipeline
Date: Sat, 16 May 2020 18:00:05 +0000
Message-ID: <bug-314-13-siU5Zg3VF7@https.bugs.libre-soc.org/> (raw)
In-Reply-To: <bug-314-13@https.bugs.libre-soc.org/>

https://bugs.libre-soc.org/show_bug.cgi?id=314

--- Comment #3 from Michael Nolan <mtnolan2640@gmail.com> ---
The hell? IBM separately defines mtcrf and mtocrf, and reserves a bit to
differentiate between the two. Except there's no functional difference between
the two that I can tell, and the assembler will even assemble some instances of
mtcrf as mtocrf. 


Basically mtcrf fxm, reg uses fxm to construct a 32 bit mask, where each bit in
fxm corresponds to 4 bits in the mask (so mtcrf 0xf1 would correspond to a mask
of 0xffff000f). It then uses this mask to choose between bits of CR and the
input register, and writes them back to CR

mtocrf fxm, reg assumes fxm is a one hot encoded index into the bits of reg. It
grabs those bits from reg and inserts them into cr, leaving the rest untouched.
If fxm is not onehot, then the result is undefined.

Why these are different, I don't know.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev

  parent reply index

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-15 15:33 [libre-riscv-dev] [Bug 314] New: " bugzilla-daemon
2020-05-15 15:33 ` [libre-riscv-dev] [Bug 314] " bugzilla-daemon
2020-05-15 15:33 ` bugzilla-daemon
2020-05-15 15:41 ` bugzilla-daemon
2020-05-15 21:53 ` bugzilla-daemon
2020-05-15 22:05 ` bugzilla-daemon
2020-05-16 18:00 ` bugzilla-daemon [this message]
2020-05-16 18:27 ` bugzilla-daemon
2020-05-16 18:28 ` bugzilla-daemon
2020-05-16 18:38 ` bugzilla-daemon
2020-05-16 18:38 ` bugzilla-daemon
2020-05-16 18:42 ` bugzilla-daemon
2020-05-16 18:46 ` bugzilla-daemon
2020-05-16 18:47 ` bugzilla-daemon
2020-05-16 19:30 ` bugzilla-daemon
2020-05-16 20:07 ` bugzilla-daemon
2020-05-16 20:30 ` bugzilla-daemon
2020-05-16 22:06 ` bugzilla-daemon
2020-05-16 22:11 ` bugzilla-daemon
2020-05-16 22:14 ` bugzilla-daemon
2020-05-19 18:08 ` bugzilla-daemon
2020-05-23  1:17 ` [libre-riscv-dev] [Bug 314] Create POWER9 " bugzilla-daemon
2020-05-23  1:21 ` bugzilla-daemon
2020-05-23  1:25 ` bugzilla-daemon
2020-05-23 10:36 ` bugzilla-daemon
2020-05-23 20:30 ` bugzilla-daemon
2020-05-23 21:01 ` bugzilla-daemon
2020-05-24 13:11 ` bugzilla-daemon
2020-05-24 19:57 ` bugzilla-daemon
2020-05-24 20:47 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-314-13-siU5Zg3VF7@https.bugs.libre-soc.org/ \
    --to=bugzilla-daemon@libre-soc.org \
    --cc=libre-riscv-dev@lists.libre-riscv.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Libre RISC-V Mailing list Archives (accessible via public-inbox)

Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev

Example config snippet for mirrors


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git