diff options
| author | Guoqi Chen <chenguoqi@loongson.cn> | 2025-10-29 15:43:54 +0800 |
|---|---|---|
| committer | abner chenc <chenguoqi@loongson.cn> | 2025-11-03 17:16:43 -0800 |
| commit | dadbac0c9ed3bd8f18dcb7e250f3f8f2808a4927 (patch) | |
| tree | 6c79f6193fb1d33eb02e28b7e7ade80479783fb1 /src/cmd/asm | |
| parent | e2c6a2024c9bdd56786feef42a2e2c5c5adeced2 (diff) | |
| download | go-dadbac0c9ed3bd8f18dcb7e250f3f8f2808a4927.tar.xz | |
cmd/internal/obj/loong64: add VPERMI.W, XVPERMI.{W,V,Q} instruction support
Go asm syntax:
VPERMIW $0x1b, vj, vd
XVPERMI{W,V,Q} $0x1b, xj, xd
Equivalent platform assembler syntax:
vpermi.w vd, vj, $0x1b
xvpermi.{w,d,q} xd, xj, $0x1b
Change-Id: Ie23b2fdd09b4c93801dc804913206f1c5a496268
Reviewed-on: https://go-review.googlesource.com/c/go/+/716800
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Meidan Li <limeidan@loongson.cn>
Reviewed-by: sophie zhao <zhaoxiaolin@loongson.cn>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/cmd/asm')
| -rw-r--r-- | src/cmd/asm/internal/asm/testdata/loong64enc1.s | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/asm/internal/asm/testdata/loong64enc1.s b/src/cmd/asm/internal/asm/testdata/loong64enc1.s index 6e2a86969d..ca86ef8e6c 100644 --- a/src/cmd/asm/internal/asm/testdata/loong64enc1.s +++ b/src/cmd/asm/internal/asm/testdata/loong64enc1.s @@ -1017,6 +1017,12 @@ lable2: XVSHUF4IV $8, X1, X2 // 22209c77 XVSHUF4IV $15, X1, X2 // 223c9c77 + // VPERMIW, XVPERMI{W,V,Q} instructions + VPERMIW $0x1B, V1, V2 // VPERMIW $27, V1, V2 // 226ce473 + XVPERMIW $0x2B, X1, X2 // XVPERMIW $43, X1, X2 // 22ace477 + XVPERMIV $0x3B, X1, X2 // XVPERMIV $59, X1, X2 // 22ece877 + XVPERMIQ $0x4B, X1, X2 // XVPERMIQ $75, X1, X2 // 222ced77 + // [X]VSETEQZ.V, [X]VSETNEZ.V VSETEQV V1, FCC0 // 20989c72 VSETNEV V1, FCC0 // 209c9c72 |
