Fix for https://bugs.llvm.org/show_bug.cgi?id=41477. On the x32 ABI with stack probing a dynamic alloca will result in a WIN_ALLOCA_32 with a 32-bit size. The current implementation tries to copy it into RAX, resulting in a physreg copy error. Fix this by copying to EAX instead.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
Thanks @efriedma. I've added test cases that exercise all three codepaths now and fixed the subtract regs/ops.
Are you sure this subtraction is using the right opcode?