I'm not very familiar with 64-bit code, but I consider it decidedly "weird". I suspect that your "qword integer constant" actually fits into a dword, and that's why it works(?). If putting your "double" into a register works, I'd just "go along with it" for now...
Best,
Frank