diff options
author | Reid Kleckner <rnk@google.com> | 2019-11-19 14:33:47 -0800 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2020-01-14 17:19:35 -0800 |
commit | 40cd26c7008183e01d8276396339aea2a99d83d7 (patch) | |
tree | 7b863cc490d6fd1adaad11f1ee332d420348eb26 /llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp | |
parent | 65c8abb14e77b28d8357c52dddb8e0a6b12b4ba2 (diff) | |
download | bcm5719-llvm-40cd26c7008183e01d8276396339aea2a99d83d7.tar.gz bcm5719-llvm-40cd26c7008183e01d8276396339aea2a99d83d7.zip |
[Win64] Handle FP arguments more gracefully under -mno-sse
Pass small FP values in GPRs or stack memory according the the normal
convention. This is what gcc -mno-sse does on Win64.
I adjusted the conditions under which we emit an error to check if the
argument or return value would be passed in an XMM register when SSE is
disabled. This has a side effect of no longer emitting an error for FP
arguments marked 'inreg' when targetting x86 with SSE disabled. Our
calling convention logic was already assigning it to FP0/FP1, and then
we emitted this error. That seems unnecessary, we can ignore 'inreg' and
compile it without SSE.
Reviewers: jyknight, aemerson
Differential Revision: https://reviews.llvm.org/D70465
Diffstat (limited to 'llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions