aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64
Commit message (Expand)AuthorAgeFilesLines
* 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 i...lemon2025-11-221-1/+1
* 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
* 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 ins...lemon2025-10-251-1/+3
* 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
* amd64/emit erratalemon2025-10-201-1/+1
* Organize source files into directorieslemon2025-10-192-2/+2
* amd64: float conversion insntrslemon2025-10-182-2/+43
* small thignslemon2025-10-181-1/+1
* codegen bugfixlemon2025-10-171-5/+13
* amd64: not, udivlemon2025-10-141-0/+13
* amd64: mul -> imullemon2025-10-131-8/+9
* bugfixeslemon2025-10-101-0/+1
* initial implementation of run-time array/aggregate initializerslemon2025-10-081-0/+4
* fix some more codegen bugs for symbol constantslemon2025-09-162-4/+6
* codegen: fix 3-address sub reg,imm codegenlemon2025-09-151-1/+1
* start implementing bitfieldslemon2025-09-141-0/+6
* codegen: float cmp, ior; frontend: fix cond expr buglemon2025-09-142-5/+21