aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64
Commit message (Collapse)AuthorAgeFilesLines
* isel: fix immediate of flipped sublemon2025-12-041-0/+1
|
* test/11-abilemon2025-12-021-6/+9
|
* amd64/isel: fix addressing index shift being possibly too large to encode (duh)lemon2025-11-292-1/+2
|
* isel: fix branch arglemon2025-11-271-0/+2
|
* abi/isel: aggregate args in stack wiplemon2025-11-271-6/+11
|
* amd64/emit: I64 consts and fp push/poplemon2025-11-241-7/+22
|
* fix regression w/ store instr + memory immediatelemon2025-11-241-11/+13
|
* isel: loadstoreaddr don't fuseaddr as muchlemon2025-11-241-3/+5
|
* amd64/emit: fix (partially) float comparisonsdlemon2025-11-231-6/+10
|
* amd64: va_arg for small aggregateslemon2025-11-231-2/+8
|
* amd64/emit: this rbpoff approach is kinda broken..lemon2025-11-231-1/+1
|
* implement float varargs, and some other fixeslemon2025-11-232-46/+51
|
* amd64/isel: indirect call arg must be memaddrlemon2025-11-221-2/+7
|
* make sure indirect function call pointer does not end up in clobber reglemon2025-11-221-0/+5
|
* sysv: nested scalar classification of struct shouldn't return KPTR, used to ↵lemon2025-11-221-1/+1
| | | | indicate aggregate in the stack
* amd64/emit: fix REX-requiring 8-bit GPR encoding checking wrong reglemon2025-11-221-2/+2
|
* ir: barebones IR passes checked contractslemon2025-11-211-0/+2
|
* remove umullemon2025-11-212-4/+2
|
* change op names to match 285063eba44lemon2025-11-213-48/+48
|
* rename IR classes to reflect bitsizelemon2025-11-213-47/+47
|
* isel: lower allocas a different way, such that stk address gets materialized ↵lemon2025-11-202-27/+62
| | | | when necesary
* ir: for easier debugging, keep ctype in dats, print as literal when possiblelemon2025-11-201-3/+7
|
* debug output to stdoutlemon2025-11-191-1/+1
|
* ir: 'trap' jump; c: __builtin_trap; lex: __has_builtinlemon2025-11-151-0/+2
|
* isel: don't incorrectly clamp constant lhs of shift operationlemon2025-11-151-4/+4
|
* emit: stack alignment edgecaseslemon2025-11-151-5/+9
|
* isel: fold arithlemon2025-11-141-1/+21
|
* sysv: document vaargs stack layout stufflemon2025-11-141-3/+29
|
* preeliminary va_list supportlemon2025-11-143-11/+186
|
* amd64/isel: fold Oext with immediateslemon2025-11-121-0/+8
|
* implement argument passing in stacklemon2025-11-121-6/+18
|
* amd64: fix positive RBP off (stack params); address encoding erratalemon2025-11-121-2/+2
|
* fixup! amd64: get rid of xinc/xdec. handle those at emit stagelemon2025-11-091-1/+1
|
* amd64/isel: make `sub imm` work for address fusinglemon2025-11-091-2/+8
|
* amd64: get rid of xinc/xdec. handle those at emit stagelemon2025-11-092-26/+7
|
* amd64: errata with unsigned greater than or equal (should be JAE)lemon2025-11-061-1/+1
|
* amd64: fix aggregate abi stuff;; ir: fold, peephole optimizing constructorslemon2025-11-052-19/+28
|
* isel: fix 3-address add when used for flags in branchlemon2025-11-021-0/+3
|
* isel fixeslemon2025-10-302-4/+11
|
* isel: fix address sel for absolute int addrlemon2025-10-261-0/+7
|
* emit: remove unnecessary REX.W prfix for TEST r8lemon2025-10-261-1/+1
|
* amd64: add/sub operands less restrictivelemon2025-10-251-2/+2
|
* c: avoid generating relocations in .rodata (putting such objects in .data ↵lemon2025-10-251-1/+3
| | | | instead for now)
* emit: PU8, PU16lemon2025-10-251-0/+6
|
* amd64 rbpofflemon2025-10-241-1/+1
|
* amd64 missing stufflemon2025-10-232-3/+12
|
* isel: fix -fpic factoring out non-symbolic address operandslemon2025-10-231-1/+1
|
* amd64: load/store from abs address constants; movabslemon2025-10-232-21/+51
|
* amd64/emit PI8 fix int overflow edgecaselemon2025-10-231-1/+1
|
* fix edge case codegen bugs (w/ stack offsets, spilling)lemon2025-10-221-0/+2
|