aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDamien Lespiau <damien.lespiau@intel.com>2017-05-07 15:58:03 +0100
committerBrad Fitzpatrick <bradfitz@golang.org>2017-05-07 17:00:58 +0000
commit23c5db9bbbfe2d5656b8f153e1cc7327e90d8005 (patch)
tree09377913b6457765de01dcb0cb6e6522c800169f /src
parent53003621720ff39c4745a76f76847123c27b01ea (diff)
downloadgo-23c5db9bbbfe2d5656b8f153e1cc7327e90d8005.tar.xz
cmd/asm: enable MOVSD in the encoding end-to-end test
MOVSD is properly handled but its encoding test wasn't enabled. Enable it. For reference this was found with a little tool I wrote [1] to explore which instructions are missing or not tested in the go obj package and assembler: "which SSE2 instructions aren't tested? And don't list instructions which can take MMX operands" $ x86db-gogen list --extension SSE2 --not-tested --not-mmx CLFLUSH mem [m: np 0f ae /7] WILLAMETTE,SSE2 MOVSD xmmreg,xmmreg [rm: f2 0f 10 /r] WILLAMETTE,SSE2 MOVSD xmmreg,xmmreg [mr: f2 0f 11 /r] WILLAMETTE,SSE2 MOVSD mem64,xmmreg [mr: f2 0f 11 /r] WILLAMETTE,SSE2 MOVSD xmmreg,mem64 [rm: f2 0f 10 /r] WILLAMETTE,SSE2 (CLFLUSH was introduced with SSE2, but has its own CPUID bit) [1] https://github.com/dlespiau/x86db Change-Id: Ic3af3028cb8d4f02e53fdebb9b30fb311f4ee454 Reviewed-on: https://go-review.googlesource.com/42814 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/asm/internal/asm/testdata/amd64enc.s24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/amd64enc.s b/src/cmd/asm/internal/asm/testdata/amd64enc.s
index dbc4023f9f..ec888bced3 100644
--- a/src/cmd/asm/internal/asm/testdata/amd64enc.s
+++ b/src/cmd/asm/internal/asm/testdata/amd64enc.s
@@ -2687,18 +2687,18 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
MOVQOZX M3, X11 // f3440fd6db
MOVSB // a4
MOVSL // a5
- //TODO: MOVSD (BX), X2 // f20f1013
- //TODO: MOVSD (R11), X2 // f2410f1013
- //TODO: MOVSD X2, X2 // f20f10d2 or f20f11d2
- //TODO: MOVSD X11, X2 // f2410f10d3 or f2440f11da
- //TODO: MOVSD (BX), X11 // f2440f101b
- //TODO: MOVSD (R11), X11 // f2450f101b
- //TODO: MOVSD X2, X11 // f2440f10da or f2410f11d3
- //TODO: MOVSD X11, X11 // f2450f10db or f2450f11db
- //TODO: MOVSD X2, (BX) // f20f1113
- //TODO: MOVSD X11, (BX) // f2440f111b
- //TODO: MOVSD X2, (R11) // f2410f1113
- //TODO: MOVSD X11, (R11) // f2450f111b
+ MOVSD (BX), X2 // f20f1013
+ MOVSD (R11), X2 // f2410f1013
+ MOVSD X2, X2 // f20f10d2 or f20f11d2
+ MOVSD X11, X2 // f2410f10d3 or f2440f11da
+ MOVSD (BX), X11 // f2440f101b
+ MOVSD (R11), X11 // f2450f101b
+ MOVSD X2, X11 // f2440f10da or f2410f11d3
+ MOVSD X11, X11 // f2450f10db or f2450f11db
+ MOVSD X2, (BX) // f20f1113
+ MOVSD X11, (BX) // f2440f111b
+ MOVSD X2, (R11) // f2410f1113
+ MOVSD X11, (R11) // f2450f111b
MOVSHDUP (BX), X2 // f30f1613
MOVSHDUP (R11), X2 // f3410f1613
MOVSHDUP X2, X2 // f30f16d2