nasm/travis/avx512-vp2intersect/avx512-vp2intersect.asm
H. Peter Anvin (Intel) 7f69cf689c travis: reorganize directories, add tests from the test/ directory
This is a mostly automated, partially AI-assisted migration of tests
from the test/ directory into the travis framework.

Running tests manually in the test/ directory is still supported, but
move common include files into travis/test and add a default -I option
to Makefile.in in the test/ directory.

The incbin test fails for pre-existing reasons; for now it contains an
stderr file with the errors. The problem is that INCBIN is both a
macro and a special instruction (not even a directive...), but there
currently is no way to handle prefixes, *especially* TIMES, in
multi-line macros. This is a separate problem and needs to be dealt
with as such.

Reorganize the travis directory so that each test or collection of
tests are in a separate subdirectory of travis/, and travis itself
lives in tools/travis to avoid creating deeper paths.

Add support for recording compression options in the travis .json
files, so that compressed files can be recreated with the same
options: because of the generally repetitive nature of the binary
output test files, the parameters used for xz compression can matter
enormously.

These are combined into a single huge commit to avoid adding large
binary files into the repository that then would immediately be
obsoleted, but still retained in git.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2026-06-30 20:54:46 -07:00

30 lines
3 KiB
NASM

;Testname=avx512-vp2intersect; Arguments=-fbin -oavx512-vp2intersect.bin -O0 -DSRC; Files=stdout stderr avx512-vp2intersect.bin
%macro testcase 2
%ifdef BIN
db %1
%endif
%ifdef SRC
%2
%endif
%endmacro
bits 64
testcase { 0x62, 0xf2, 0x77, 0x08, 0x68, 0xd7 }, { {evex} VP2INTERSECTD k2, xmm1, xmm7 }
testcase { 0x62, 0xd2, 0x67, 0x48, 0x68, 0xd7 }, { {evex} VP2INTERSECTD k2, zmm3, zmm15 }
testcase { 0x62, 0xf2, 0x67, 0x48, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, zmm3, zword [rax] }
testcase { 0x62, 0xf2, 0x77, 0x08, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, xmm1, oword [rax] }
testcase { 0x62, 0xf2, 0x77, 0x18, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, xmm1, dword [rax]{1to4} }
testcase { 0x62, 0xd2, 0x77, 0x28, 0x68, 0xd7 }, { {evex} VP2INTERSECTD k2, ymm1, ymm15 }
testcase { 0x62, 0xf2, 0x77, 0x28, 0x68, 0x10 }, { {evex} VP2INTERSECTD k2, ymm1, yword [rax] }
testcase { 0x62, 0xf2, 0xf7, 0x08, 0x68, 0xd7 }, { {evex} VP2INTERSECTQ k2, xmm1, xmm7 }
testcase { 0x62, 0xd2, 0xe7, 0x48, 0x68, 0xd7 }, { {evex} VP2INTERSECTQ k2, zmm3, zmm15 }
testcase { 0x62, 0xf2, 0xe7, 0x48, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, zmm3, zword [rax] }
testcase { 0x62, 0xf2, 0xe7, 0x58, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, zmm3, qword [rax]{1to8} }
testcase { 0x62, 0xf2, 0xf7, 0x08, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, xmm1, oword [rax] }
testcase { 0x62, 0xf2, 0xf7, 0x18, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, xmm1, qword [rax]{1to2} }
testcase { 0x62, 0xd2, 0xf7, 0x28, 0x68, 0xd7 }, { {evex} VP2INTERSECTQ k2, ymm1, ymm15 }
testcase { 0x62, 0xf2, 0xf7, 0x28, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, ymm1, yword [rax] }
testcase { 0x62, 0xf2, 0xf7, 0x38, 0x68, 0x10 }, { {evex} VP2INTERSECTQ k2, ymm1, qword [rax]{1to4} }