Starting point: * Your ISA should have [R+R<<k] loads/stores * An instruction which can compute A=B+C<<k is incredibly useful * 20-bit branch range is not enough (look at the size of a chromium lib sometime) * Have something like A64 BFM or PPC RLWINM
-
-
Replying to @erincandescent @oshepherd and
Some starter notes for the ABI side: - do not pass FP values in GPR. When you’re bringing up a new arch, you’ll benchmark the math library and think this is a good idea. It isn’t. The math library is not at all like other FP code.
2 replies 1 retweet 4 likes -
Replying to @stephentyrone @oshepherd and
- do not place struct return pointers or va_args counts in one of the normal param registers. You want to have a single map from parameter types and positions to registers / memory.
2 replies 0 retweets 1 like -
Replying to @stephentyrone @oshepherd and
can we say "do not put va_args parameters in registers"
2 replies 0 retweets 1 like -
Replying to @11rcombs @oshepherd and
Ideally they should be laid out exactly as they would be for a non-va_args function with the right parameters.
1 reply 0 retweets 1 like -
Replying to @stephentyrone @11rcombs and
I am vaguely sympathetic to objections to the complexity this involves, however.
1 reply 0 retweets 0 likes -
Replying to @stephentyrone @11rcombs and
put the variadic portion on the stack and the non-variadic portion in the GPRs or whatever imo
1 reply 0 retweets 1 like -
Replying to @hikari_no_yume @stephentyrone and
because that matches the access pattern?
1 reply 0 retweets 1 like -
Replying to @hikari_no_yume @11rcombs and
Yup, that’s a perfectly defensible alternative.
2 replies 0 retweets 1 like -
Replying to @stephentyrone @hikari_no_yume and
Though you will probably find yourself quite sad if somebody tries to compile some C for your architecture with a missing function prototype somewhere
4 replies 0 retweets 4 likes
This would be a non-issue if GCC and clang fixed their shit to make it an error by default.
-
-
Replying to @RichFelker @oshepherd and
and make people compiling legacy codes use -fplz-compile-my-broken-shit
1 reply 0 retweets 3 likes -
If I may bikeshed this one, the flag should be -fml.
1 reply 0 retweets 6 likes -
+1000
0 replies 0 retweets 0 likes
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.