BR 2557903: fix disassembly of a set of SSE MOV* instructions
authorH. Peter Anvin <hpa@zytor.com>
Sun, 22 Feb 2009 02:58:15 +0000 (18:58 -0800)
committerH. Peter Anvin <hpa@zytor.com>
Sun, 22 Feb 2009 02:58:15 +0000 (18:58 -0800)
Fix the disassembly of the alternate forms of register-register
MOVAPD, MOVDQA, MOVDQU, MOVQ, MOVSD, and MOVUPD.

NASM never generates these, but they would be disassembled
incorrectly.

insns.dat

index f5f001f..36a9579 100644 (file)
--- a/insns.dat
+++ b/insns.dat
@@ -1543,14 +1543,14 @@ MOVD            xmmreg,mem                      \361\2\x0F\x6E\110                              WILLAMETTE,SSE2,SD
 MOVDQA         xmmreg,xmmreg                   \361\2\x0F\x6F\110                              WILLAMETTE,SSE2
 MOVDQA         mem,xmmreg                      \361\2\x0F\x7F\101                              WILLAMETTE,SSE2,SO
 MOVDQA         xmmreg,mem                      \361\2\x0F\x6F\110                              WILLAMETTE,SSE2,SO
-MOVDQA         xmmreg,xmmreg                   \361\2\x0F\x7F\110                              WILLAMETTE,SSE2
+MOVDQA         xmmreg,xmmreg                   \361\2\x0F\x7F\101                              WILLAMETTE,SSE2
 MOVDQU         xmmreg,xmmreg                   \363\2\x0F\x6F\110                              WILLAMETTE,SSE2
 MOVDQU         mem,xmmreg                      \363\2\x0F\x7F\101                              WILLAMETTE,SSE2,SO
 MOVDQU         xmmreg,mem                      \363\2\x0F\x6F\110                              WILLAMETTE,SSE2,SO
-MOVDQU         xmmreg,xmmreg                   \363\2\x0F\x7F\110                              WILLAMETTE,SSE2
+MOVDQU         xmmreg,xmmreg                   \363\2\x0F\x7F\101                              WILLAMETTE,SSE2
 MOVDQ2Q                mmxreg,xmmreg                   \362\2\x0F\xD6\110                              WILLAMETTE,SSE2
 MOVQ           xmmreg,xmmreg                   \363\2\x0F\x7E\110                              WILLAMETTE,SSE2
-MOVQ           xmmreg,xmmreg                   \361\2\x0F\xD6\110                              WILLAMETTE,SSE2
+MOVQ           xmmreg,xmmreg                   \361\2\x0F\xD6\101                              WILLAMETTE,SSE2
 MOVQ           mem,xmmreg                      \361\2\x0F\xD6\101                              WILLAMETTE,SSE2,SQ
 MOVQ           xmmreg,mem                      \363\2\x0F\x7E\110                              WILLAMETTE,SSE2,SQ
 MOVQ           xmmreg,rm64                     \361\324\2\x0F\x6E\110                          X64,SSE2
@@ -1696,7 +1696,7 @@ MAXSD             xmmreg,xmmrm                    \362\2\x0F\x5F\110                              WILLAMETTE,SSE2
 MINPD          xmmreg,xmmrm                    \361\2\x0F\x5D\110                              WILLAMETTE,SSE2,SO
 MINSD          xmmreg,xmmrm                    \362\2\x0F\x5D\110                              WILLAMETTE,SSE2
 MOVAPD         xmmreg,xmmreg                   \361\2\x0F\x28\110                              WILLAMETTE,SSE2
-MOVAPD         xmmreg,xmmreg                   \361\2\x0F\x29\110                              WILLAMETTE,SSE2
+MOVAPD         xmmreg,xmmreg                   \361\2\x0F\x29\101                              WILLAMETTE,SSE2
 MOVAPD         mem,xmmreg                      \361\2\x0F\x29\101                              WILLAMETTE,SSE2,SO
 MOVAPD         xmmreg,mem                      \361\2\x0F\x28\110                              WILLAMETTE,SSE2,SO
 MOVHPD         mem,xmmreg                      \361\2\x0F\x17\101                              WILLAMETTE,SSE2
@@ -1706,11 +1706,11 @@ MOVLPD          xmmreg,mem                      \361\2\x0F\x12\110                              WILLAMETTE,SSE2
 MOVMSKPD       reg32,xmmreg                    \361\2\x0F\x50\110                              WILLAMETTE,SSE2
 MOVMSKPD       reg64,xmmreg                    \361\324\2\x0F\x50\110                          X64,SSE2
 MOVSD          xmmreg,xmmreg                   \362\2\x0F\x10\110                              WILLAMETTE,SSE2
-MOVSD          xmmreg,xmmreg                   \362\2\x0F\x11\110                              WILLAMETTE,SSE2
+MOVSD          xmmreg,xmmreg                   \362\2\x0F\x11\101                              WILLAMETTE,SSE2
 MOVSD          mem,xmmreg                      \362\2\x0F\x11\101                              WILLAMETTE,SSE2
 MOVSD          xmmreg,mem                      \362\2\x0F\x10\110                              WILLAMETTE,SSE2
 MOVUPD         xmmreg,xmmreg                   \361\2\x0F\x10\110                              WILLAMETTE,SSE2
-MOVUPD         xmmreg,xmmreg                   \361\2\x0F\x11\110                              WILLAMETTE,SSE2
+MOVUPD         xmmreg,xmmreg                   \361\2\x0F\x11\101                              WILLAMETTE,SSE2
 MOVUPD         mem,xmmreg                      \361\2\x0F\x11\101                              WILLAMETTE,SSE2,SO
 MOVUPD         xmmreg,mem                      \361\2\x0F\x10\110                              WILLAMETTE,SSE2,SO
 MULPD          xmmreg,xmmrm                    \361\2\x0F\x59\110                              WILLAMETTE,SSE2,SO