diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp --- a/clang/lib/CodeGen/TargetInfo.cpp +++ b/clang/lib/CodeGen/TargetInfo.cpp @@ -2776,8 +2776,10 @@ // // Note that clauses (b) and (c) were added in 0.98. // - if (Hi == Memory) + if ((Hi == Memory) || (Lo == Memory)) { Lo = Memory; + Hi = Memory; + } if (Hi == X87Up && Lo != X87 && honorsRevision0_98()) Lo = Memory; if (AggregateSize > 128 && (Lo != SSE || Hi != SSEUp))