D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 7228 - MOVDQ2Q instruction is emitted with swapped register indices
Summary: MOVDQ2Q instruction is emitted with swapped register indices
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: x86 Windows
: P2 normal
Assignee: No Owner
URL:
Keywords: iasm
Depends on:
Blocks:
 
Reported: 2012-01-04 21:03 UTC by Piotr Szturmaj
Modified: 2012-01-24 22:53 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Piotr Szturmaj 2012-01-04 21:03:48 UTC
With D's inline assembler, this instruction:

movdq2q MM2, XMM7;

is emitted as:

movdq2q MM7, XMM2;

I encountered this behaviour only with this instruction. Its reverse instruction movq2dq is emitted correctly.
Comment 1 github-bugzilla 2012-01-24 22:46:50 UTC
Commit pushed to dmd-1.x at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/0f07f631b597ea47847c1e0f1833d30ef5ee9574
fix Issue 7228 - MOVDQ2Q instruction is emitted with swapped register indices
Comment 2 github-bugzilla 2012-01-24 22:47:26 UTC
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/29354fe3be9244e8730507e99d131efebe0a786a
fix Issue 7228 - MOVDQ2Q instruction is emitted with swapped register indices