Bug 12849 – pmovmskb instruction cannot store to 64-bit registers

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2014-06-03T23:27:00Z
Last change time
2014-06-05T21:24:50Z
Keywords
iasm, pull, SIMD
Assigned to
nobody
Creator
briancschott

Comments

Comment #0 by briancschott — 2014-06-03T23:27:48Z
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.
Comment #1 by briancschott — 2014-06-04T20:06:45Z
Comment #2 by github-bugzilla — 2014-06-05T21:24:49Z
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