cfallin labeled issue #1064:
Currently,
stack_storeandstack_loadare legalized intostack_addrfollowed by plainstoreandload, producing code like this:lea rax, qword ptr [rsp + 8] mov qword ptr [rax], rdiWe really want to just emit this:
mov qword ptr [rsp + 8], rdiOptions include:
- Add encoding rules forstack_loadandstack_store, making them legal. This is straightforward, but if we later want to extend this to allow extending loads and narrowing stores, we'll need a bunch more instructions.
- Extendload_complex/store_complexto have a way represent a base pointer which is the stack pointer, and then foldstack_addrintoload/store.
cfallin closed issue #1064:
Currently,
stack_storeandstack_loadare legalized intostack_addrfollowed by plainstoreandload, producing code like this:lea rax, qword ptr [rsp + 8] mov qword ptr [rax], rdiWe really want to just emit this:
mov qword ptr [rsp + 8], rdiOptions include:
- Add encoding rules forstack_loadandstack_store, making them legal. This is straightforward, but if we later want to extend this to allow extending loads and narrowing stores, we'll need a bunch more instructions.
- Extendload_complex/store_complexto have a way represent a base pointer which is the stack pointer, and then foldstack_addrintoload/store.
Last updated: Dec 13 2025 at 19:03 UTC