mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 05:18:12 +02:00
git-svn-id: branches/tg74/avx512@42705 -
This commit is contained in:
parent
60494e2147
commit
f71f9b702c
@ -177,10 +177,9 @@ interface
|
||||
{ register class 5: XMM (both reg and r/m) }
|
||||
OT_XMMREG = OT_REGNORM or otf_reg_xmm;
|
||||
OT_XMMRM = OT_REGMEM or otf_reg_xmm;
|
||||
OT_XMEM = OT_REGNORM or otf_reg_xmm or otf_reg_gpr;
|
||||
OT_XMEM32 = OT_XMEM or OT_BITS32;
|
||||
OT_XMEM32 = OT_REGNORM or otf_reg_xmm or otf_reg_gpr or OT_BITS32;
|
||||
OT_XMEM32_M = OT_XMEM32 or OT_VECTORMASK;
|
||||
OT_XMEM64 = OT_XMEM or OT_BITS64;
|
||||
OT_XMEM64 = OT_REGNORM or otf_reg_xmm or otf_reg_gpr or OT_BITS64;
|
||||
OT_XMEM64_M = OT_XMEM64 or OT_VECTORMASK;
|
||||
|
||||
OT_XMMREG_M = OT_XMMREG or OT_VECTORMASK;
|
||||
@ -196,10 +195,9 @@ interface
|
||||
{ register class 5: YMM (both reg and r/m) }
|
||||
OT_YMMREG = OT_REGNORM or otf_reg_ymm;
|
||||
OT_YMMRM = OT_REGMEM or otf_reg_ymm;
|
||||
OT_YMEM = OT_REGNORM or otf_reg_ymm or otf_reg_gpr;
|
||||
OT_YMEM32 = OT_YMEM or OT_BITS32;
|
||||
OT_YMEM32 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS32;
|
||||
OT_YMEM32_M = OT_YMEM32 or OT_VECTORMASK;
|
||||
OT_YMEM64 = OT_YMEM or OT_BITS64;
|
||||
OT_YMEM64 = OT_REGNORM or otf_reg_ymm or otf_reg_gpr or OT_BITS64;
|
||||
OT_YMEM64_M = OT_YMEM64 or OT_VECTORMASK;
|
||||
|
||||
OT_YMMREG_M = OT_YMMREG or OT_VECTORMASK;
|
||||
@ -214,20 +212,19 @@ interface
|
||||
{ register class 5: ZMM (both reg and r/m) }
|
||||
OT_ZMMREG = OT_REGNORM or otf_reg_zmm;
|
||||
OT_ZMMRM = OT_REGMEM or otf_reg_zmm;
|
||||
OT_ZMEM = OT_REGNORM or otf_reg_zmm or otf_reg_gpr;
|
||||
OT_ZMEM32 = OT_ZMEM or OT_BITS32;
|
||||
OT_ZMEM32 = OT_REGNORM or otf_reg_zmm or otf_reg_gpr or OT_BITS32;
|
||||
OT_ZMEM32_M = OT_ZMEM32 or OT_VECTORMASK;
|
||||
OT_ZMEM64 = OT_ZMEM or OT_BITS64;
|
||||
OT_ZMEM64 = OT_REGNORM or otf_reg_zmm or otf_reg_gpr or OT_BITS64;
|
||||
OT_ZMEM64_M = OT_ZMEM64 or OT_VECTORMASK;
|
||||
|
||||
|
||||
OT_ZMMREG_M = OT_ZMMREG or OT_VECTORMASK;
|
||||
OT_ZMMREG_MZ = OT_ZMMREG or OT_VECTORMASK or OT_VECTORZERO;
|
||||
OT_ZMMRM_MZ = OT_ZMMRM or OT_VECTORMASK or OT_VECTORZERO;
|
||||
OT_ZMMREG_SAE = OT_ZMMREG or OT_VECTORSAE;
|
||||
OT_ZMMRM_SAE = OT_ZMMRM or OT_VECTORSAE;
|
||||
OT_ZMMREG_ER = OT_ZMMREG or OT_VECTORER;
|
||||
OT_ZMMRM_ER = OT_ZMMRM or OT_VECTORER;
|
||||
OT_ZMMREG_M = OT_ZMMREG or OT_VECTORMASK;
|
||||
OT_ZMMREG_MZ = OT_ZMMREG or OT_VECTORMASK or OT_VECTORZERO;
|
||||
OT_ZMMRM_MZ = OT_ZMMRM or OT_VECTORMASK or OT_VECTORZERO;
|
||||
OT_ZMMREG_SAE = OT_ZMMREG or OT_VECTORSAE;
|
||||
OT_ZMMRM_SAE = OT_ZMMRM or OT_VECTORSAE;
|
||||
OT_ZMMREG_ER = OT_ZMMREG or OT_VECTORER;
|
||||
OT_ZMMRM_ER = OT_ZMMRM or OT_VECTORER;
|
||||
|
||||
|
||||
OT_KREG = OT_REGNORM or otf_reg_k;
|
||||
@ -1712,8 +1709,8 @@ implementation
|
||||
exit;
|
||||
|
||||
// IGNORE VECTOR-MEMORY-SIZE
|
||||
if (insot and OT_TYPE_MASK = OT_MEMORY) then
|
||||
insot := insot and not(OT_BITS128 or OT_BITS256 or OT_BITS512);
|
||||
if insot and OT_TYPE_MASK = OT_MEMORY then
|
||||
insot := insot and not(int64(OT_BITS128 or OT_BITS256 or OT_BITS512));
|
||||
|
||||
{ Check if the passed operand size matches with one of
|
||||
the supported operand sizes }
|
||||
|
Loading…
Reference in New Issue
Block a user