disable some tests on x32

This commit is contained in:
MITSUNARI Shigeo 2022-11-20 11:27:19 +09:00
parent 83b3da2173
commit 8ae01b0c23
3 changed files with 15 additions and 6 deletions

View file

@ -1,6 +1,9 @@
TARGET = make_nm normalize_prefix bad_address misc cvt_test cvt_test32 noexception misc32 TARGET = make_nm normalize_prefix bad_address misc cvt_test cvt_test32 noexception misc32
XBYAK_INC=../xbyak/xbyak.h XBYAK_INC=../xbyak/xbyak.h
UNAME_S=$(shell uname -s) UNAME_S=$(shell uname -s)
ifeq ($(shell dpkg --print-architecture),x32)
X32=1
endif
BIT=32 BIT=32
ifeq ($(shell uname -m),x86_64) ifeq ($(shell uname -m),x86_64)
BIT=64 BIT=64
@ -68,8 +71,10 @@ endif
./cvt_test ./cvt_test
ifeq ($(BIT),64) ifeq ($(BIT),64)
./test_address.sh 64 ./test_address.sh 64
ifneq ($(X32),1)
./test_nm.sh 64 ./test_nm.sh 64
./test_nm.sh Y64 ./test_nm.sh Y64
endif
./jmp64 ./jmp64
endif endif
@ -79,18 +84,21 @@ ifneq ($(ONLY_64BIT),0)
./test_avx.sh Y ./test_avx.sh Y
endif endif
ifeq ($(BIT),64) ifeq ($(BIT),64)
./test_address.sh 64
./test_avx.sh 64 ./test_avx.sh 64
ifneq ($(X32),1)
./test_avx.sh Y64 ./test_avx.sh Y64
endif endif
endif
test_avx512: normalize_prefix test_avx512: normalize_prefix
ifneq ($(ONLY_64BIT),0) ifneq ($(ONLY_64BIT),0)
./test_avx512.sh ./test_avx512.sh
endif endif
ifeq ($(BIT),64) ifeq ($(BIT),64)
ifneq ($(X32),1)
./test_avx512.sh 64 ./test_avx512.sh 64
endif endif
endif
test: test:
$(MAKE) test_nm $(MAKE) test_nm
@ -104,4 +112,3 @@ lib_run: lib_test.cpp lib_run.cpp lib.h
$(CXX) $(CFLAGS) lib_run.cpp lib_test.cpp -o lib_run $(CXX) $(CFLAGS) lib_run.cpp lib_test.cpp -o lib_run
make_nm: make_nm.cpp $(XBYAK_INC) make_nm: make_nm.cpp $(XBYAK_INC)

View file

@ -1295,7 +1295,7 @@ class Test {
put(p, REG64, "0x1234567890abcdefLL", "0x1234567890abcdef"); put(p, REG64, "0x1234567890abcdefLL", "0x1234567890abcdef");
put("movbe", REG16|REG32e, MEM); put("movbe", REG16|REG32e, MEM);
put("movbe", MEM, REG16|REG32e); put("movbe", MEM, REG16|REG32e);
#ifdef XBYAK64 #if defined(XBYAK64) && !defined(__ILP32__)
put(p, RAX|EAX|AX|AL, "ptr [0x1234567890abcdefLL]", "[qword 0x1234567890abcdef]"); put(p, RAX|EAX|AX|AL, "ptr [0x1234567890abcdefLL]", "[qword 0x1234567890abcdef]");
put(p, "ptr [0x1234567890abcdefLL]", "[qword 0x1234567890abcdef]", RAX|EAX|AX|AL); put(p, "ptr [0x1234567890abcdefLL]", "[qword 0x1234567890abcdef]", RAX|EAX|AX|AL);
put(p, "qword [rax], 0"); put(p, "qword [rax], 0");
@ -2609,7 +2609,7 @@ public:
putMPX(); putMPX();
#endif #endif
#ifdef XBYAK64 #if defined(XBYAK64) && !defined(__ILP32__)
#ifdef USE_YASM #ifdef USE_YASM
putRip(); putRip();

View file

@ -105,8 +105,10 @@ CYBOZU_TEST_AUTO(mov_const)
CYBOZU_TEST_NO_EXCEPTION(mov(rax, ptr[(void*)0x80000000])); CYBOZU_TEST_NO_EXCEPTION(mov(rax, ptr[(void*)0x80000000]));
CYBOZU_TEST_NO_EXCEPTION(mov(rax, ptr[(void*)0xffffffff])); CYBOZU_TEST_NO_EXCEPTION(mov(rax, ptr[(void*)0xffffffff]));
#else #else
CYBOZU_TEST_EXCEPTION(mov(rax, ptr[(void*)0x80000000ull]), Xbyak::Error); if (sizeof(void*) != 4) { // sizeof(void*) == 4 on x32
CYBOZU_TEST_EXCEPTION(mov(rax, ptr[(void*)0xffffffffull]), Xbyak::Error); CYBOZU_TEST_EXCEPTION(mov(rax, ptr[(void*)0x80000000ull]), Xbyak::Error);
CYBOZU_TEST_EXCEPTION(mov(rax, ptr[(void*)0xffffffffull]), Xbyak::Error);
}
#endif #endif
#endif #endif
} }