mirror of
git://c9x.me/qbe.git
synced 2026-04-05 18:09:47 +00:00
It is quite similar to arm64_apple.
Probably, the call that needs to be
generated also provides extra
invariants on top of the regular
abi, but I have not checked that.
Clang generates code that is a bit
neater than qbe's because, on x86,
a load can be fused in a call
instruction! We do not bother with
supporting these since we expect
only sporadic use of the feature.
For reference, here is what clang
might output for a store to the
second entry of a thread-local
array of ints:
movq _x@TLVP(%rip), %rdi
callq *(%rdi)
movl %ecx, 4(%rax)
|
||
|---|---|---|
| .. | ||
| abi.c | ||
| all.h | ||
| emit.c | ||
| isel.c | ||
| targ.c | ||