~ecs/qbe2c

Fix compilation.

Signed-off-by: Joe Finney <me@spxtr.net>
Co-authored-by: Ember Sawady <ecs@d2evs.net>
fix compilation

Signed-off-by: Sebastian <sebastian@sebsite.pw>
s/section/__section__/

Signed-off-by: Sebastian <sebastian@sebsite.pw>
fix keywords

there should probably be logic to handle all identifiers that start with
__ or with _ followed by a capital letter, rather than special-casing a
bunch of stuff, but for now some c23 keywords were missing and when i
first added keywords i added "nullexpr" instead of "nullptr" lol

Signed-off-by: Sebastian <sebastian@sebsite.pw>
fix compilation and update for hlt
Add a missing space to the header
Use __asm__ when available

To avoid exposing symbol mangling
Add C23 keywords

Signed-off-by: Sebastian <sebastian@sebsite.pw>
Use binary search for keyword detection

Signed-off-by: Sebastian <sebastian@sebsite.pw>
Fix phi

Whoops, thanks seb
Implement blit
Implement phi
License as WTFPL
Fix shifts

And with that, all but one of the Hare stdlib tests pass. The last
failing one is:

math::fround: Assertion failed: /home/ecs/src/hare/hare/math/fenv+x86_64.ha:114:1

and it's due to clang constant-folding the calculations, with the wrong
rounding mode. I don't feel like fixing that, and it's not like it'll
ever affect anyone, so whatever.
Initialize temporaries

Piece of shit clang optimizer thinks it's smarter than me, fucking
christ
Fix 0-length alloc*
Drop some useless instructions

Not sure how these got in here
Fix {d,s}_-0
Next
Do not follow this link