aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64
Commit message (Collapse)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 ↵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
|
* 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
|