SH4 CC status: working some on "long long" arithmetic; notes register space doesn't go very far; mostly doing ops load+op+store...
None of this should need manual consideration, just general purpose register allocation.
-
-
non-3AC stuff (like LL ops) falls to a lower-level scratch allocator; which doesn't abstract over how many registers are in use at a time.
-
likewise some ops (mul/div) need to be implemented directly as ASM functions, which doesn't abstract over much of anything.
-
pretty much everything for int128 would need to be either ASM funcs or calls C into funcs, & many ops would need to work piecewise from mem.
-
For larger-than-word arithmetic you can always either just generate a library call or expand the whole operation in the AST...
-
The latter basically amounts to a "builtin inline function". Either trivially allows the GP register allocation to do the work.
-
ok; I am doing a lot of this stuff in the machine-code emitter stage; so the AST and 3AC code sees LongLong/Int128/... as fundamental types.
-
for many of the LongLong arith ops, I treat it like it were a function call, mostly so it can use all the scratch registers as working space
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.