programmerjake | lkcl: important x86 instruction naming correction: https://git.libre-soc.org/?p=libreriscv.git;a=commitdiff;h=b2c4e1cda8831245c4d1b8a98f34174ab5132c8c | 02:38 |
---|---|---|
*** markos <markos!~Konstanti@static062038151250.dsl.hol.gr> has quit IRC | 02:40 | |
programmerjake | shlq/shrq are the AT&T versions of shl/shr (plain shift), totally different than shld/shrd (double-wide shift). the 32-bit AT&T form of shlq/shrq would be shll/shrl anyway. | 02:41 |
*** markos <markos!~Konstanti@static062038151250.dsl.hol.gr> has joined #libre-soc | 02:53 | |
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has quit IRC | 07:10 | |
*** openpowerbot <openpowerbot!~openpower@94-226-188-34.access.telenet.be> has quit IRC | 07:10 | |
*** openpowerbot <openpowerbot!~openpower@94-226-188-34.access.telenet.be> has joined #libre-soc | 07:11 | |
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has joined #libre-soc | 07:11 | |
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has quit IRC | 07:14 | |
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has joined #libre-soc | 07:14 | |
*** klys <klys!~mdasoh@show.op8.us> has quit IRC | 08:50 | |
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has quit IRC | 09:04 | |
*** toshywoshy <toshywoshy!~toshywosh@ptr-377wf33o3bnthuddmycb.18120a2.ip6.access.telenet.be> has joined #libre-soc | 09:04 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 09:11 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.55.71> has joined #libre-soc | 09:12 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.55.71> has quit IRC | 09:17 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has joined #libre-soc | 09:18 | |
markos | ghostmansd[m], hi again, another -small I hope- issue with binutils: Error: unrecognized opcode: `fmvis' :) | 09:37 |
ghostmansd[m] | Hm. I have a vague recall that I added these, but perhaps they're in separate branch. | 09:38 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@broadband-188-32-220-156.ip.moscow.rt.ru> has quit IRC | 09:50 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.52.194> has joined #libre-soc | 09:50 | |
lkcl | programmerjake, ack appreciated | 10:22 |
lkcl | ghostmansd[m], i need sv.cmp with fail-first so there's some sv_analysis categorisation to do (sv.cmp is not marked as RM.cr_ops but sv.crand and sv.cror are) | 11:12 |
ghostmansd[m] | IIRC cmp also had some quirks, amirite? | 11:16 |
lkcl | zz and SNZ in RM bits 6-7 but other than that there's only 3 modes (simple,reduce,ffirst) and they fit exactly with RM.normal | 11:46 |
lkcl | i'm going to add sv.cmp to test_pysvp64dis.py to see how it goes | 11:47 |
lkcl | we got anything to rebase in openpower-isa? | 11:50 |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.52.194> has quit IRC | 11:51 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.43.62> has joined #libre-soc | 11:52 | |
lkcl | ha that's hilarious: sv.cmp/ff=RC1 *0,1,*4,3 is being recognised as aaaaalll the RM.modes :) RM.simple, RM.mr, RM.ff3 *and* RM.ff5 are all decoded and printed out :) | 11:57 |
lkcl | ah intriguing, it thinks it's an RM Mode None | 12:03 |
lkcl | RM | 12:03 |
lkcl | None | 12:03 |
lkcl | RM | 12:03 |
lkcl | 000000000010010000001001 | 12:03 |
lkcl | ok it's when /ff=RC1 is used | 12:09 |
lkcl | sv.cmp *0,1,*4,3 | 12:09 |
lkcl | cr_op: simple mode | 12:09 |
lkcl | RM | 12:09 |
lkcl | 000000000010010000000000 | 12:09 |
lkcl | sv.cmp/mr .... | 12:10 |
lkcl | cr_op: scalar reduce mode (mapreduce), SUBVL=1 | 12:10 |
lkcl | RM | 12:10 |
lkcl | 000000000010010000000100 | 12:10 |
lkcl | drat, different mode-bits for cr_ops. | 12:11 |
lkcl | that explains it | 12:11 |
ghostmansd[m] | so there's an error in match table? | 12:14 |
lkcl | no, it's back in sv/trans/svp64.py | 12:14 |
ghostmansd[m] | Ah OK | 12:14 |
lkcl | RM.normal requires mode=0b01 | 12:14 |
ghostmansd[m] | As for about "recognized as all modes" | 12:15 |
lkcl | RM.crops requires mode=0b10|VLI | 12:15 |
ghostmansd[m] | If no mode found, we get "common RM" | 12:15 |
ghostmansd[m] | Which incorporates all RM modes | 12:15 |
lkcl | ahh nice. | 12:15 |
ghostmansd[m] | Kinda "union of all RMs" | 12:15 |
lkcl | makes sense to me | 12:15 |
ghostmansd[m] | This is mostly caused by the fact that we start with common RM | 12:16 |
ghostmansd[m] | And then "descend" | 12:16 |
ghostmansd[m] | We get svp64.prefix.rm | 12:17 |
lkcl | ok i'm getting sv.cmp/sz instead of sv.cmp/ff=RC1 gimme 1sec | 12:17 |
lkcl | need to check sv/trans/svp64.py some more | 12:17 |
ghostmansd[m] | See mode in vebose disasm | 12:18 |
ghostmansd[m] | This should help | 12:18 |
ghostmansd[m] | *verbose | 12:18 |
lkcl | cr_op: ffirst 5-bit mode | 12:18 |
lkcl | RM | 12:18 |
lkcl | 000000000010010000010001 | 12:18 |
ghostmansd[m] | See what RM mode is | 12:18 |
ghostmansd[m] | Aha, so the tables matched CR op, and ffirst 5-bit | 12:19 |
lkcl | i think i know what it is, there's differences in where /sz is placed | 12:19 |
lkcl | (back in sv/trans/svp64.py) | 12:19 |
ghostmansd[m] | Might be | 12:19 |
ghostmansd[m] | See class which corresponds to this mode | 12:19 |
ghostmansd[m] | And stuff it inherits and it's fields | 12:20 |
lkcl | RM.mode | 12:20 |
lkcl | 10001 | 12:20 |
lkcl | 27, 28, 29, 30, 31 | 12:20 |
lkcl | that's wrong | 12:20 |
ghostmansd[m] | No-no I mean the code | 12:20 |
lkcl | that's a fault in sv/trans/svp64.py | 12:20 |
lkcl | not power_insns.py | 12:20 |
ghostmansd[m] | Or in the code | 12:20 |
ghostmansd[m] | Ah OK | 12:20 |
ghostmansd[m] | Anyway, recheck the bits positions | 12:20 |
ghostmansd[m] | I might fucked it up | 12:21 |
ghostmansd[m] | Search for "sz: " and find the class | 12:21 |
lkcl | no unlikely. CROPs really is different for failfirst | 12:21 |
ghostmansd[m] | The name will be something like FF5 | 12:21 |
lkcl | w00t, got it | 12:35 |
lkcl | ur not quite | 12:36 |
*** doppo <doppo!~doppo@2604:180::e0fc:a07f> has quit IRC | 12:45 | |
*** doppo <doppo!~doppo@2604:180::e0fc:a07f> has joined #libre-soc | 12:46 | |
ghostmansd[m] | All fields are declared like "sz: _Field = (10,)" | 12:48 |
lkcl | i got it. | 12:49 |
lkcl | also masks. | 12:49 |
lkcl | class CROpFF5RM(FFPRRc0BaseRM, PredicateWidthBaseRM, | 12:49 |
lkcl | VLiBaseRM, DZBaseRM, SZBaseRM, CROpBaseRM): | 12:49 |
lkcl | then | 12:49 |
lkcl | RC1: BaseRM[19] # cheat: set RC=1 based on ffirst mode being set | 12:49 |
lkcl | def specifiers(self, record): | 12:49 |
lkcl | yield from super().specifiers(record=record, mode="ff") | 12:49 |
lkcl | that's probably needing to just be PredicateBaseRM now that i think about it | 12:50 |
lkcl | yep done | 12:51 |
lkcl | botch-job-and-a-half in sv/trans/svp64.py sigh | 12:56 |
ghostmansd[m] | > that's probably needing to just be PredicateBaseRM now that i think about it | 12:57 |
ghostmansd[m] | Yeah quite likely | 12:57 |
lkcl | VLI mode added.... | 12:58 |
*** octavius <octavius!~octavius@85.125.93.209.dyn.plus.net> has joined #libre-soc | 14:48 | |
lkcl | oof ISACaller doesn't actually have support for sv.cmp *at all*. whoops... | 15:00 |
markos | ghostmansd[m], don't want to bother you with this if it's too much trouble, I know time is pressing for other stuff as well | 16:24 |
markos | fmvis/fishmv in binutils tha tis | 16:24 |
ghostmansd[m] | That's OK, I'll remember to check it, but I can do it only tomorrow | 16:24 |
markos | no problem | 16:25 |
markos | thanks again | 16:25 |
*** octavius <octavius!~octavius@85.125.93.209.dyn.plus.net> has quit IRC | 16:57 | |
lkcl | faaakinellfire fail-first is complicated on CR ops. | 18:42 |
*** octavius <octavius!~octavius@85.125.93.209.dyn.plus.net> has joined #libre-soc | 20:45 | |
*** klys <klys!~mdasoh@show.op8.us> has joined #libre-soc | 22:15 | |
*** octavius <octavius!~octavius@85.125.93.209.dyn.plus.net> has quit IRC | 23:06 | |
*** ghostmansd[m] <ghostmansd[m]!~ghostmans@176.59.43.62> has quit IRC | 23:20 | |
programmerjake | lkcl: added stuff you mentioned to todo list in top comment: https://bugs.libre-soc.org/show_bug.cgi?id=817#c0 | 23:22 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!