void main() { ulong a = 0xff; ulong b; asm { movq XMM0, a; pmovmskb RAX, XMM0; mov b, RAX; } assert (b == 1); } bug.d(8): Error: bad type/size of operands 'pmovmskb' This is perfectly valid according to the Intel documentation.
https://github.com/D-Programming-Language/dmd/pull/3621
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/b41f78f5ecf4687bf1c026a472c5a341c17bed1e Fix issue 12849: pmovmskb instruction cannot store to 64-bit registers https://github.com/D-Programming-Language/dmd/commit/addae511ef59fb6f970e10c5fe10c12f6442f128 Merge pull request #3621 from Hackerpilot/issue-12849 Fix issue 12849: pmovmskb instruction cannot store to 64-bit registers