x86asm: include size suffix on popcnt instruction
Update golang/go#48584
Change-Id: I2c770aaf88e15f8987dc8f1d974127b02b220777
Reviewed-on: https://go-review.googlesource.com/c/arch/+/351889
Trust: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
diff --git a/x86/x86asm/plan9x.go b/x86/x86asm/plan9x.go
index a93bffd..59d8f97 100644
--- a/x86/x86asm/plan9x.go
+++ b/x86/x86asm/plan9x.go
@@ -204,6 +204,7 @@
OUT: true,
POP: true,
POPA: true,
+ POPCNT: true,
PUSH: true,
PUSHA: true,
RCL: true,
diff --git a/x86/x86asm/testdata/decode.txt b/x86/x86asm/testdata/decode.txt
index 9832dcd..604123f 100644
--- a/x86/x86asm/testdata/decode.txt
+++ b/x86/x86asm/testdata/decode.txt
@@ -6518,10 +6518,10 @@
f30faec8|11223344556677885f5f5f5f 64 intel rdgsbase eax
f30faec8|11223344556677885f5f5f5f 64 plan9 RDGSBASE AX
f30fb811|223344556677885f5f5f5f5f 32 intel popcnt edx, dword ptr [ecx]
-f30fb811|223344556677885f5f5f5f5f 32 plan9 POPCNT 0(CX), DX
+f30fb811|223344556677885f5f5f5f5f 32 plan9 POPCNTL 0(CX), DX
f30fb811|223344556677885f5f5f5f5f 64 gnu popcnt (%rcx),%edx
f30fb811|223344556677885f5f5f5f5f 64 intel popcnt edx, dword ptr [rcx]
-f30fb811|223344556677885f5f5f5f5f 64 plan9 POPCNT 0(CX), DX
+f30fb811|223344556677885f5f5f5f5f 64 plan9 POPCNTL 0(CX), DX
f30fbc11|223344556677885f5f5f5f5f 32 intel tzcnt edx, dword ptr [ecx]
f30fbc11|223344556677885f5f5f5f5f 32 plan9 TZCNT 0(CX), DX
f30fbc11|223344556677885f5f5f5f5f 64 gnu tzcnt (%rcx),%edx
@@ -6565,7 +6565,7 @@
f3480faec8|11223344556677885f5f5f 64 plan9 RDGSBASE AX
f3480fb811|223344556677885f5f5f5f 64 gnu popcnt (%rcx),%rdx
f3480fb811|223344556677885f5f5f5f 64 intel popcnt rdx, qword ptr [rcx]
-f3480fb811|223344556677885f5f5f5f 64 plan9 POPCNT 0(CX), DX
+f3480fb811|223344556677885f5f5f5f 64 plan9 POPCNTQ 0(CX), DX
f3480fbc11|223344556677885f5f5f5f 64 gnu tzcnt (%rcx),%rdx
f3480fbc11|223344556677885f5f5f5f 64 intel tzcnt rdx, qword ptr [rcx]
f3480fbc11|223344556677885f5f5f5f 64 plan9 TZCNT 0(CX), DX
@@ -6573,10 +6573,10 @@
f3480fbd11|223344556677885f5f5f5f 64 intel lzcnt rdx, qword ptr [rcx]
f3480fbd11|223344556677885f5f5f5f 64 plan9 LZCNT 0(CX), DX
f3660fb811|223344556677885f5f5f5f 32 intel popcnt dx, word ptr [ecx]
-f3660fb811|223344556677885f5f5f5f 32 plan9 POPCNT 0(CX), DX
+f3660fb811|223344556677885f5f5f5f 32 plan9 POPCNTW 0(CX), DX
f3660fb811|223344556677885f5f5f5f 64 gnu popcnt (%rcx),%dx
f3660fb811|223344556677885f5f5f5f 64 intel popcnt dx, word ptr [rcx]
-f3660fb811|223344556677885f5f5f5f 64 plan9 POPCNT 0(CX), DX
+f3660fb811|223344556677885f5f5f5f 64 plan9 POPCNTW 0(CX), DX
f3660fbc11|223344556677885f5f5f5f 32 intel tzcnt dx, word ptr [ecx]
f3660fbc11|223344556677885f5f5f5f 32 plan9 TZCNT 0(CX), DX
f3660fbc11|223344556677885f5f5f5f 64 gnu tzcnt (%rcx),%dx