aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <[email protected]>2024-10-15 10:02:23 +0900
committerMITSUNARI Shigeo <[email protected]>2024-10-15 10:02:23 +0900
commit3ee31be62de4d3cc07289724da8baaddb3083834 (patch)
tree3256a36e612750cdc6a1e3f9db2e07edb4ae747f /test
parentd067f0d3f55696ae8bc9a25ad7012ee80f221d54 (diff)
parent2d70c949056ef78d0ffe9b7231544fdab6c3fdc0 (diff)
downloadxbyak-3ee31be62de4d3cc07289724da8baaddb3083834.tar.gz
xbyak-3ee31be62de4d3cc07289724da8baaddb3083834.zip
Merge branch 'dev'v7.20
Diffstat (limited to 'test')
-rw-r--r--test/Makefile7
-rw-r--r--test/avx10/minmax.txt66
-rw-r--r--test/avx10/misc.txt12
-rw-r--r--test/avx10/old.txt4
-rw-r--r--test/avx10/saturation.txt310
-rw-r--r--test/avx10_test.cpp4
-rw-r--r--test/test_by_xed.cpp2
-rw-r--r--test/test_by_xed.py2
8 files changed, 397 insertions, 10 deletions
diff --git a/test/Makefile b/test/Makefile
index 336dcaf..cf5c716 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -60,9 +60,12 @@ apx: apx.cpp $(XBYAK_INC)
avx10_test: avx10_test.cpp $(XBYAK_INC)
$(CXX) $(CFLAGS) avx10_test.cpp -o $@ -DXBYAK64
-TEST_FILES=old.txt new-ymm.txt bf16.txt comp.txt convert.txt
+TEST_FILES=old.txt new-ymm.txt bf16.txt comp.txt misc.txt convert.txt minmax.txt saturation.txt
xed_test:
- @for target in $(addprefix avx10/, $(TEST_FILES)); do ./test_by_xed.sh $$target; done
+ @set -e; \
+ for target in $(addprefix avx10/, $(TEST_FILES)); do \
+ ./test_by_xed.sh $$target || exit 1; \
+ done
test_nm: normalize_prefix $(TARGET)
$(MAKE) -C ../gen
diff --git a/test/avx10/minmax.txt b/test/avx10/minmax.txt
new file mode 100644
index 0000000..8b2c662
--- /dev/null
+++ b/test/avx10/minmax.txt
@@ -0,0 +1,66 @@
+vminmaxnepbf16(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxnepbf16(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+vminmaxnepbf16(xm1|k3|T_z, xm2, ptr_b[rax+128], 5);
+
+vminmaxnepbf16(ym1|k3|T_z, ym2, ym3, 5);
+vminmaxnepbf16(ym1|k3|T_z, ym2, ptr[rax+128], 5);
+vminmaxnepbf16(ym1|k3|T_z, ym2, ptr_b[rax+128], 5);
+
+vminmaxnepbf16(zm1|k3|T_z, zm2, zm3, 5);
+vminmaxnepbf16(zm1|k3|T_z, zm2, ptr[rax+128], 5);
+vminmaxnepbf16(zm1|k3|T_z, zm2, ptr_b[rax+128], 5);
+//
+vminmaxpd(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxpd(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+vminmaxpd(xm1|k3|T_z, xm2, ptr_b[rax+128], 5);
+
+vminmaxpd(ym1|k3|T_z, ym2, ym3, 5);
+vminmaxpd(ym1|k3|T_z, ym2, ym3|T_sae, 5);
+vminmaxpd(ym1|k3|T_z, ym2, ptr[rax+128], 5);
+vminmaxpd(ym1|k3|T_z, ym2, ptr_b[rax+128], 5);
+
+vminmaxpd(zm1|k3|T_z, zm2, zm3, 5);
+vminmaxpd(zm1|k3|T_z, zm2, zm3|T_sae, 5);
+vminmaxpd(zm1|k3|T_z, zm2, ptr[rax+128], 5);
+vminmaxpd(zm1|k3|T_z, zm2, ptr_b[rax+128], 5);
+//
+vminmaxph(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxph(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+vminmaxph(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+vminmaxph(xm1|k3|T_z, xm2, ptr_b[rax+128], 5);
+
+vminmaxph(ym1|k3|T_z, ym2, ym3, 5);
+vminmaxph(ym1|k3|T_z, ym2, ym3|T_sae, 5);
+vminmaxph(ym1|k3|T_z, ym2, ptr[rax+128], 5);
+vminmaxph(ym1|k3|T_z, ym2, ptr_b[rax+128], 5);
+
+vminmaxph(zm1|k3|T_z, zm2, zm3, 5);
+vminmaxph(zm1|k3|T_z, zm2, zm3|T_sae, 5);
+vminmaxph(zm1|k3|T_z, zm2, ptr[rax+128], 5);
+vminmaxph(zm1|k3|T_z, zm2, ptr_b[rax+128], 5);
+//
+vminmaxps(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxps(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+vminmaxps(xm1|k3|T_z, xm2, ptr_b[rax+128], 5);
+
+vminmaxps(ym1|k3|T_z, ym2, ym3, 5);
+vminmaxps(ym1|k3|T_z, ym2, ym3|T_sae, 5);
+vminmaxps(ym1|k3|T_z, ym2, ptr[rax+128], 5);
+vminmaxps(ym1|k3|T_z, ym2, ptr_b[rax+128], 5);
+
+vminmaxps(zm1|k3|T_z, zm2, zm3, 5);
+vminmaxps(zm1|k3|T_z, zm2, zm3|T_sae, 5);
+vminmaxps(zm1|k3|T_z, zm2, ptr[rax+128], 5);
+vminmaxps(zm1|k3|T_z, zm2, ptr_b[rax+128], 5);
+//
+vminmaxsd(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxsd(xm1|k3|T_z, xm2, xm3|T_sae, 5);
+vminmaxsd(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+//
+vminmaxsh(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxsh(xm1|k3|T_z, xm2, xm3|T_sae, 5);
+vminmaxsh(xm1|k3|T_z, xm2, ptr[rax+128], 5);
+//
+vminmaxss(xm1|k3|T_z, xm2, xm3, 5);
+vminmaxss(xm1|k3|T_z, xm2, xm3|T_sae, 5);
+vminmaxss(xm1|k3|T_z, xm2, ptr[rax+128], 5);
diff --git a/test/avx10/misc.txt b/test/avx10/misc.txt
index 9464d03..6f5c156 100644
--- a/test/avx10/misc.txt
+++ b/test/avx10/misc.txt
@@ -1,3 +1,4 @@
+// AVX10 integer and FP16 VNNI, media and zero-extending
vdpphps(xm1, xm2, xm3);
vdpphps(xm1, xm2, ptr[rax+128]);
vdpphps(xm1, xm2, ptr_b[rax+128]);
@@ -165,3 +166,14 @@ vpdpwuuds(ym1, ym2, ptr_b[rax+128]);
vpdpwuuds(zm1, zm2, zm3);
vpdpwuuds(zm1, zm2, ptr[rax+128]);
vpdpwuuds(zm1, zm2, ptr_b[rax+128]);
+
+//
+vmovd(xm10, xm20);
+vmovd(xm1, xm2);
+vmovd(xm10, ptr[rax+128]);
+vmovd(ptr[rax+128], xm30);
+//
+vmovw(xm1, xm20);
+vmovw(xm1, xm2);
+vmovw(xm3, ptr [rax+0x40]);
+vmovw(ptr [rax+0x40], xm7);
diff --git a/test/avx10/old.txt b/test/avx10/old.txt
index 9e4f097..f5a143c 100644
--- a/test/avx10/old.txt
+++ b/test/avx10/old.txt
@@ -355,10 +355,6 @@ vgetmantsh(xmm1|k1|T_z|T_sae, xmm3, xmm5, 0x6);
vmovsh(xmm1|k1|T_z, ptr [rax+0x40]);
vmovsh(ptr [rax+0x40]|k1, xmm1);
vmovsh(xmm1|k2|T_z, xmm3, xmm5);
-vmovw(xmm1, r13d);
-vmovw(xmm3, ptr [rax+0x40]);
-vmovw(r9d, xmm1);
-vmovw(ptr [rax+0x40], xmm7);
vcvtsd2sh(xmm1|k1|T_z|T_rd_sae, xmm2, xmm3);
vcvtsd2sh(xmm1, xmm2, ptr [rax+0x40]);
vcvtsh2sd(xmm1|k1|T_z|T_sae, xmm2, xmm3);
diff --git a/test/avx10/saturation.txt b/test/avx10/saturation.txt
new file mode 100644
index 0000000..f3ebf3d
--- /dev/null
+++ b/test/avx10/saturation.txt
@@ -0,0 +1,310 @@
+//
+vcvtnebf162ibs(xm1, xm2);
+vcvtnebf162ibs(xm1, ptr[rax+128]);
+vcvtnebf162ibs(xm1, ptr_b[rax+128]);
+
+vcvtnebf162ibs(ym1, ym2);
+vcvtnebf162ibs(ym1, ptr[rax+128]);
+vcvtnebf162ibs(ym1, ptr_b[rax+128]);
+
+vcvtnebf162ibs(zm1, zm2);
+vcvtnebf162ibs(zm1, ptr[rax+128]);
+vcvtnebf162ibs(zm1, ptr_b[rax+128]);
+//
+vcvtnebf162iubs(xm1, xm2);
+vcvtnebf162iubs(xm1, ptr[rax+128]);
+vcvtnebf162iubs(xm1, ptr_b[rax+128]);
+
+vcvtnebf162iubs(ym1, ym2);
+vcvtnebf162iubs(ym1, ptr[rax+128]);
+vcvtnebf162iubs(ym1, ptr_b[rax+128]);
+
+vcvtnebf162iubs(zm1, zm2);
+vcvtnebf162iubs(zm1, ptr[rax+128]);
+vcvtnebf162iubs(zm1, ptr_b[rax+128]);
+//
+vcvttnebf162ibs(xm1, xm2);
+vcvttnebf162ibs(xm1, ptr[rax+128]);
+vcvttnebf162ibs(xm1, ptr_b[rax+128]);
+
+vcvttnebf162ibs(ym1, ym2);
+vcvttnebf162ibs(ym1, ptr[rax+128]);
+vcvttnebf162ibs(ym1, ptr_b[rax+128]);
+
+vcvttnebf162ibs(zm1, zm2);
+vcvttnebf162ibs(zm1, ptr[rax+128]);
+vcvttnebf162ibs(zm1, ptr_b[rax+128]);
+//
+vcvttnebf162iubs(xm1, xm2);
+vcvttnebf162iubs(xm1, ptr[rax+128]);
+vcvttnebf162iubs(xm1, ptr_b[rax+128]);
+
+vcvttnebf162iubs(ym1, ym2);
+vcvttnebf162iubs(ym1, ptr[rax+128]);
+vcvttnebf162iubs(ym1, ptr_b[rax+128]);
+
+vcvttnebf162iubs(zm1, zm2);
+vcvttnebf162iubs(zm1, ptr[rax+128]);
+vcvttnebf162iubs(zm1, ptr_b[rax+128]);
+//
+vcvttpd2qqs(xm1, xm2);
+vcvttpd2qqs(xm1, ptr[rax+128]);
+vcvttpd2qqs(xm1, ptr_b[rax+128]);
+
+vcvttpd2qqs(ym1, ym2);
+vcvttpd2qqs(ym1, ym2|T_sae);
+vcvttpd2qqs(ym1, ptr[rax+128]);
+vcvttpd2qqs(ym1, ptr_b[rax+128]);
+
+vcvttpd2qqs(zm1, zm2);
+vcvttpd2qqs(zm1, zm2|T_sae);
+vcvttpd2qqs(zm1, ptr[rax+128]);
+vcvttpd2qqs(zm1, ptr_b[rax+128]);
+//
+vcvttpd2uqqs(xm1, xm2);
+vcvttpd2uqqs(xm1, ptr[rax+128]);
+vcvttpd2uqqs(xm1, ptr_b[rax+128]);
+
+vcvttpd2uqqs(ym1, ym2);
+vcvttpd2uqqs(ym1, ym2|T_sae);
+vcvttpd2uqqs(ym1, ptr[rax+128]);
+vcvttpd2uqqs(ym1, ptr_b[rax+128]);
+
+vcvttpd2uqqs(zm1, zm2);
+vcvttpd2uqqs(zm1, zm2|T_sae);
+vcvttpd2uqqs(zm1, ptr[rax+128]);
+vcvttpd2uqqs(zm1, ptr_b[rax+128]);
+//
+vcvtph2ibs(xm1, xm2);
+vcvtph2ibs(xm1, ptr[rax+128]);
+vcvtph2ibs(xm1, ptr_b[rax+128]);
+
+vcvtph2ibs(ym1, ym2);
+vcvtph2ibs(ym1, ym2|T_rd_sae);
+vcvtph2ibs(ym1, ptr[rax+128]);
+vcvtph2ibs(ym1, ptr_b[rax+128]);
+
+vcvtph2ibs(zm1, zm2);
+vcvtph2ibs(zm1, zm2|T_ru_sae);
+vcvtph2ibs(zm1, ptr[rax+128]);
+vcvtph2ibs(zm1, ptr_b[rax+128]);
+//
+vcvtph2iubs(xm1, xm2);
+vcvtph2iubs(xm1, ptr[rax+128]);
+vcvtph2iubs(xm1, ptr_b[rax+128]);
+
+vcvtph2iubs(ym1, ym2);
+vcvtph2iubs(ym1, ym2|T_rd_sae);
+vcvtph2iubs(ym1, ptr[rax+128]);
+vcvtph2iubs(ym1, ptr_b[rax+128]);
+
+vcvtph2iubs(zm1, zm2);
+vcvtph2iubs(zm1, zm2|T_ru_sae);
+vcvtph2iubs(zm1, ptr[rax+128]);
+vcvtph2iubs(zm1, ptr_b[rax+128]);
+//
+vcvttph2ibs(xm1, xm2);
+vcvttph2ibs(xm1, ptr[rax+128]);
+vcvttph2ibs(xm1, ptr_b[rax+128]);
+
+vcvttph2ibs(ym1, ym2);
+vcvttph2ibs(ym1, ym2|T_rd_sae);
+vcvttph2ibs(ym1, ptr[rax+128]);
+vcvttph2ibs(ym1, ptr_b[rax+128]);
+
+vcvttph2ibs(zm1, zm2);
+vcvttph2ibs(zm1, zm2|T_ru_sae);
+vcvttph2ibs(zm1, ptr[rax+128]);
+vcvttph2ibs(zm1, ptr_b[rax+128]);
+//
+vcvttph2iubs(xm1, xm2);
+vcvttph2iubs(xm1, ptr[rax+128]);
+vcvttph2iubs(xm1, ptr_b[rax+128]);
+
+vcvttph2iubs(ym1, ym2);
+vcvttph2iubs(ym1, ym2|T_rd_sae);
+vcvttph2iubs(ym1, ptr[rax+128]);
+vcvttph2iubs(ym1, ptr_b[rax+128]);
+
+vcvttph2iubs(zm1, zm2);
+vcvttph2iubs(zm1, zm2|T_ru_sae);
+vcvttph2iubs(zm1, ptr[rax+128]);
+vcvttph2iubs(zm1, ptr_b[rax+128]);
+//
+vcvttps2dqs(xm1, xm2);
+vcvttps2dqs(xm1, ptr[rax+128]);
+vcvttps2dqs(xm1, ptr_b[rax+128]);
+
+vcvttps2dqs(ym1, ym2);
+vcvttps2dqs(ym1, ym2|T_sae);
+vcvttps2dqs(ym1, ptr[rax+128]);
+vcvttps2dqs(ym1, ptr_b[rax+128]);
+
+vcvttps2dqs(zm1, zm2);
+vcvttps2dqs(zm1, zm2|T_sae);
+vcvttps2dqs(zm1, ptr[rax+128]);
+vcvttps2dqs(zm1, ptr_b[rax+128]);
+//
+vcvtps2ibs(xm1, xm2);
+vcvtps2ibs(xm1, ptr[rax+128]);
+vcvtps2ibs(xm1, ptr_b[rax+128]);
+
+vcvtps2ibs(ym1, ym2);
+vcvtps2ibs(ym1, ym2|T_rd_sae);
+vcvtps2ibs(ym1, ptr[rax+128]);
+vcvtps2ibs(ym1, ptr_b[rax+128]);
+
+vcvtps2ibs(zm1, zm2);
+vcvtps2ibs(zm1, zm2|T_ru_sae);
+vcvtps2ibs(zm1, ptr[rax+128]);
+vcvtps2ibs(zm1, ptr_b[rax+128]);
+//
+vcvtps2iubs(xm1, xm2);
+vcvtps2iubs(xm1, ptr[rax+128]);
+vcvtps2iubs(xm1, ptr_b[rax+128]);
+
+vcvtps2iubs(ym1, ym2);
+vcvtps2iubs(ym1, ym2|T_rd_sae);
+vcvtps2iubs(ym1, ptr[rax+128]);
+vcvtps2iubs(ym1, ptr_b[rax+128]);
+
+vcvtps2iubs(zm1, zm2);
+vcvtps2iubs(zm1, zm2|T_ru_sae);
+vcvtps2iubs(zm1, ptr[rax+128]);
+vcvtps2iubs(zm1, ptr_b[rax+128]);
+//
+vcvttps2ibs(xm1, xm2);
+vcvttps2ibs(xm1, ptr[rax+128]);
+vcvttps2ibs(xm1, ptr_b[rax+128]);
+
+vcvttps2ibs(ym1, ym2);
+vcvttps2ibs(ym1, ym2|T_rd_sae);
+vcvttps2ibs(ym1, ptr[rax+128]);
+vcvttps2ibs(ym1, ptr_b[rax+128]);
+
+vcvttps2ibs(zm1, zm2);
+vcvttps2ibs(zm1, zm2|T_ru_sae);
+vcvttps2ibs(zm1, ptr[rax+128]);
+vcvttps2ibs(zm1, ptr_b[rax+128]);
+//
+vcvttps2iubs(xm1, xm2);
+vcvttps2iubs(xm1, ptr[rax+128]);
+vcvttps2iubs(xm1, ptr_b[rax+128]);
+
+vcvttps2iubs(ym1, ym2);
+vcvttps2iubs(ym1, ym2|T_rd_sae);
+vcvttps2iubs(ym1, ptr[rax+128]);
+vcvttps2iubs(ym1, ptr_b[rax+128]);
+
+vcvttps2iubs(zm1, zm2);
+vcvttps2iubs(zm1, zm2|T_ru_sae);
+vcvttps2iubs(zm1, ptr[rax+128]);
+vcvttps2iubs(zm1, ptr_b[rax+128]);
+//
+vcvttps2udqs(xm1, xm2);
+vcvttps2udqs(xm1, ptr[rax+128]);
+vcvttps2udqs(xm1, ptr_b[rax+128]);
+
+vcvttps2udqs(ym1, ym2);
+vcvttps2udqs(ym1, ym2|T_sae);
+vcvttps2udqs(ym1, ptr[rax+128]);
+vcvttps2udqs(ym1, ptr_b[rax+128]);
+
+vcvttps2udqs(zm1, zm2);
+vcvttps2udqs(zm1, zm2|T_sae);
+vcvttps2udqs(zm1, ptr[rax+128]);
+vcvttps2udqs(zm1, ptr_b[rax+128]);
+
+//
+vcvttpd2dqs(xm1|k1|T_z, xm2);
+vcvttpd2dqs(xm1|k1|T_z, xword [rax+128]);
+vcvttpd2dqs(xm1|k1|T_z, xword_b[rax+128]);
+
+vcvttpd2dqs(xm1|k1|T_z, ym2);
+vcvttpd2dqs(xm1|k1|T_z, ym2|T_sae);
+vcvttpd2dqs(xm1|k1|T_z, yword [rax+128]);
+vcvttpd2dqs(xm1|k1|T_z, yword_b[rax+128]);
+
+vcvttpd2dqs(ym1|k1|T_z, zm2);
+vcvttpd2dqs(ym1|k1|T_z, zm2|T_sae);
+vcvttpd2dqs(ym1|k1|T_z, zword [rax+128]);
+vcvttpd2dqs(ym1|k1|T_z, zword_b[rax+128]);
+
+//
+vcvttpd2udqs(xm1|k1|T_z, xm2);
+vcvttpd2udqs(xm1|k1|T_z, xword [rax+128]);
+vcvttpd2udqs(xm1|k1|T_z, xword_b[rax+128]);
+
+vcvttpd2udqs(xm1|k1|T_z, ym2);
+vcvttpd2udqs(xm1|k1|T_z, ym2|T_sae);
+vcvttpd2udqs(xm1|k1|T_z, yword [rax+128]);
+vcvttpd2udqs(xm1|k1|T_z, yword_b[rax+128]);
+
+vcvttpd2udqs(ym1|k1|T_z, zm2);
+vcvttpd2udqs(ym1|k1|T_z, zm2|T_sae);
+vcvttpd2udqs(ym1|k1|T_z, zword [rax+128]);
+vcvttpd2udqs(ym1|k1|T_z, zword_b[rax+128]);
+//
+vcvttps2qqs(xm1|k1|T_z, xm2);
+vcvttps2qqs(xm1|k1|T_z, ptr [rax+128]);
+vcvttps2qqs(xm1|k1|T_z, ptr_b[rax+128]);
+
+vcvttps2qqs(ym1|k1|T_z, xm2);
+vcvttps2qqs(ym1|k1|T_z, xm2|T_sae);
+vcvttps2qqs(ym1|k1|T_z, ptr [rax+128]);
+vcvttps2qqs(ym1|k1|T_z, ptr_b[rax+128]);
+
+vcvttps2qqs(zm1, ym2);
+vcvttps2qqs(zm1|k1|T_z, ym2);
+vcvttps2qqs(zm1|k1|T_z|T_sae, ym2);
+vcvttps2qqs(zm1|k1|T_z, ptr [rax+128]);
+vcvttps2qqs(zm1|k1|T_z, ptr_b[rax+128]);
+
+//
+vcvttps2uqqs(xm1|k1|T_z, xm2);
+vcvttps2uqqs(xm1|k1|T_z, ptr [rax+128]);
+vcvttps2uqqs(xm1|k1|T_z, ptr_b[rax+128]);
+
+vcvttps2uqqs(ym1|k1|T_z, xm2);
+vcvttps2uqqs(ym1|k1|T_z, xm2|T_sae);
+vcvttps2uqqs(ym1|k1|T_z, ptr [rax+128]);
+vcvttps2uqqs(ym1|k1|T_z, ptr_b[rax+128]);
+
+vcvttps2uqqs(zm1, ym2);
+vcvttps2uqqs(zm1|k1|T_z, ym2);
+vcvttps2uqqs(zm1|k1|T_z|T_sae, ym2);
+vcvttps2uqqs(zm1|k1|T_z, ptr [rax+128]);
+vcvttps2uqqs(zm1|k1|T_z, ptr_b[rax+128]);
+
+//
+vcvttsd2sis(eax, xm1);
+vcvttsd2sis(eax, xm1|T_sae);
+vcvttsd2sis(eax, ptr[rax+128]);
+
+vcvttsd2sis(r30, xm1);
+vcvttsd2sis(r30, xm1|T_sae);
+vcvttsd2sis(r30, ptr[rax+128]);
+//
+vcvttsd2usis(eax, xm1);
+vcvttsd2usis(eax, xm1|T_sae);
+vcvttsd2usis(eax, ptr[rax+128]);
+
+vcvttsd2usis(r30, xm1);
+vcvttsd2usis(r30, xm1|T_sae);
+vcvttsd2usis(r30, ptr[rax+128]);
+//
+vcvttss2sis(eax, xm1);
+vcvttss2sis(eax, xm1|T_sae);
+vcvttss2sis(eax, ptr[rax+128]);
+
+vcvttss2sis(r30, xm1);
+vcvttss2sis(r30, xm1|T_sae);
+vcvttss2sis(r30, ptr[rax+128]);
+//
+vcvttss2usis(eax, xm1);
+vcvttss2usis(eax, xm1|T_sae);
+vcvttss2usis(eax, ptr[rax+128]);
+
+vcvttss2usis(r30, xm1);
+vcvttss2usis(r30, xm1|T_sae);
+vcvttss2usis(r30, ptr[rax+128]);
diff --git a/test/avx10_test.cpp b/test/avx10_test.cpp
index 5f742fe..1ceb52a 100644
--- a/test/avx10_test.cpp
+++ b/test/avx10_test.cpp
@@ -234,10 +234,10 @@ CYBOZU_TEST_AUTO(vmpsadbw)
struct Code : Xbyak::CodeGenerator {
Code()
{
- setDefaultEncoding();
+ setDefaultEncodingAVX10();
vmpsadbw(xm1, xm3, xm15, 3); // vex(avx)
vmpsadbw(ym1, ym3, ptr[rax+128], 3); // vex(avx2)
- setDefaultEncoding(VexEncoding, EvexEncoding);
+ setDefaultEncodingAVX10(AVX10v2Encoding);
vmpsadbw(ym1, ym3, ym15, 3); // evex(avx10.2)
vmpsadbw(ym1, ym3, ptr[rax+128], 3); // evex(avx10.2)
}
diff --git a/test/test_by_xed.cpp b/test/test_by_xed.cpp
index ddac779..9be9199 100644
--- a/test/test_by_xed.cpp
+++ b/test/test_by_xed.cpp
@@ -7,7 +7,7 @@ struct Code : Xbyak::CodeGenerator {
Code()
: Xbyak::CodeGenerator(4096*8)
{
- setDefaultEncoding(VexEncoding, EvexEncoding);
+ setDefaultEncodingAVX10(AVX10v2Encoding);
#include "tmp.cpp"
}
};
diff --git a/test/test_by_xed.py b/test/test_by_xed.py
index afd77d8..1e84c6a 100644
--- a/test/test_by_xed.py
+++ b/test/test_by_xed.py
@@ -366,7 +366,7 @@ def parseNmemonicTest():
('vpshldw(xmm9|k3|T_z, xmm2, ptr [rax + 0x40], 5);', Nmemonic('vpshldw', [xmm9, xmm2, Memory(0, rax, None, 0, 0x40), 5], [k3, T_z])),
('vpshrdd(xmm5|k3|T_z, xmm2, ptr_b [rax + 0x40], 5);', Nmemonic('vpshrdd', [xmm5, xmm2, Memory(0, rax, None, 0, 0x40, True), 5], [k3, T_z])),
('vpshrdd xmm5{k3}{z}, xmm2, dword ptr [rax+0x40]{1to4}, 0x5', Nmemonic('vpshrdd', [xmm5, xmm2, Memory(0, rax, None, 0, 0x40, True), 5], [k3, T_z])),
- ('vcmpph(k1, xm15, ptr[rax+64], 1);', Nmemonic('vcmpph', [k1, xm15, Memory(0, rax, None, 0, 64), 1])),
+ ('vcmpph(k1, xmm15, ptr[rax+64], 1);', Nmemonic('vcmpph', [k1, xmm15, Memory(0, rax, None, 0, 64), 1])),
]
for (s, expected) in tbl:
e = parseNmemonic(s)