feat(asm): add EVEX masking, zeroing and the AVX-512 F/BW integer set
Assisted-by: Qwen 3.8 Max Preview
This commit is contained in:
@@ -187,6 +187,26 @@ done:
|
||||
}
|
||||
}
|
||||
|
||||
// TestEvexMaskingRecognised checks that masked EVEX forms — the .Z suffix and
|
||||
// an explicit K operand — are recognised and exempt from operand-count
|
||||
// checks.
|
||||
func TestEvexMaskingRecognised(t *testing.T) {
|
||||
diags := lintSrc(t, `
|
||||
#include "textflag.h"
|
||||
TEXT ·f(SB), NOSPLIT, $0
|
||||
VPADDD.Z Z1, Z2, K2, Z3
|
||||
VPMINSD Z1, Z2, K5, Z3
|
||||
VMOVDQU8 Z1, K3, (SI)
|
||||
RET
|
||||
`)
|
||||
if codes(diags)[CodeUnknownInstr] != 0 {
|
||||
t.Fatalf("masked EVEX must be recognised: %+v", diags)
|
||||
}
|
||||
if codes(diags)[CodeOperandCount] != 0 {
|
||||
t.Fatalf("masked operand counts must not be flagged: %+v", diags)
|
||||
}
|
||||
}
|
||||
|
||||
func TestArm64AddressingSuffix(t *testing.T) {
|
||||
// .W (pre-index) and .P (post-index) suffixes must resolve to the base
|
||||
// instruction.
|
||||
|
||||
Reference in New Issue
Block a user