[Libre-soc-bugs] [Bug 550] binutils support needed for svp64
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Tue Dec 7 20:54:20 GMT 2021
https://bugs.libre-soc.org/show_bug.cgi?id=550
--- Comment #35 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to dmitry.selyutin from comment #34)
> The progress so far: I've updated the binutils sources (they're vastly
> outdated),
yes, no rush there.
> and also made some changes to gas to make it parse some of our
> extensions (it seems all but bc stuff).
fantastic.
> After parsing, nothing is done for
> now: we discard parsing results. This is an intermediate stage to let
> interested parties to take a look at, until things go too far. Please refer
> to binutils-gdb svp64 branch.
>
> https://git.libre-soc.org/?p=binutils-gdb.git;a=shortlog;h=refs/heads/svp64
ah good it's a branch. wheww
it looks really good: the only thing that's a little odd is:
+static char *
+svp64_decode_ff_or_pr(char *str, int *value)
+{
+ size_t i;
+ static const struct svp64_ff_or_pr_map table[] = {
+ SVP64_FF_OR_PR_MAP ("RC1" , SVP64_FF_OR_PR_RC1),
+ SVP64_FF_OR_PR_MAP ("~RC1", SVP64_FF_OR_PR_NRC1),
+ SVP64_FF_OR_PR_MAP ("lt" , 0),
+ SVP64_FF_OR_PR_MAP ("nl" , 1),
+ SVP64_FF_OR_PR_MAP ("ge" , 1), /* same value as nl */
+ SVP64_FF_OR_PR_MAP ("gt" , 2),
which is making me wonder where the heck "pr=" and "ff=" are
coming from :)
decode_predicate() i totally get. the lt/ge/gt should not
be in the list.
https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/sv/trans/svp64.py;h=45b292b4c4c32bbff548f2bf299235633d31db6c;hb=ca475c00b80c1b66d03505e1d7ba6f26a379ff2e#l676
decode_ffirst() should be:
121 # partial-decode fail-first mode
122 def decode_ffirst(encoding):
123 if encoding in ['RC1', '~RC1']:
124 return encoding
125 return decode_bo(encoding)
so only RC1 or ~RC1
other than that it looks really good.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list