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