Bug 6563 – wrong code when using at least 8 XMM regs
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
FreeBSD
Creation time
2011-08-27T11:52:00Z
Last change time
2011-08-27T20:14:35Z
Keywords
wrong-code
Assigned to
nobody
Creator
code
Comments
Comment #0 by code — 2011-08-27T11:52:50Z
alias float T;
T val = 1;
int plot(T a, T b, T c, T d, T e, T f, T g, T h) {
assert(a == val);
return 0;
}
int main() {
return plot(
val,
val,
val,
val,
val,
val,
val,
val,
);
}
--
The values h-b are correctly loaded from XMM0-XMM6.
The calling function put a correctly into XMM7 but the plot
function loads it from the calling stack (misinterpreted as push parameter).