https://issues.dlang.org/show_bug.cgi?id=15206
--- Comment #4 from [email protected] --- It seems that the problem is in the allocreg function called from loaddata. I added some debugging printfs before and after calls to `allocreg` and I see the following: before: tym = 0x1d, forregs = 0x020000, reg = BP|SI|DI|R10|R12|R15|XMM0|XMM1|XMM3|XMM4|XMM5|XMM6|XMM7|PSW|NOREG|RMload after: tym = 0x1d, forregs = 0x020000, reg = AX|SP It seems that the `forregs` variable (The `pretregs` parameter to allocreg) is not getting modified properly. It still has the value 0x20000, which matches the XMMREGS mask even though `allocreg` has correctly removed all the XMM registers from the list of valid registers in the `reg` variable. Because this `forregs` variable is not masked out by XMMREGS, there is a call to `xmmload` even though `xmmload` doesn't support `tym` values of 0x1d. --
