Here's a good talk about the Go assembler backend: https://www.youtube.com/watch?v=KINIAgRpkDA Spoiler: they're nearly to the point (maybe now they've achieved it fully) of autogenerating a new language backend from ISA documentation PDFs! Bring that up next time someone complains about Go not using LLVM.
A Foray into Go Assembly Programming
11–20 of 21 posts
Re: A Foray into Go Assembly Programming
#12This is an area where proofs of correctness are considered necessary, because intuition fails. See [3]
[1] https://blog.golang.org/go15gc [2] https://golang.org/src/runtime/mbarrier.go [3] https://github.com/golang/proposal/blob/master/design/17503-...
Re: A Foray into Go Assembly Programming
#13What the fuck. That's amazing!
Re: A Foray into Go Assembly Programming
#14Here's a good talk about the Go assembler backend: https://www.youtube.com/watch?v=KINIAgRpkDA Spoiler: they're nearly to the point (maybe now they've achieved it fully) of autogenerating a new language backend from ISA documentation PDFs! Bring that up next time someone complains about Go not using LLVM.
Does this make targeting new ISA's trivial?
Re: A Foray into Go Assembly Programming
#15> In this case, a divide by 3 is equivalent to multiplying by 0x55555556 and then taking the top half of the output. What the fuck. That's amazing!
Re: A Foray into Go Assembly Programming
#16> In this case, a divide by 3 is equivalent to multiplying by 0x55555556 and then taking the top half of the output. What the fuck. That's amazing!
[1] https://en.wikipedia.org/wiki/Montgomery_modular_multiplicat...
Re: A Foray into Go Assembly Programming
#17I did too, until I found.
Re: A Foray into Go Assembly Programming
#18Re: A Foray into Go Assembly Programming
#19"I literally copy-paste the middot every time. Who has a middot key?" I did too, until I found. http://middot.net/
I love the Compose key, and don't think I'll ever use a desktop without it.
Re: A Foray into Go Assembly Programming
#20go tool compile -S -S file.go