29 lines
1.1 KiB
C++
29 lines
1.1 KiB
C++
|
#include <xbyak/xbyak.h>
|
||
|
#include <cybozu/test.hpp>
|
||
|
|
||
|
struct Code : Xbyak::CodeGenerator {
|
||
|
Code()
|
||
|
{
|
||
|
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
|
||
|
CYBOZU_TEST_EXCEPTION(mov(eax, ptr [rax + eax]), std::exception);
|
||
|
CYBOZU_TEST_EXCEPTION(mov(eax, ptr [xmm0 + ymm0]), std::exception);
|
||
|
#endif
|
||
|
}
|
||
|
};
|
||
|
|
||
|
CYBOZU_TEST_AUTO(exception)
|
||
|
{
|
||
|
Code c;
|
||
|
}
|