refactor test
diff --git a/test/Makefile b/test/Makefile
index 37a678c..dea57e2 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -37,7 +37,7 @@
cvt_test32: cvt_test.cpp ../xbyak/xbyak.h
$(CXX) $(CFLAGS) $< -o $@ -DXBYAK32
-test: normalize_prefix jmp bad_address $(TARGET)
+test_nm: normalize_prefix jmp bad_address $(TARGET)
$(MAKE) -C ../gen
./test_nm.sh
./test_nm.sh Y
@@ -69,6 +69,12 @@
ifeq ($(BIT),64)
./test_avx512.sh 64
endif
+
+test:
+ $(MAKE) test_nm
+ $(MAKE) test_avx
+ $(MAKE) test_avx512
+
clean:
rm -rf *.o $(TARGET) lib_run nm.cpp nm_frame make_512
diff --git a/test/bad_address.cpp b/test/bad_address.cpp
index a74dd99..6d74a75 100644
--- a/test/bad_address.cpp
+++ b/test/bad_address.cpp
@@ -1,47 +1,28 @@
#include <xbyak/xbyak.h>
-
-#define TEST_EXCEPTION(state) \
-{ \
- num++; \
- bool exception = false; \
- try { \
- state; \
- } catch (...) { \
- exception = true; \
- } \
- if (!exception) { \
- printf("exception should arise for %s\n", #state); \
- err++; \
- } \
-}
+#include <cybozu/test.hpp>
struct Code : Xbyak::CodeGenerator {
Code()
{
- int err = 0;
- int num = 0;
- TEST_EXCEPTION(mov(eax, ptr [esp + esp]));
- TEST_EXCEPTION(mov(eax, ptr [ax])); // not support
- TEST_EXCEPTION(mov(eax, ptr [esp * 4]));
- TEST_EXCEPTION(mov(eax, ptr [eax * 16]));
- TEST_EXCEPTION(mov(eax, ptr [eax + eax + eax]));
- TEST_EXCEPTION(mov(eax, ptr [eax * 2 + ecx * 4]));
- TEST_EXCEPTION(mov(eax, ptr [eax * 2 + ecx * 4]));
- TEST_EXCEPTION(mov(eax, ptr [xmm0]));
- TEST_EXCEPTION(fld(dword [xmm0]));
- TEST_EXCEPTION(vgatherdpd(xmm0, ptr [eax * 2], ymm3));
- TEST_EXCEPTION(vgatherdpd(xmm0, ptr [xmm0 + xmm1], ymm3));
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [esp + esp]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [ax]), std::exception); // not support
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [esp * 4]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [eax * 16]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [eax + eax + eax]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [eax * 2 + ecx * 4]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [eax * 2 + ecx * 4]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [xmm0]), std::exception);
+ CYBOZU_TEST_EXCEPTION(fld(dword [xmm0]), std::exception);
+ CYBOZU_TEST_EXCEPTION(vgatherdpd(xmm0, ptr [eax * 2], ymm3), std::exception);
+ CYBOZU_TEST_EXCEPTION(vgatherdpd(xmm0, ptr [xmm0 + xmm1], ymm3), std::exception);
#ifdef XBYAK64
- TEST_EXCEPTION(mov(eax, ptr [rax + eax]));
- TEST_EXCEPTION(mov(eax, ptr [xmm0 + ymm0]));
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [rax + eax]), std::exception);
+ CYBOZU_TEST_EXCEPTION(mov(eax, ptr [xmm0 + ymm0]), std::exception);
#endif
- if (!err) {
- printf("bad_address test %d ok\n", num);
- }
}
};
-int main()
+CYBOZU_TEST_AUTO(exception)
{
Code c;
}
diff --git a/test/make_512.cpp b/test/make_512.cpp
index ecdaea4..d29adeb 100644
--- a/test/make_512.cpp
+++ b/test/make_512.cpp
@@ -574,9 +574,9 @@
for (size_t k = 0; k < N; k++) {
#ifdef XBYAK64
for (int kIdx = 0; kIdx < 8; kIdx++) {
+ put_vaddpd(xTbl[i], xTbl[j], xTbl[k], kIdx);
+ put_vaddpd(yTbl[i], yTbl[j], yTbl[k], kIdx);
for (int z = 0; z < 2; z++) {
- put_vaddpd(xTbl[i], xTbl[j], xTbl[k], kIdx, z == 1);
- put_vaddpd(yTbl[i], yTbl[j], yTbl[k], kIdx, z == 1);
for (int sae = 0; sae < 5; sae++) {
put_vaddpd(zTbl[i], zTbl[j], zTbl[k], kIdx, z == 1, sae);
}
diff --git a/test/make_nm.cpp b/test/make_nm.cpp
index 54a8014..960cd87 100644
--- a/test/make_nm.cpp
+++ b/test/make_nm.cpp
@@ -2664,9 +2664,9 @@
for (size_t k = 0; k < N; k++) {
#ifdef XBYAK64
for (int kIdx = 0; kIdx < 8; kIdx++) {
+ put_vaddpd(xTbl[i], xTbl[j], xTbl[k], kIdx);
+ put_vaddpd(yTbl[i], yTbl[j], yTbl[k], kIdx);
for (int z = 0; z < 2; z++) {
- put_vaddpd(xTbl[i], xTbl[j], xTbl[k], kIdx, z == 1);
- put_vaddpd(yTbl[i], yTbl[j], yTbl[k], kIdx, z == 1);
for (int sae = 0; sae < 5; sae++) {
put_vaddpd(zTbl[i], zTbl[j], zTbl[k], kIdx, z == 1, sae);
}
diff --git a/test/test_address.sh b/test/test_address.sh
index 8466cc2..d63a4ef 100755
--- a/test/test_address.sh
+++ b/test/test_address.sh
@@ -20,7 +20,6 @@
g++ $CFLAGS -DXBYAK_TEST nm_frame.cpp -o nm_frame
./nm_frame > x.lst
diff ok.lst x.lst && echo "ok"
-wc x.lst
}
diff --git a/test/test_avx.sh b/test/test_avx.sh
index 0b42eeb..236f7aa 100755
--- a/test/test_avx.sh
+++ b/test/test_avx.sh
@@ -33,12 +33,11 @@
./make_nm > a.asm
echo "asm"
$EXE -f$OPT3 a.asm -l a.lst
-awk '{if (index($3, "-")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = "" }} ' < a.lst | $FILTER > ok.lst
+awk '{if (index($3, "-")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = "" }} ' < a.lst | $FILTER | grep -v "1+1" > ok.lst
echo "xbyak"
./make_nm jit > nm.cpp
echo "compile nm_frame.cpp"
g++ $CFLAGS -DXBYAK_TEST nm_frame.cpp -o nm_frame
./nm_frame | $FILTER > x.lst
-diff ok.lst x.lst && echo "ok"
-exit 0
+diff -B ok.lst x.lst && echo "ok"
diff --git a/test/test_avx512.sh b/test/test_avx512.sh
index 0a03109..cce5de0 100755
--- a/test/test_avx512.sh
+++ b/test/test_avx512.sh
@@ -29,5 +29,4 @@
echo "compile nm_frame.cpp"
g++ $CFLAGS -DXBYAK_TEST nm_frame.cpp -o nm_frame -DXBYAK_AVX512
./nm_frame | $FILTER > x.lst
-diff ok.lst x.lst && echo "ok"
-exit 0
+diff -B ok.lst x.lst && echo "ok"
diff --git a/test/test_nm.sh b/test/test_nm.sh
index 6001ace..d3f5b7f 100755
--- a/test/test_nm.sh
+++ b/test/test_nm.sh
@@ -39,12 +39,11 @@
./make_nm > a.asm
echo "asm"
$EXE -f$OPT3 a.asm -l a.lst
-awk '{if (index($3, "-")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = "" }} ' < a.lst | $FILTER > ok.lst
+awk '{if (index($3, "-")) { conti=substr($3, 0, length($3) - 1) } else { conti = conti $3; print conti; conti = "" }} ' < a.lst | $FILTER | grep -v "1+1" > ok.lst
echo "xbyak"
./make_nm jit > nm.cpp
echo "compile nm_frame.cpp"
g++ $CFLAGS -DXBYAK_TEST nm_frame.cpp -o nm_frame
./nm_frame | $FILTER > x.lst
-diff ok.lst x.lst && echo "ok"
-exit 0
+diff -B ok.lst x.lst && echo "ok"