From 6c66f5bbd9a804b8b4a84d3016198c889446e693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Balv=C3=ADn?= Date: Wed, 7 Oct 2026 19:00:44 +0200 Subject: [PATCH] test(asm): encode the new FP16 families through the registry Assisted-by: GLM 5.3 Flash --- asm/extension_amd64_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/asm/extension_amd64_test.go b/asm/extension_amd64_test.go index a058b46..3ed7b46 100644 --- a/asm/extension_amd64_test.go +++ b/asm/extension_amd64_test.go @@ -189,6 +189,21 @@ func TestEncodeExtensionAmd64(t *testing.T) { {"packed fp16 rounding to fraction bits", "VRNDSCALEPH", []arch.ExtOperand{arch.ExtImmediate(0x7b), arch.ExtZmm(5), arch.ExtZmm(6)}, "62f37c4808f57b"}, + {"packed fused multiply-add, high registers", "VFMADD132PH", + []arch.ExtOperand{arch.ExtZmm(29), arch.ExtZmm(28), arch.ExtZmm(30)}, + "6206154098f4"}, + {"fused multiply-add out of a broadcast source", "VFMADD231PH", + []arch.ExtOperand{arch.ExtYmm(5), arch.ExtBroadcast(1, 0), arch.ExtYmm(6)}, + "62f65538b831"}, + {"scalar multiply-subtract under embedded rounding", "VFMSUB231SH", + []arch.ExtOperand{arch.ExtXmm(5), arch.ExtXmm(4), arch.ExtRounded(arch.ExtXmm(6), arch.ExtRoundTruncate)}, + "62f65578bbf4"}, + {"complex multiply, conjugating the first source", "VFCMULCPH", + []arch.ExtOperand{arch.ExtZmm(29), arch.ExtZmm(28), arch.ExtZmm(30)}, + "62061740d6f4"}, + {"minimum or maximum under a control byte", "VMINMAXPH", + []arch.ExtOperand{arch.ExtImmediate(0x88), arch.ExtZmm(29), arch.ExtMemory(9, 0), arch.ExtZmm(30)}, + "62431440523188"}, } { got, err := EncodeExtension(arch.AMD64, tt.mnem, tt.ops...) if err != nil {