stekern | another small step forward for llvm-or1k, u-boot for atlys compiled with clan/llvm now works (a couple of bugs got revealed when the spi flash subsystem got compiled in) | 07:05 |
---|---|---|
stekern | the latest was strange, a stack offset of 4 got selected into "r1 | 4 <= const" | 07:07 |
stekern | that would only work if stack slots were 8 bytes, but imo I have defined them to 4 bytes everywhere | 07:08 |
stekern | it's also possible to compile newlib with it now | 10:03 |
juliusb | !! | 12:28 |
juliusb | nice one | 12:28 |
juliusb | you thinking of submitting it upstream? | 12:28 |
juliusb | stekern: hey, i'm doing a bit of thinking about the or2k isa | 13:31 |
juliusb | you reckon the cmov instructions are useful enoguh to keep? | 13:31 |
juliusb | and if so, what about the idea of having move if register is zero and move if register is non-zero? | 13:31 |
juliusb | mnemonic of l.cmovz and l.cmovnz | 13:32 |
juliusb | so i believe we're also thinking of not having a flag bit, but rather having comparisons store a 1 or a 0 in a destination register | 13:33 |
juliusb | so you'd do your compare, have it in a register, and then pass it to l.cmov[n]z as rB in a rD <- [!]rB ? rA : rD; | 13:34 |
juliusb | s/have it/have the compare result/ | 13:34 |
juliusb | i like the idea of cmov, avoiding branching over code which will just set a register's value | 13:35 |
juliusb | so you might ahve two values oyu're chosing between to put into rD, say r2 or r3, you could just do your compare then have two l.cmov instructions, for each | 13:36 |
juliusb | so C code of "d = x ? y : z;" might turn into l.cmovnz rD, rY, rX; l.cmovz rD, rZ, rX; | 13:38 |
juliusb | (that example doesn't use the compare thing, but you get what I mean, if it was x==64 you'd do your l.seqi rD, rX, 64, then do the same thing | 13:39 |
juliusb | ) | 13:39 |
stekern | yeah, I think that's better than what we have now | 15:30 |
stekern | regarding upstream, you'd need to make a commitment of being the maintainer longtime if they'd accept it, I'm not sure I can make such promises | 15:35 |
stekern | besides that, it's by no means ready for it ;) | 15:35 |
stekern | but it's pretty painless to keep a out of tree backend branch, usually little change, and when they do, they are good at announcing on the llvm-dev ml about it | 15:36 |
juliusb | yeah, i imagine that'd be a bit of work I guess | 16:20 |
juliusb | sounds cool though | 16:20 |
juliusb | :) | 16:20 |
--- Log closed Sat Jun 09 17:24:23 2012 | ||
--- Log opened Sat Jun 09 19:43:20 2012 | ||
-!- Irssi: #openrisc: Total of 12 nicks [0 ops, 0 halfops, 0 voices, 12 normal] | 19:43 | |
-!- Irssi: Join to #openrisc was synced in 24 secs | 19:43 |
Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!