diff options
495 files changed, 40975 insertions, 3637 deletions
@@ -4,6 +4,7 @@ *.dbg *.dep *.exe +*.com *.lib *.i *.ith @@ -47,6 +48,7 @@ TAGS /asm/pptok.ph /asm/tokens.h /asm/tokhash.c +/asm/warnings.c /config/config.h /config/config.h.in /config.log @@ -65,6 +67,8 @@ TAGS /doc/info /doc/inslist.src /doc/version.src +/doc/warnings.src +/include/warnings.h /macros/macros.c /misc/omfdump /nasm @@ -102,3 +106,4 @@ TAGS /x86/regs.c /x86/regs.h /x86/regvals.c +/patches/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..a74ab823 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,10 @@ +language: c +os: + - linux +env: + - TR_ARCH=local +script: + - ./autogen.sh + - ./configure + - make all + - python3 ./travis/nasm-t.py run diff --git a/Makefile.in b/Makefile.in index 32ef3d91..0ac5ebe6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -96,11 +96,12 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ stdlib/strnlen.$(O) stdlib/strrchrnul.$(O) \ \ nasmlib/ver.$(O) \ - nasmlib/crc64.$(O) nasmlib/malloc.$(O) nasmlib/errfile.$(O) \ - nasmlib/md5c.$(O) nasmlib/string.$(O) \ + nasmlib/alloc.$(O) nasmlib/asprintf.$(O) nasmlib/errfile.$(O) \ + nasmlib/crc64.$(O) nasmlib/md5c.$(O) \ + nasmlib/string.$(O) nasmlib/nctype.$(O) \ nasmlib/file.$(O) nasmlib/mmap.$(O) nasmlib/ilog2.$(O) \ nasmlib/realpath.$(O) nasmlib/path.$(O) \ - nasmlib/filename.$(O) nasmlib/srcfile.$(O) \ + nasmlib/filename.$(O) \ nasmlib/zerobuf.$(O) nasmlib/readnum.$(O) nasmlib/bsi.$(O) \ nasmlib/rbtree.$(O) nasmlib/hashtbl.$(O) \ nasmlib/raa.$(O) nasmlib/saa.$(O) \ @@ -113,7 +114,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ x86/regs.$(O) x86/regvals.$(O) x86/regflags.$(O) x86/regdis.$(O) \ x86/disp8.$(O) x86/iflag.$(O) \ \ - asm/error.$(O) \ + asm/error.$(O) asm/warnings.$(O) \ asm/float.$(O) \ asm/directiv.$(O) asm/directbl.$(O) \ asm/pragma.$(O) \ @@ -125,11 +126,10 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ asm/segalloc.$(O) \ asm/preproc-nop.$(O) \ asm/rdstrnum.$(O) \ - \ + asm/srcfile.$(O) \ macros/macros.$(O) \ \ output/outform.$(O) output/outlib.$(O) output/legacy.$(O) \ - output/strtbl.$(O) \ output/nulldbg.$(O) output/nullout.$(O) \ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \ output/outelf.$(O) \ @@ -172,6 +172,7 @@ PERLREQ = x86/insnsb.c x86/insnsa.c x86/insnsd.c x86/insnsi.h x86/insnsn.c \ x86/iflag.c x86/iflaggen.h \ macros/macros.c \ asm/pptok.ph asm/directbl.c asm/directiv.h \ + asm/warnings.c include/warnings.h \ version.h version.mac version.mak nsis/version.nsh INSDEP = x86/insns.dat x86/insns.pl x86/insns-iflags.ph @@ -240,6 +241,23 @@ x86/regs.h: x86/regs.dat x86/regs.pl $(RUNPERL) $(srcdir)/x86/regs.pl h \ $(srcdir)/x86/regs.dat > x86/regs.h +# Extract warnings from source code. Since this depends on +# ALL the source files, this is only done on demand. +WARNFILES = asm/warnings.c include/warnings.h doc/warnings.src + +warnings: + rm -f $(WARNFILES) + $(MAKE) $(WARNFILES) + +asm/warnings.c: asm/warnings.pl + $(RUNPERL) $(srcdir)/asm/warnings.pl c asm/warnings.c $(srcdir) + +include/warnings.h: asm/warnings.pl + $(RUNPERL) $(srcdir)/asm/warnings.pl h include/warnings.h $(srcdir) + +doc/warnings.src: asm/warnings.pl + $(RUNPERL) $(srcdir)/asm/warnings.pl doc doc/warnings.src $(srcdir) + # Assembler token hash asm/tokhash.c: x86/insns.dat x86/regs.dat asm/tokens.dat asm/tokhash.pl \ perllib/phash.ph diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index c7bd9109..9c7d60e0 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -68,11 +68,12 @@ LIBOBJ = stdlib\snprintf.$(O) stdlib\vsnprintf.$(O) stdlib\strlcpy.$(O) \ stdlib\strnlen.$(O) stdlib\strrchrnul.$(O) \ \ nasmlib\ver.$(O) \ - nasmlib\crc64.$(O) nasmlib\malloc.$(O) nasmlib\errfile.$(O) \ - nasmlib\md5c.$(O) nasmlib\string.$(O) \ + nasmlib\alloc.$(O) nasmlib\asprintf.$(O) nasmlib\errfile.$(O) \ + nasmlib\crc64.$(O) nasmlib\md5c.$(O) \ + nasmlib\string.$(O) nasmlib\nctype.$(O) \ nasmlib\file.$(O) nasmlib\mmap.$(O) nasmlib\ilog2.$(O) \ nasmlib\realpath.$(O) nasmlib\path.$(O) \ - nasmlib\filename.$(O) nasmlib\srcfile.$(O) \ + nasmlib\filename.$(O) \ nasmlib\zerobuf.$(O) nasmlib\readnum.$(O) nasmlib\bsi.$(O) \ nasmlib\rbtree.$(O) nasmlib\hashtbl.$(O) \ nasmlib\raa.$(O) nasmlib\saa.$(O) \ @@ -97,11 +98,10 @@ LIBOBJ = stdlib\snprintf.$(O) stdlib\vsnprintf.$(O) stdlib\strlcpy.$(O) \ asm\segalloc.$(O) \ asm\preproc-nop.$(O) \ asm\rdstrnum.$(O) \ - \ + asm\srcfile.$(O) \ macros\macros.$(O) \ \ output\outform.$(O) output\outlib.$(O) output\legacy.$(O) \ - output\strtbl.$(O) \ output\nulldbg.$(O) output\nullout.$(O) \ output\outbin.$(O) output\outaout.$(O) output\outcoff.$(O) \ output\outelf.$(O) \ diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index 11582ecf..2babe5dc 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -57,11 +57,12 @@ LIBOBJ = stdlib\snprintf.$(O) stdlib\vsnprintf.$(O) stdlib\strlcpy.$(O) & stdlib\strnlen.$(O) stdlib\strrchrnul.$(O) & & nasmlib\ver.$(O) & - nasmlib\crc64.$(O) nasmlib\malloc.$(O) nasmlib\errfile.$(O) & - nasmlib\md5c.$(O) nasmlib\string.$(O) & + nasmlib\alloc.$(O) nasmlib\asprintf.$(O) nasmlib\errfile.$(O) & + nasmlib\crc64.$(O) nasmlib\md5c.$(O) & + nasmlib\string.$(O) nasmlib\nctype.$(O) & nasmlib\file.$(O) nasmlib\mmap.$(O) nasmlib\ilog2.$(O) & nasmlib\realpath.$(O) nasmlib\path.$(O) & - nasmlib\filename.$(O) nasmlib\srcfile.$(O) & + nasmlib\filename.$(O) & nasmlib\zerobuf.$(O) nasmlib\readnum.$(O) nasmlib\bsi.$(O) & nasmlib\rbtree.$(O) nasmlib\hashtbl.$(O) & nasmlib\raa.$(O) nasmlib\saa.$(O) & @@ -86,11 +87,10 @@ LIBOBJ = stdlib\snprintf.$(O) stdlib\vsnprintf.$(O) stdlib\strlcpy.$(O) & asm\segalloc.$(O) & asm\preproc-nop.$(O) & asm\rdstrnum.$(O) & - & + asm\srcfile.$(O) & macros\macros.$(O) & & output\outform.$(O) output\outlib.$(O) output\legacy.$(O) & - output\strtbl.$(O) & output\nulldbg.$(O) output\nullout.$(O) & output\outbin.$(O) output\outaout.$(O) output\outcoff.$(O) & output\outelf.$(O) & diff --git a/README b/README deleted file mode 100644 index 792b0384..00000000 --- a/README +++ /dev/null @@ -1,23 +0,0 @@ - NASM, the Netwide Assembler. - -Many many developers all over the net respect NASM for what it is -- a widespread (thus netwide), portable (thus netwide!), very -flexible and mature assembler tool with support for many output -formats (thus netwide!!). - -Now we have good news for you: NASM is licensed under the "simplified" -(2-clause) BSD license. This means its development is open to even -wider society of programmers wishing to improve their lovely -assembler. - -The NASM project is now situated at SourceForge.net, the most -popular Open Source development site on the Internet. - -Visit our website at http://nasm.sourceforge.net/ and our -SourceForge project at http://sourceforge.net/projects/nasm/ - -See the file CHANGES for the description of changes between revisions, -and the file AUTHORS for a list of contributors. - - With best regards, - NASM crew. diff --git a/README.md b/README.md new file mode 100644 index 00000000..704fba14 --- /dev/null +++ b/README.md @@ -0,0 +1,19 @@ +NASM, the Netwide Assembler +=========================== + +[![master](https://travis-ci.org/netwide-assembler/nasm.svg?branch=master)](https://travis-ci.org/netwide-assembler/nasm) + +Many many developers all over the net respect NASM for what it is: +a widespread (thus netwide), portable (thus netwide!), very flexible +and mature assembler tool with support for many output formats (thus netwide!!). + +Now we have good news for you: NASM is licensed under the "simplified" +[(2-clause) BSD license](https://opensource.org/licenses/BSD-2-Clause). +This means its development is open to even wider society of programmers +wishing to improve their lovely assembler. + +Visit our [nasm.us](https://www.nasm.us/) website for more details. +We are gradually moving services away from Sourceforge. For our remaining +Sourceforge services see [here](https://sourceforge.net/projects/nasm/). + +With best regards, the NASM crew. @@ -60,7 +60,7 @@ AC_DEFUN(PA_HAVE_FUNC, [AC_MSG_CHECKING([for $1]) AC_LINK_IFELSE([AC_LANG_SOURCE([ AC_INCLUDES_DEFAULT -int main(void) { +int main(int argc, char *argv[]) { (void)$1$2; return 0; } diff --git a/asm/assemble.c b/asm/assemble.c index 2fb2e07e..c5d3f65c 100644 --- a/asm/assemble.c +++ b/asm/assemble.c @@ -264,8 +264,7 @@ static int has_prefix(insn * ins, enum prefix_pos pos, int prefix) static void assert_no_prefix(insn * ins, enum prefix_pos pos) { if (ins->prefixes[pos]) - nasm_error(ERR_NONFATAL, "invalid %s prefix", - prefix_name(ins->prefixes[pos])); + nasm_nonfatal("invalid %s prefix", prefix_name(ins->prefixes[pos])); } static const char *size_name(int size) @@ -294,8 +293,8 @@ static const char *size_name(int size) static void warn_overflow(int size) { - nasm_error(ERR_WARNING | ERR_PASS2 | WARN_NOV, - "%s data exceeds bounds", size_name(size)); + nasm_warn(ERR_PASS2 | WARN_NUMBER_OVERFLOW, "%s data exceeds bounds", + size_name(size)); } static void warn_overflow_const(int64_t data, int size) @@ -403,11 +402,15 @@ static void out(struct out_data *data) if (asize > amax) { if (data->type == OUT_RELADDR || data->sign == OUT_SIGNED) { - nasm_error(ERR_NONFATAL, - "%u-bit signed relocation unsupported by output format %s", - (unsigned int)(asize << 3), ofmt->shortname); + nasm_nonfatal("%u-bit signed relocation unsupported by output format %s", + (unsigned int)(asize << 3), ofmt->shortname); } else { - nasm_error(ERR_WARNING | WARN_ZEXTRELOC, + /*! + *!zext-reloc [on] relocation zero-extended to match output format + *! warns that a relocation has been zero-extended due + *! to limitations in the output format. + */ + nasm_warn(WARN_ZEXT_RELOC, "%u-bit %s relocation zero-extended from %u bits", (unsigned int)(asize << 3), data->type == OUT_SEGMENT ? "segment" : "unsigned", @@ -417,7 +420,16 @@ static void out(struct out_data *data) data->size = amax; } lfmt->output(data); - ofmt->output(data); + + if (likely(data->segment != NO_SEG)) { + ofmt->output(data); + } else { + /* Outputting to ABSOLUTE section - only reserve is permitted */ + if (data->type != OUT_RESERVE) + nasm_nonfatal("attempt to assemble code in [ABSOLUTE] space"); + /* No need to push to the backend */ + } + data->offset += data->size; data->insoffs += data->size; @@ -459,7 +471,7 @@ static inline void out_reserve(struct out_data *data, uint64_t size) static void out_segment(struct out_data *data, const struct operand *opx) { if (opx->opflags & OPFLAG_RELATIVE) - nasm_error(ERR_NONFATAL, "segment references cannot be relative"); + nasm_nonfatal("segment references cannot be relative"); data->type = OUT_SEGMENT; data->sign = OUT_UNSIGNED; @@ -479,7 +491,7 @@ static void out_imm(struct out_data *data, const struct operand *opx, * already called ofmt->segbase() for us. Sigh. */ if (size < 2) - nasm_error(ERR_NONFATAL, "segment reference must be 16 bits"); + nasm_nonfatal("segment reference must be 16 bits"); data->type = OUT_SEGMENT; } else { @@ -506,7 +518,7 @@ static void out_reladdr(struct out_data *data, const struct operand *opx, int size) { if (opx->opflags & OPFLAG_RELATIVE) - nasm_error(ERR_NONFATAL, "invalid use of self-relative expression"); + nasm_nonfatal("invalid use of self-relative expression"); data->type = OUT_RELADDR; data->sign = OUT_SIGNED; @@ -548,8 +560,17 @@ static bool jmp_match(int32_t segment, int64_t offset, int bits, if (is_byte && c == 0371 && ins->prefixes[PPS_REP] == P_BND) { /* jmp short (opcode eb) cannot be used with bnd prefix. */ ins->prefixes[PPS_REP] = P_none; - nasm_error(ERR_WARNING | WARN_BND | ERR_PASS2 , - "jmp short does not init bnd regs - bnd prefix dropped."); + /*! + *!bnd [on] invalid BND prefixes + *! warns about ineffective use of the \c{BND} prefix when the + *! \c{JMP} instruction is converted to the \c{SHORT} form. + *! This should be extremely rare since the short \c{JMP} only + *! is applicable to jumps inside the same module, but if + *! it is legitimate, it may be necessary to use + *! \c{BND JMP DWORD}... + */ + nasm_warn(WARN_BND | ERR_PASS2 , + "jmp short does not init bnd regs - bnd prefix dropped."); } return is_byte; @@ -581,9 +602,7 @@ int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) list_for_each(e, instruction->eops) { if (e->type == EOT_DB_NUMBER) { if (wsize > 8) { - nasm_error(ERR_NONFATAL, - "integer supplied to a DT, DO, DY or DZ" - " instruction"); + nasm_nonfatal("integer supplied to a DT,DO,DY or DZ"); } else { data.insoffs = 0; data.inslen = data.size = wsize; @@ -630,16 +649,16 @@ int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) fp = nasm_open_read(fname, NF_BINARY|NF_FORMAP); if (!fp) { - nasm_error(ERR_NONFATAL, "`incbin': unable to open file `%s'", - fname); + nasm_nonfatal("`incbin': unable to open file `%s'", + fname); goto done; } len = nasm_file_size(fp); if (len == (off_t)-1) { - nasm_error(ERR_NONFATAL, "`incbin': unable to get length of file `%s'", - fname); + nasm_nonfatal("`incbin': unable to get length of file `%s'", + fname); goto close_done; } @@ -688,9 +707,8 @@ int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) off_t l = len; if (fseeko(fp, base, SEEK_SET) < 0 || ferror(fp)) { - nasm_error(ERR_NONFATAL, - "`incbin': unable to seek on file `%s'", - fname); + nasm_nonfatal("`incbin': unable to seek on file `%s'", + fname); goto end_incbin; } while (l > 0) { @@ -701,9 +719,8 @@ int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) * actually changes while we are reading * it. */ - nasm_error(ERR_NONFATAL, - "`incbin': unexpected EOF while" - " reading file `%s'", fname); + nasm_nonfatal("`incbin': unexpected EOF while" + " reading file `%s'", fname); goto end_incbin; } out_rawdata(&data, buf, m); @@ -718,9 +735,8 @@ int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) lfmt->downlevel(LIST_TIMES); } if (ferror(fp)) { - nasm_error(ERR_NONFATAL, - "`incbin': error while" - " reading file `%s'", fname); + nasm_nonfatal("`incbin': error while" + " reading file `%s'", fname); } close_done: if (buf) @@ -756,53 +772,48 @@ int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) /* No match */ switch (m) { case MERR_OPSIZEMISSING: - nasm_error(ERR_NONFATAL, "operation size not specified"); + nasm_nonfatal("operation size not specified"); break; case MERR_OPSIZEMISMATCH: - nasm_error(ERR_NONFATAL, "mismatch in operand sizes"); + nasm_nonfatal("mismatch in operand sizes"); break; case MERR_BRNOTHERE: - nasm_error(ERR_NONFATAL, - "broadcast not permitted on this operand"); + nasm_nonfatal("broadcast not permitted on this operand"); break; case MERR_BRNUMMISMATCH: - nasm_error(ERR_NONFATAL, - "mismatch in the number of broadcasting elements"); + nasm_nonfatal("mismatch in the number of broadcasting elements"); break; case MERR_MASKNOTHERE: - nasm_error(ERR_NONFATAL, - "mask not permitted on this operand"); + nasm_nonfatal("mask not permitted on this operand"); break; case MERR_DECONOTHERE: - nasm_error(ERR_NONFATAL, "unsupported mode decorator for instruction"); + nasm_nonfatal("unsupported mode decorator for instruction"); break; case MERR_BADCPU: - nasm_error(ERR_NONFATAL, "no instruction for this cpu level"); + nasm_nonfatal("no instruction for this cpu level"); break; case MERR_BADMODE: - nasm_error(ERR_NONFATAL, "instruction not supported in %d-bit mode", - bits); + nasm_nonfatal("instruction not supported in %d-bit mode", bits); break; case MERR_ENCMISMATCH: - nasm_error(ERR_NONFATAL, "specific encoding scheme not available"); + nasm_nonfatal("specific encoding scheme not available"); break; case MERR_BADBND: - nasm_error(ERR_NONFATAL, "bnd prefix is not allowed"); + nasm_nonfatal("bnd prefix is not allowed"); break; case MERR_BADREPNE: - nasm_error(ERR_NONFATAL, "%s prefix is not allowed", - (has_prefix(instruction, PPS_REP, P_REPNE) ? - "repne" : "repnz")); + nasm_nonfatal("%s prefix is not allowed", + (has_prefix(instruction, PPS_REP, P_REPNE) ? + "repne" : "repnz")); break; case MERR_REGSETSIZE: - nasm_error(ERR_NONFATAL, "invalid register set size"); + nasm_nonfatal("invalid register set size"); break; case MERR_REGSET: - nasm_error(ERR_NONFATAL, "register set not valid for operand"); + nasm_nonfatal("register set not valid for operand"); break; default: - nasm_error(ERR_NONFATAL, - "invalid combination of opcode and operands"); + nasm_nonfatal("invalid combination of opcode and operands"); break; } @@ -853,8 +864,8 @@ int64_t insn_size(int32_t segment, int64_t offset, int bits, insn *instruction) len = nasm_file_size_by_path(fname); if (len == (off_t)-1) { - nasm_error(ERR_NONFATAL, "`incbin': unable to get length of file `%s'", - fname); + nasm_nonfatal("`incbin': unable to get length of file `%s'", + fname); return 0; } @@ -907,22 +918,27 @@ static void bad_hle_warn(const insn * ins, uint8_t hleok) if (!is_class(MEMORY, ins->oprs[0].type)) ww = w_inval; /* HLE requires operand 0 to be memory */ + /*! + *!hle [on] invalid HLE prefixes + *! warns about invalid use of the HLE \c{XACQUIRE} or \c{XRELEASE} + *! prefixes. + */ switch (ww) { case w_none: break; case w_lock: if (ins->prefixes[PPS_LOCK] != P_LOCK) { - nasm_error(ERR_WARNING | WARN_HLE | ERR_PASS2, - "%s with this instruction requires lock", - prefix_name(rep_pfx)); + nasm_warn(WARN_HLE | ERR_PASS2, + "%s with this instruction requires lock", + prefix_name(rep_pfx)); } break; case w_inval: - nasm_error(ERR_WARNING | WARN_HLE | ERR_PASS2, - "%s invalid with this instruction", - prefix_name(rep_pfx)); + nasm_warn(WARN_HLE | ERR_PASS2, + "%s invalid with this instruction", + prefix_name(rep_pfx)); break; } } @@ -1119,7 +1135,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, if (pfx == P_O16) break; if (pfx != P_none) - nasm_error(ERR_WARNING | ERR_PASS2, "invalid operand size prefix"); + nasm_warn(WARN_OTHER|ERR_PASS2, "invalid operand size prefix"); else ins->prefixes[PPS_OSIZE] = P_O16; break; @@ -1131,7 +1147,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, if (pfx == P_O32) break; if (pfx != P_none) - nasm_error(ERR_WARNING | ERR_PASS2, "invalid operand size prefix"); + nasm_warn(WARN_OTHER|ERR_PASS2, "invalid operand size prefix"); else ins->prefixes[PPS_OSIZE] = P_O32; break; @@ -1186,11 +1202,11 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, case 0340: if (!absolute_op(&ins->oprs[0])) - nasm_error(ERR_NONFATAL, "attempt to reserve non-constant" - " quantity of BSS space"); + nasm_nonfatal("attempt to reserve non-constant" + " quantity of BSS space"); else if (ins->oprs[0].opflags & OPFLAG_FORWARD) - nasm_error(ERR_WARNING | ERR_PASS1, - "forward reference in RESx can have unpredictable results"); + nasm_warn(WARN_OTHER|ERR_PASS1, "forward reference in RESx " + "can have unpredictable results"); else length += ins->oprs[0].offset; break; @@ -1304,7 +1320,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, if (process_ea(opy, &ea_data, bits, rfield, rflags, ins, &errmsg) != eat) { - nasm_error(ERR_NONFATAL, "%s", errmsg); + nasm_nonfatal("%s", errmsg); return -1; } else { ins->rex |= ea_data.rex; @@ -1314,7 +1330,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, break; default: - nasm_panic(0, "internal instruction table corrupt" + nasm_panic("internal instruction table corrupt" ": instruction code \\%o (0x%02X) given", c, c); break; } @@ -1324,7 +1340,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, if (ins->rex & REX_NH) { if (ins->rex & REX_H) { - nasm_error(ERR_NONFATAL, "instruction cannot use high registers"); + nasm_nonfatal("instruction cannot use high registers"); return -1; } ins->rex &= ~REX_P; /* Don't force REX prefix due to high reg */ @@ -1348,7 +1364,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, int bad32 = REX_R|REX_W|REX_X|REX_B; if (ins->rex & REX_H) { - nasm_error(ERR_NONFATAL, "cannot use high register in AVX instruction"); + nasm_nonfatal("cannot use high register in AVX instruction"); return -1; } switch (ins->vex_wlp & 060) { @@ -1366,11 +1382,11 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, } if (bits != 64 && ((ins->rex & bad32) || ins->vexreg > 7)) { - nasm_error(ERR_NONFATAL, "invalid operands in non-64-bit mode"); + nasm_nonfatal("invalid operands in non-64-bit mode"); return -1; } else if (!(ins->rex & REX_EV) && ((ins->vexreg > 15) || (ins->evex_p[0] & 0xf0))) { - nasm_error(ERR_NONFATAL, "invalid high-16 register in non-AVX-512"); + nasm_nonfatal("invalid high-16 register in non-AVX-512"); return -1; } if (ins->rex & REX_EV) @@ -1382,7 +1398,7 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, length += 2; } else if (ins->rex & REX_MASK) { if (ins->rex & REX_H) { - nasm_error(ERR_NONFATAL, "cannot use high register in rex instruction"); + nasm_nonfatal("cannot use high register in rex instruction"); return -1; } else if (bits == 64) { length++; @@ -1394,15 +1410,18 @@ static int64_t calcsize(int32_t segment, int64_t offset, int bits, lockcheck = false; /* Already errored, no need for warning */ length++; } else { - nasm_error(ERR_NONFATAL, "invalid operands in non-64-bit mode"); + nasm_nonfatal("invalid operands in non-64-bit mode"); return -1; } } if (has_prefix(ins, PPS_LOCK, P_LOCK) && lockcheck && (!itemp_has(temp,IF_LOCK) || !is_class(MEMORY, ins->oprs[0].type))) { - nasm_error(ERR_WARNING | WARN_LOCK | ERR_PASS2 , - "instruction is not lockable"); + /*! + *!lock [on] LOCK prefix on unlockable instructions + *! warns about \c{LOCK} prefixes on unlockable instructions. + */ + nasm_warn(WARN_LOCK | ERR_PASS2 , "instruction is not lockable"); } bad_hle_warn(ins, hleok); @@ -1464,24 +1483,21 @@ static int emit_prefix(struct out_data *data, const int bits, insn *ins) c = 0xF3; break; case R_CS: - if (bits == 64) { - nasm_error(ERR_WARNING | ERR_PASS2, - "cs segment base generated, but will be ignored in 64-bit mode"); - } + if (bits == 64) + nasm_warn(WARN_OTHER|ERR_PASS2, "cs segment base generated, " + "but will be ignored in 64-bit mode"); c = 0x2E; break; case R_DS: - if (bits == 64) { - nasm_error(ERR_WARNING | ERR_PASS2, - "ds segment base generated, but will be ignored in 64-bit mode"); - } + if (bits == 64) + nasm_warn(WARN_OTHER|ERR_PASS2, "ds segment base generated, " + "but will be ignored in 64-bit mode"); c = 0x3E; break; case R_ES: - if (bits == 64) { - nasm_error(ERR_WARNING | ERR_PASS2, - "es segment base generated, but will be ignored in 64-bit mode"); - } + if (bits == 64) + nasm_warn(WARN_OTHER|ERR_PASS2, "es segment base generated, " + "but will be ignored in 64-bit mode"); c = 0x26; break; case R_FS: @@ -1492,21 +1508,19 @@ static int emit_prefix(struct out_data *data, const int bits, insn *ins) break; case R_SS: if (bits == 64) { - nasm_error(ERR_WARNING | ERR_PASS2, - "ss segment base generated, but will be ignored in 64-bit mode"); + nasm_warn(WARN_OTHER|ERR_PASS2, "ss segment base generated, " + "but will be ignored in 64-bit mode"); } c = 0x36; break; case R_SEGR6: case R_SEGR7: - nasm_error(ERR_NONFATAL, - "segr6 and segr7 cannot be used as prefixes"); + nasm_nonfatal("segr6 and segr7 cannot be used as prefixes"); break; case P_A16: if (bits == 64) { - nasm_error(ERR_NONFATAL, - "16-bit addressing is not supported " - "in 64-bit mode"); + nasm_nonfatal("16-bit addressing is not supported " + "in 64-bit mode"); } else if (bits != 16) c = 0x67; break; @@ -1516,9 +1530,8 @@ static int emit_prefix(struct out_data *data, const int bits, insn *ins) break; case P_A64: if (bits != 64) { - nasm_error(ERR_NONFATAL, - "64-bit addressing is only supported " - "in 64-bit mode"); + nasm_nonfatal("64-bit addressing is only supported " + "in 64-bit mode"); } break; case P_ASP: @@ -1545,7 +1558,7 @@ static int emit_prefix(struct out_data *data, const int bits, insn *ins) case P_none: break; default: - nasm_panic(0, "invalid instruction prefix"); + nasm_panic("invalid instruction prefix"); } if (c) { if (data) @@ -1640,7 +1653,7 @@ static void gencode(struct out_data *data, insn *ins) int64_t delta = opx->offset - data->offset - (data->inslen - data->insoffs); if (delta > 127 || delta < -128) - nasm_error(ERR_NONFATAL, "short jump is out of range"); + nasm_nonfatal("short jump is out of range"); } out_reladdr(data, opx, 1); break; @@ -1668,8 +1681,7 @@ static void gencode(struct out_data *data, insn *ins) case4(074): if (opx->segment == NO_SEG) - nasm_error(ERR_NONFATAL, "value referenced by FAR is not" - " relocatable"); + nasm_nonfatal("value referenced by FAR is not relocatable"); out_segment(data, opx); break; @@ -1681,14 +1693,12 @@ static void gencode(struct out_data *data, insn *ins) c = *codes++; opx = &ins->oprs[c >> 3]; opy = &ins->oprs[c & 7]; - if (!absolute_op(opy)) { - nasm_error(ERR_NONFATAL, - "non-absolute expression not permitted as argument %d", - c & 7); - } else if (opy->offset & ~mask) { - nasm_error(ERR_WARNING | ERR_PASS2 | WARN_NOV, + if (!absolute_op(opy)) + nasm_nonfatal("non-absolute expression not permitted " + "as argument %d", c & 7); + else if (opy->offset & ~mask) + nasm_warn(ERR_PASS2 | WARN_NUMBER_OVERFLOW, "is4 argument exceeds bounds"); - } c = opy->offset & mask; goto emit_is4; } @@ -1709,8 +1719,8 @@ static void gencode(struct out_data *data, insn *ins) case4(0254): if (absolute_op(opx) && (int32_t)opx->offset != (int64_t)opx->offset) { - nasm_error(ERR_WARNING | ERR_PASS2 | WARN_NOV, - "signed dword immediate exceeds bounds"); + nasm_warn(ERR_PASS2 | WARN_NUMBER_OVERFLOW, + "signed dword immediate exceeds bounds"); } out_imm(data, opx, 4, OUT_SIGNED); break; @@ -1779,7 +1789,7 @@ static void gencode(struct out_data *data, insn *ins) /* If this wasn't explicitly byte-sized, warn as though we * had fallen through to the imm16/32/64 case. */ - nasm_error(ERR_WARNING | ERR_PASS2 | WARN_NOV, + nasm_warn(ERR_PASS2 | WARN_NUMBER_OVERFLOW, "%s value exceeds bounds", (opx->type & BITS8) ? "signed byte" : s == 16 ? "word" : @@ -1863,7 +1873,7 @@ static void gencode(struct out_data *data, insn *ins) case 0340: if (ins->oprs[0].segment != NO_SEG) - nasm_panic(0, "non-constant BSS size in pass two"); + nasm_panic("non-constant BSS size in pass two"); out_reserve(data, ins->oprs[0].offset); break; @@ -1937,7 +1947,7 @@ static void gencode(struct out_data *data, insn *ins) if (process_ea(opy, &ea_data, bits, rfield, rflags, ins, &errmsg) != eat) - nasm_error(ERR_NONFATAL, "%s", errmsg); + nasm_nonfatal("%s", errmsg); p = bytes; *p++ = ea_data.modrm; @@ -1973,7 +1983,7 @@ static void gencode(struct out_data *data, insn *ins) break; default: - nasm_panic(0, "internal instruction table corrupt" + nasm_panic("internal instruction table corrupt" ": instruction code \\%o (0x%02X) given", c, c); break; } @@ -1983,14 +1993,14 @@ static void gencode(struct out_data *data, insn *ins) static opflags_t regflag(const operand * o) { if (!is_register(o->basereg)) - nasm_panic(0, "invalid operand passed to regflag()"); + nasm_panic("invalid operand passed to regflag()"); return nasm_reg_flags[o->basereg]; } static int32_t regval(const operand * o) { if (!is_register(o->basereg)) - nasm_panic(0, "invalid operand passed to regval()"); + nasm_panic("invalid operand passed to regval()"); return nasm_regvals[o->basereg]; } @@ -2000,7 +2010,7 @@ static int op_rexflags(const operand * o, int mask) int val; if (!is_register(o->basereg)) - nasm_panic(0, "invalid operand passed to op_rexflags()"); + nasm_panic("invalid operand passed to op_rexflags()"); flags = nasm_reg_flags[o->basereg]; val = nasm_regvals[o->basereg]; @@ -2153,8 +2163,7 @@ static uint8_t get_broadcast_num(opflags_t opflags, opflags_t brsize) uint8_t brcast_num; if (brsize > BITS64) - nasm_error(ERR_FATAL, - "size of broadcasting element is greater than 64 bits"); + nasm_fatal("size of broadcasting element is greater than 64 bits"); /* * The shift term is to take care of the extra BITS80 inserted @@ -2504,8 +2513,7 @@ static enum ea_type process_ea(operand *input, ea *output, int bits, if (bits == 64 && ((input->type & IP_REL) == IP_REL)) { if (input->segment == NO_SEG || (input->opflags & OPFLAG_RELATIVE)) { - nasm_error(ERR_WARNING | ERR_PASS2, - "absolute address can not be RIP-relative"); + nasm_warn(WARN_OTHER|ERR_PASS2, "absolute address can not be RIP-relative"); input->type &= ~IP_REL; input->type |= MEMORY; } @@ -2519,10 +2527,8 @@ static enum ea_type process_ea(operand *input, ea *output, int bits, if (eaflags & EAF_BYTEOFFS || (eaflags & EAF_WORDOFFS && - input->disp_size != (addrbits != 16 ? 32 : 16))) { - nasm_error(ERR_WARNING | ERR_PASS1, - "displacement size ignored on absolute address"); - } + input->disp_size != (addrbits != 16 ? 32 : 16))) + nasm_warn(WARN_OTHER|ERR_PASS1, "displacement size ignored on absolute address"); if (bits == 64 && (~input->type & IP_REL)) { output->sib_present = true; @@ -2978,7 +2984,7 @@ static void add_asp(insn *ins, int addrbits) ins->addr_size = (addrbits == 32) ? 16 : 32; } else { /* Impossible... */ - nasm_error(ERR_NONFATAL, "impossible combination of address sizes"); + nasm_nonfatal("impossible combination of address sizes"); ins->addr_size = addrbits; /* Error recovery */ } diff --git a/asm/directiv.c b/asm/directiv.c index e6da4606..46079b48 100644 --- a/asm/directiv.c +++ b/asm/directiv.c @@ -106,10 +106,8 @@ static iflag_t get_cpu(const char *value) break; } - if (!cpu->name) { - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_FATAL, - "unknown 'cpu' type '%s'", value); - } + if (!cpu->name) + nasm_nonfatal("unknown 'cpu' type '%s'", value); iflag_set_cpu(&r, cpu->level); return r; @@ -124,22 +122,19 @@ static int get_bits(const char *value) break; /* Always safe */ case 32: if (!iflag_cpu_level_ok(&cpu, IF_386)) { - nasm_error(ERR_NONFATAL, - "cannot specify 32-bit segment on processor below a 386"); + nasm_nonfatal("cannot specify 32-bit segment on processor below a 386"); i = 16; } break; case 64: if (!iflag_cpu_level_ok(&cpu, IF_X86_64)) { - nasm_error(ERR_NONFATAL, - "cannot specify 64-bit segment on processor below an x86-64"); + nasm_nonfatal("cannot specify 64-bit segment on processor below an x86-64"); i = 16; } break; default: - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_FATAL, - "`%s' is not a valid segment size; must be 16, 32 or 64", - value); + nasm_nonfatal("`%s' is not a valid segment size; must be 16, 32 or 64", + value); i = 16; break; } @@ -208,7 +203,6 @@ bool process_directives(char *directive) char *value, *p, *q, *special; struct tokenval tokval; bool bad_param = false; - int pass2 = passn > 1 ? 2 : 1; enum label_type type; d = parse_directive_line(&directive, &value); @@ -218,11 +212,11 @@ bool process_directives(char *directive) return D_none; /* Not a directive */ case D_corrupt: - nasm_error(ERR_NONFATAL, "invalid directive line"); + nasm_nonfatal("invalid directive line"); break; default: /* It's a backend-specific directive */ - switch (ofmt->directive(d, value, pass2)) { + switch (ofmt->directive(d, value)) { case DIRR_UNKNOWN: goto unknown; case DIRR_OK: @@ -238,19 +232,17 @@ bool process_directives(char *directive) case D_unknown: unknown: - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_PANIC, - "unrecognised directive [%s]", directive); + nasm_nonfatal("unrecognized directive [%s]", directive); break; case D_SEGMENT: /* [SEGMENT n] */ case D_SECTION: { int sb = globalbits; - int32_t seg = ofmt->section(value, pass2, &sb); + int32_t seg = ofmt->section(value, &sb); if (seg == NO_SEG) { - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_PANIC, - "segment name `%s' not recognized", value); + nasm_nonfatal("segment name `%s' not recognized", value); } else { globalbits = sb; switch_segment(seg); @@ -266,23 +258,21 @@ bool process_directives(char *directive) stdscan_reset(); stdscan_set(value); tokval.t_type = TOKEN_INVALID; - e = evaluate(stdscan, NULL, &tokval, NULL, pass2, NULL); + e = evaluate(stdscan, NULL, &tokval, NULL, true, NULL); if (e) { uint64_t align = e->value; if (!is_power2(e->value)) { - nasm_error(ERR_NONFATAL, - "segment alignment `%s' is not power of two", - value); + nasm_nonfatal("segment alignment `%s' is not power of two", + value); } else if (align > UINT64_C(0x7fffffff)) { /* * FIXME: Please make some sane message here * ofmt should have some 'check' method which * would report segment alignment bounds. */ - nasm_error(ERR_NONFATAL, - "absurdly large segment alignment `%s' (2^%d)", - value, ilog2_64(align)); + nasm_nonfatal("absurdly large segment alignment `%s' (2^%d)", + value, ilog2_64(align)); } /* callee should be able to handle all details */ @@ -321,20 +311,19 @@ bool process_directives(char *directive) value++; /* skip initial $ if present */ q = value; - if (!isidstart(*q)) { + if (!nasm_isidstart(*q)) { validid = false; } else { q++; while (*q && *q != ':' && !nasm_isspace(*q)) { - if (!isidchar(*q)) + if (!nasm_isidchar(*q)) validid = false; q++; } } if (!validid) { - nasm_error(ERR_NONFATAL, - "identifier expected after %s, got `%s'", - directive, value); + nasm_nonfatal("identifier expected after %s, got `%s'", + directive, value); break; } @@ -357,12 +346,10 @@ bool process_directives(char *directive) if (sizestr) size = readnum(sizestr, &rn_error); if (!sizestr || rn_error) - nasm_error(ERR_NONFATAL, - "%s size specified in common declaration", - sizestr ? "invalid" : "no"); + nasm_nonfatal("%s size specified in common declaration", + sizestr ? "invalid" : "no"); } else if (sizestr) { - nasm_error(ERR_NONFATAL, "invalid syntax in %s declaration", - directive); + nasm_nonfatal("invalid syntax in %s declaration", directive); } if (!declare_label(value, type, special)) @@ -381,22 +368,20 @@ bool process_directives(char *directive) stdscan_reset(); stdscan_set(value); tokval.t_type = TOKEN_INVALID; - e = evaluate(stdscan, NULL, &tokval, NULL, pass2, NULL); + e = evaluate(stdscan, NULL, &tokval, NULL, true, NULL); if (e) { - if (!is_reloc(e)) - nasm_error(pass0 == - 1 ? ERR_NONFATAL : ERR_PANIC, - "cannot use non-relocatable expression as " - "ABSOLUTE address"); - else { + if (!is_reloc(e)) { + nasm_nonfatal("cannot use non-relocatable expression as " + "ABSOLUTE address"); + } else { absolute.segment = reloc_seg(e); absolute.offset = reloc_value(e); } - } else if (passn == 1) + } else if (pass_first()) { absolute.offset = 0x100; /* don't go near zero in case of / */ - else - nasm_panic(0, "invalid ABSOLUTE address " - "in pass two"); + } else { + nasm_nonfatal("invalid ABSOLUTE address"); + } in_absolute = true; location.segment = NO_SEG; location.offset = absolute.offset; @@ -411,7 +396,7 @@ bool process_directives(char *directive) p = value; q = debugid; badid = overlong = false; - if (!isidstart(*p)) { + if (!nasm_isidstart(*p)) { badid = true; } else { while (*p && !nasm_isspace(*p)) { @@ -419,33 +404,28 @@ bool process_directives(char *directive) overlong = true; break; } - if (!isidchar(*p)) + if (!nasm_isidchar(*p)) badid = true; *q++ = *p++; } *q = 0; } if (badid) { - nasm_error(passn == 1 ? ERR_NONFATAL : ERR_PANIC, - "identifier expected after DEBUG"); + nasm_nonfatal("identifier expected after DEBUG"); break; } if (overlong) { - nasm_error(passn == 1 ? ERR_NONFATAL : ERR_PANIC, - "DEBUG identifier too long"); + nasm_nonfatal("DEBUG identifier too long"); break; } p = nasm_skip_spaces(p); - if (pass0 == 2) + if (pass_final()) dfmt->debug_directive(debugid, p); break; } case D_WARNING: /* [WARNING {+|-|*}warn-name] */ - if (!set_warning_status(value)) { - nasm_error(ERR_WARNING|WARN_UNK_WARNING, - "unknown warning option: %s", value); - } + set_warning_status(value); break; case D_CPU: /* [CPU] */ @@ -494,8 +474,7 @@ bool process_directives(char *directive) case D_FLOAT: if (float_option(value)) { - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_PANIC, - "unknown 'float' directive: %s", value); + nasm_nonfatal("unknown 'float' directive: %s", value); } break; @@ -507,8 +486,7 @@ bool process_directives(char *directive) /* A common error message */ if (bad_param) { - nasm_error(ERR_NONFATAL, "invalid parameter to [%s] directive", - directive); + nasm_nonfatal("invalid parameter to [%s] directive", directive); } return d != D_none; diff --git a/asm/error.c b/asm/error.c index f6098f4c..2e927a64 100644 --- a/asm/error.c +++ b/asm/error.c @@ -42,170 +42,164 @@ #include "nasmlib.h" #include "error.h" -/* - * Description of the suppressible warnings for the command line and - * the [warning] directive. - */ -#define on (WARN_ST_ENABLED) -#define off 0 -#define err (WARN_ST_ENABLED|WARN_ST_ERROR) - -const struct warning warnings[WARN_ALL+1] = { - {NULL, NULL, on}, /* must be on - used for unconditional enable */ - {"macro-params", "macro calls with wrong parameter count", on}, - {"macro-selfref", "cyclic macro references", off}, - {"macro-defaults", "macros with more default than optional parameters", on}, - {"orphan-labels", "labels alone on lines without trailing `:'", on}, - {"number-overflow", "numeric constant does not fit", on}, - {"gnu-elf-extensions", "using 8- or 16-bit relocation in ELF32, a GNU extension", off}, - {"float-overflow", "floating point overflow", on}, - {"float-denorm", "floating point denormal", off}, - {"float-underflow", "floating point underflow", off}, - {"float-toolong", "too many digits in floating-point number", on}, - {"user", "%warning directives", on}, - {"lock", "lock prefix on unlockable instructions", on}, - {"hle", "invalid hle prefixes", on}, - {"bnd", "invalid bnd prefixes", on}, - {"zext-reloc", "relocation zero-extended to match output format", on}, - {"ptr", "non-NASM keyword used in other assemblers", on}, - {"bad-pragma", "empty or malformed %pragma", off}, - {"unknown-pragma", "unknown %pragma facility or directive", off}, - {"not-my-pragma", "%pragma not applicable to this compilation", off}, - {"unknown-warning", "unknown warning in -W/-w or warning directive", off}, - {"negative-rep", "regative %rep count", on}, - {"phase", "phase error during stabilization", off}, - {"label-redef", "label redefined to an identical value", off}, - {"label-redef-late", "label (re)defined during code generation", err}, - - /* THESE ENTRIES SHOULD COME LAST */ - {"other", "any warning not specifially mentioned above", on}, - {"all", "all possible warnings", off} -}; - -uint8_t warning_state[WARN_ALL];/* Current state */ -uint8_t warning_state_init[WARN_ALL]; /* Command-line state, for reset */ - -vefunc nasm_verror; /* Global error handling function */ - -void nasm_error(int severity, const char *fmt, ...) -{ - va_list ap; +/* Global error handling function */ +vefunc nasm_verror; - va_start(ap, fmt); - nasm_verror(severity, fmt, ap); - va_end(ap); -} +/* Common function body */ +#define nasm_do_error(s) \ + va_list ap; \ + va_start(ap, fmt); \ + nasm_verror((s), fmt, ap); \ + va_end(ap); -fatal_func nasm_fatal(int flags, const char *fmt, ...) +void nasm_error(errflags severity, const char *fmt, ...) { - va_list ap; + nasm_do_error(severity); +} - va_start(ap, fmt); - nasm_verror(flags | ERR_FATAL, fmt, ap); - abort(); /* We should never get here */ +#define nasm_err_helpers(_type, _name, _sev) \ +_type nasm_ ## _name ## f (errflags flags, const char *fmt, ...) \ +{ \ + nasm_do_error((_sev)|flags); \ + if (_sev >= ERR_FATAL) \ + abort(); \ +} \ +_type nasm_ ## _name (const char *fmt, ...) \ +{ \ + nasm_do_error(_sev); \ + if (_sev >= ERR_FATAL) \ + abort(); \ } -fatal_func nasm_panic(int flags, const char *fmt, ...) -{ - va_list ap; +nasm_err_helpers(void, debug, ERR_DEBUG) +nasm_err_helpers(void, note, ERR_NOTE) +nasm_err_helpers(void, nonfatal, ERR_NONFATAL) +nasm_err_helpers(fatal_func, fatal, ERR_FATAL) +nasm_err_helpers(fatal_func, panic, ERR_PANIC) - va_start(ap, fmt); - nasm_verror(flags | ERR_PANIC, fmt, ap); - abort(); /* We should never get here */ +/* + * Strongly discourage warnings without level by require flags on warnings. + * This means nasm_warn() is the equivalent of the -f variants of the + * other ones. + */ +void nasm_warn(errflags severity, const char *fmt, ...) +{ + nasm_do_error(ERR_WARNING|severity); } - + fatal_func nasm_panic_from_macro(const char *file, int line) { - nasm_panic(ERR_NOFILE, "Internal error at %s:%d\n", file, line); + nasm_panic("internal error at %s:%d\n", file, line); } fatal_func nasm_assert_failed(const char *file, int line, const char *msg) { - nasm_panic(0, "assertion %s failed at %s:%d", msg, file, line); + nasm_panic("assertion %s failed at %s:%d", msg, file, line); } /* * This is called when processing a -w or -W option, or a warning directive. * Returns on if if the action was successful. + * + * Special pseudo-warnings: + * + *!other [on] any warning not specifially mentioned above + *! specifies any warning not included in any specific warning class. + * + *!all [all] all possible warnings + *! is an alias for \e{all} suppressible warning classes. + *! Thus, \c{-w+all} enables all available warnings, and \c{-w-all} + *! disables warnings entirely (since NASM 2.13). */ bool set_warning_status(const char *value) { - enum warn_action { WID_OFF, WID_ON, WID_RESET }; - enum warn_action action; - uint8_t mask; - int i; - bool ok = false; - - value = nasm_skip_spaces(value); - switch (*value) { - case '-': - action = WID_OFF; - value++; - break; - case '+': - action = WID_ON; - value++; - break; - case '*': - action = WID_RESET; - value++; - break; - case 'N': - case 'n': - if (!nasm_strnicmp(value, "no-", 3)) { - action = WID_OFF; - value += 3; - break; - } else if (!nasm_stricmp(value, "none")) { - action = WID_OFF; - value = NULL; - break; - } - /* else fall through */ - default: - action = WID_ON; - break; - } - - mask = WARN_ST_ENABLED; - - if (value && !nasm_strnicmp(value, "error", 5)) { - switch (value[5]) { - case '=': - mask = WARN_ST_ERROR; - value += 6; - break; - case '\0': - mask = WARN_ST_ERROR; - value = NULL; - break; - default: - /* Just an accidental prefix? */ - break; - } - } - - if (value && !nasm_stricmp(value, "all")) - value = NULL; - - /* This is inefficient, but it shouldn't matter... */ - for (i = 1; i < WARN_ALL; i++) { - if (!value || !nasm_stricmp(value, warnings[i].name)) { - ok = true; /* At least one action taken */ - switch (action) { - case WID_OFF: - warning_state[i] &= ~mask; - break; - case WID_ON: - warning_state[i] |= mask; - break; - case WID_RESET: - warning_state[i] &= ~mask; - warning_state[i] |= warning_state_init[i] & mask; - break; - } - } - } - - return ok; + enum warn_action { WID_OFF, WID_ON, WID_RESET }; + enum warn_action action; + const char *name; + bool ok = false; + uint8_t mask; + int i; + + value = nasm_skip_spaces(value); + switch (*value) { + case '-': + action = WID_OFF; + value++; + break; + case '+': + action = WID_ON; + value++; + break; + case '*': + action = WID_RESET; + value++; + break; + case 'N': + case 'n': + if (!nasm_strnicmp(value, "no-", 3)) { + action = WID_OFF; + value += 3; + break; + } else if (!nasm_stricmp(value, "none")) { + action = WID_OFF; + value = NULL; + break; + } + /* else fall through */ + default: + action = WID_ON; + break; + } + + mask = WARN_ST_ENABLED; + + if (value && !nasm_strnicmp(value, "error", 5)) { + switch (value[5]) { + case '=': + mask = WARN_ST_ERROR; + value += 6; + break; + case '\0': + mask = WARN_ST_ERROR; + value = NULL; + break; + default: + /* Just an accidental prefix? */ + break; + } + } + + name = value ? value : "<none>"; + if (value && !nasm_stricmp(value, "all")) + value = NULL; + + /* This is inefficient, but it shouldn't matter... */ + for (i = 1; i < WARN_IDX_ALL; i++) { + if (!value || !nasm_stricmp(value, warning_name[i])) { + ok = true; /* At least one action taken */ + switch (action) { + case WID_OFF: + warning_state[i] &= ~mask; + break; + case WID_ON: + warning_state[i] |= mask; + break; + case WID_RESET: + warning_state[i] &= ~mask; + warning_state[i] |= warning_state_init[i] & mask; + break; + } + } + } + + if (!ok) { + /*! + *!unknown-warning [off] unknown warning in -W/-w or warning directive + *! warns about a \c{-w} or \c{-W} option or a \c{[WARNING]} directive + *! that contains an unknown warning name or is otherwise not possible to process. + */ + nasm_warn(WARN_UNKNOWN_WARNING, "unknown warning name: %s", name); + } + + return ok; } @@ -55,7 +55,8 @@ #define TEMPEXPRS_DELTA 128 #define TEMPEXPR_DELTA 8 -static scanner scan; /* Address of scanner routine */ +static scanner scanfunc; /* Address of scanner routine */ +static void *scpriv; /* Scanner private pointer */ static expr **tempexprs = NULL; static int ntempexprs; @@ -66,9 +67,9 @@ static int ntempexpr; static int tempexpr_size; static struct tokenval *tokval; /* The current token */ -static int i; /* The t_type of tokval */ +static int tt; /* The t_type of tokval */ -static void *scpriv; +static bool critical; static int *opflags; static struct eval_hints *hint; @@ -222,19 +223,19 @@ static expr *segment_part(expr * e) return unknown_expr(); if (!is_reloc(e)) { - nasm_error(ERR_NONFATAL, "cannot apply SEG to a non-relocatable value"); + nasm_nonfatal("cannot apply SEG to a non-relocatable value"); return NULL; } seg = reloc_seg(e); if (seg == NO_SEG) { - nasm_error(ERR_NONFATAL, "cannot apply SEG to a non-relocatable value"); + nasm_nonfatal("cannot apply SEG to a non-relocatable value"); return NULL; } else if (seg & SEG_ABS) { return scalarvect(seg & ~SEG_ABS); } else if (seg & 1) { - nasm_error(ERR_NONFATAL, "SEG applied to something which" - " is already a segment base"); + nasm_nonfatal("SEG applied to something which" + " is already a segment base"); return NULL; } else { int32_t base = ofmt->segbase(seg + 1); @@ -249,27 +250,37 @@ static expr *segment_part(expr * e) /* * Recursive-descent parser. Called with a single boolean operand, * which is true if the evaluation is critical (i.e. unresolved - * symbols are an error condition). Must update the global `i' to + * symbols are an error condition). Must update the global `tt' to * reflect the token after the parsed string. May return NULL. * * evaluate() should report its own errors: on return it is assumed * that if NULL has been returned, the error has already been * reported. + * + */ + +/* + * Wrapper function around the scanner */ +static int scan(void) +{ + return tt = scanfunc(scpriv, tokval); +} /* * Grammar parsed is: * * expr : bexpr [ WRT expr6 ] - * bexpr : rexp0 or expr0 depending on relative-mode setting + * bexpr : cexpr + * cexpr : rexp0 [ {?} bexpr {:} cexpr ] * rexp0 : rexp1 [ {||} rexp1...] * rexp1 : rexp2 [ {^^} rexp2...] * rexp2 : rexp3 [ {&&} rexp3...] - * rexp3 : expr0 [ {=,==,<>,!=,<,>,<=,>=} expr0 ] + * rexp3 : expr0 [ {=,==,<>,!=,<,>,<=,>=,<=>} expr0... ] * expr0 : expr1 [ {|} expr1...] * expr1 : expr2 [ {^} expr2...] * expr2 : expr3 [ {&} expr3...] - * expr3 : expr4 [ {<<,>>} expr4...] + * expr3 : expr4 [ {<<,>>,<<<,>>>} expr4...] * expr4 : expr5 [ {+,-} expr5...] * expr5 : expr6 [ {*,/,%,//,%%} expr6...] * expr6 : { ~,+,-,IFUNC,SEG } expr6 @@ -279,30 +290,72 @@ static expr *segment_part(expr * e) * | number */ -static expr *rexp0(int), *rexp1(int), *rexp2(int), *rexp3(int); +static expr *cexpr(void); +static expr *rexp0(void), *rexp1(void), *rexp2(void), *rexp3(void); -static expr *expr0(int), *expr1(int), *expr2(int), *expr3(int); -static expr *expr4(int), *expr5(int), *expr6(int); +static expr *expr0(void), *expr1(void), *expr2(void), *expr3(void); +static expr *expr4(void), *expr5(void), *expr6(void); -static expr *(*bexpr) (int); +/* This inline is a placeholder for the root of the basic expression */ +static inline expr *bexpr(void) +{ + return cexpr(); +} -static expr *rexp0(int critical) +static expr *cexpr(void) +{ + expr *e, *f, *g; + + e = rexp0(); + if (!e) + return NULL; + + if (tt == TOKEN_QMARK) { + scan(); + f = bexpr(); + if (!f) + return NULL; + + if (tt != ':') { + nasm_nonfatal("`?' without matching `:'"); + return NULL; + } + + scan(); + g = cexpr(); + if (!g) + return NULL; + + if (is_simple(e)) { + e = reloc_value(e) ? f : g; + } else if (is_just_unknown(e)) { + e = unknown_expr(); + } else { + nasm_nonfatal("the left-hand side of `?' must be " + "a scalar value"); + } + } + + return e; +} + +static expr *rexp0(void) { expr *e, *f; - e = rexp1(critical); + e = rexp1(); if (!e) return NULL; - while (i == TOKEN_DBL_OR) { - i = scan(scpriv, tokval); - f = rexp1(critical); + while (tt == TOKEN_DBL_OR) { + scan(); + f = rexp1(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "`|' operator may only be applied to" - " scalar values"); + nasm_nonfatal("`|' operator may only be applied to" + " scalar values"); } if (is_just_unknown(e) || is_just_unknown(f)) @@ -313,23 +366,23 @@ static expr *rexp0(int critical) return e; } -static expr *rexp1(int critical) +static expr *rexp1(void) { expr *e, *f; - e = rexp2(critical); + e = rexp2(); if (!e) return NULL; - while (i == TOKEN_DBL_XOR) { - i = scan(scpriv, tokval); - f = rexp2(critical); + while (tt == TOKEN_DBL_XOR) { + scan(); + f = rexp2(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "`^' operator may only be applied to" - " scalar values"); + nasm_nonfatal("`^' operator may only be applied to" + " scalar values"); } if (is_just_unknown(e) || is_just_unknown(f)) @@ -340,22 +393,22 @@ static expr *rexp1(int critical) return e; } -static expr *rexp2(int critical) +static expr *rexp2(void) { expr *e, *f; - e = rexp3(critical); + e = rexp3(); if (!e) return NULL; - while (i == TOKEN_DBL_AND) { - i = scan(scpriv, tokval); - f = rexp3(critical); + while (tt == TOKEN_DBL_AND) { + scan(); + f = rexp3(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "`&' operator may only be applied to" - " scalar values"); + nasm_nonfatal("`&' operator may only be applied to" + " scalar values"); } if (is_just_unknown(e) || is_just_unknown(f)) e = unknown_expr(); @@ -365,52 +418,58 @@ static expr *rexp2(int critical) return e; } -static expr *rexp3(int critical) +static expr *rexp3(void) { expr *e, *f; int64_t v; - e = expr0(critical); + e = expr0(); if (!e) return NULL; - while (i == TOKEN_EQ || i == TOKEN_LT || i == TOKEN_GT || - i == TOKEN_NE || i == TOKEN_LE || i == TOKEN_GE) { - int j = i; - i = scan(scpriv, tokval); - f = expr0(critical); + while (tt == TOKEN_EQ || tt == TOKEN_LT || tt == TOKEN_GT || + tt == TOKEN_NE || tt == TOKEN_LE || tt == TOKEN_GE || + tt == TOKEN_LEG) { + int tto = tt; + scan(); + f = expr0(); if (!f) return NULL; e = add_vectors(e, scalar_mult(f, -1L, false)); - switch (j) { + switch (tto) { case TOKEN_EQ: case TOKEN_NE: if (is_unknown(e)) v = -1; /* means unknown */ else if (!is_really_simple(e) || reloc_value(e) != 0) - v = (j == TOKEN_NE); /* unequal, so return true if NE */ + v = (tto == TOKEN_NE); /* unequal, so return true if NE */ else - v = (j == TOKEN_EQ); /* equal, so return true if EQ */ + v = (tto == TOKEN_EQ); /* equal, so return true if EQ */ break; default: if (is_unknown(e)) v = -1; /* means unknown */ else if (!is_really_simple(e)) { - nasm_error(ERR_NONFATAL, - "`%s': operands differ by a non-scalar", - (j == TOKEN_LE ? "<=" : j == TOKEN_LT ? "<" : j == - TOKEN_GE ? ">=" : ">")); + nasm_nonfatal("`%s': operands differ by a non-scalar", + (tto == TOKEN_LE ? "<=" : + tto == TOKEN_LT ? "<" : + tto == TOKEN_GE ? ">=" : + tto == TOKEN_GT ? ">" : + tto == TOKEN_LEG ? "<=>" : + "<internal error>")); v = 0; /* must set it to _something_ */ } else { int64_t vv = reloc_value(e); - if (vv == 0) - v = (j == TOKEN_LE || j == TOKEN_GE); + if (tto == TOKEN_LEG) + v = (vv < 0) ? -1 : (vv > 0) ? 1 : 0; + else if (vv == 0) + v = (tto == TOKEN_LE || tto == TOKEN_GE); else if (vv > 0) - v = (j == TOKEN_GE || j == TOKEN_GT); + v = (tto == TOKEN_GE || tto == TOKEN_GT); else /* vv < 0 */ - v = (j == TOKEN_LE || j == TOKEN_LT); + v = (tto == TOKEN_LE || tto == TOKEN_LT); } break; } @@ -423,23 +482,23 @@ static expr *rexp3(int critical) return e; } -static expr *expr0(int critical) +static expr *expr0(void) { expr *e, *f; - e = expr1(critical); + e = expr1(); if (!e) return NULL; - while (i == '|') { - i = scan(scpriv, tokval); - f = expr1(critical); + while (tt == '|') { + scan(); + f = expr1(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "`|' operator may only be applied to" - " scalar values"); + nasm_nonfatal("`|' operator may only be applied to" + " scalar values"); } if (is_just_unknown(e) || is_just_unknown(f)) e = unknown_expr(); @@ -449,23 +508,23 @@ static expr *expr0(int critical) return e; } -static expr *expr1(int critical) +static expr *expr1(void) { expr *e, *f; - e = expr2(critical); + e = expr2(); if (!e) return NULL; - while (i == '^') { - i = scan(scpriv, tokval); - f = expr2(critical); + while (tt == '^') { + scan(); + f = expr2(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "`^' operator may only be applied to" - " scalar values"); + nasm_nonfatal("`^' operator may only be applied to" + " scalar values"); } if (is_just_unknown(e) || is_just_unknown(f)) e = unknown_expr(); @@ -475,23 +534,23 @@ static expr *expr1(int critical) return e; } -static expr *expr2(int critical) +static expr *expr2(void) { expr *e, *f; - e = expr3(critical); + e = expr3(); if (!e) return NULL; - while (i == '&') { - i = scan(scpriv, tokval); - f = expr3(critical); + while (tt == '&') { + scan(); + f = expr3(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "`&' operator may only be applied to" - " scalar values"); + nasm_nonfatal("`&' operator may only be applied to" + " scalar values"); } if (is_just_unknown(e) || is_just_unknown(f)) e = unknown_expr(); @@ -501,28 +560,28 @@ static expr *expr2(int critical) return e; } -static expr *expr3(int critical) +static expr *expr3(void) { expr *e, *f; - e = expr4(critical); + e = expr4(); if (!e) return NULL; - while (i == TOKEN_SHL || i == TOKEN_SHR) { - int j = i; - i = scan(scpriv, tokval); - f = expr4(critical); + while (tt == TOKEN_SHL || tt == TOKEN_SHR || tt == TOKEN_SAR) { + int tto = tt; + scan(); + f = expr4(); if (!f) return NULL; if (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f))) { - nasm_error(ERR_NONFATAL, "shift operator may only be applied to" - " scalar values"); + nasm_nonfatal("shift operator may only be applied to" + " scalar values"); } else if (is_just_unknown(e) || is_just_unknown(f)) { e = unknown_expr(); - } else - switch (j) { + } else { + switch (tto) { case TOKEN_SHL: e = scalarvect(reloc_value(e) << reloc_value(f)); break; @@ -530,25 +589,30 @@ static expr *expr3(int critical) e = scalarvect(((uint64_t)reloc_value(e)) >> reloc_value(f)); break; + case TOKEN_SAR: + e = scalarvect(((int64_t)reloc_value(e)) >> + reloc_value(f)); + break; } + } } return e; } -static expr *expr4(int critical) +static expr *expr4(void) { expr *e, *f; - e = expr5(critical); + e = expr5(); if (!e) return NULL; - while (i == '+' || i == '-') { - int j = i; - i = scan(scpriv, tokval); - f = expr5(critical); + while (tt == '+' || tt == '-') { + int tto = tt; + scan(); + f = expr5(); if (!f) return NULL; - switch (j) { + switch (tto) { case '+': e = add_vectors(e, f); break; @@ -560,31 +624,31 @@ static expr *expr4(int critical) return e; } -static expr *expr5(int critical) +static expr *expr5(void) { expr *e, *f; - e = expr6(critical); + e = expr6(); if (!e) return NULL; - while (i == '*' || i == '/' || i == '%' || - i == TOKEN_SDIV || i == TOKEN_SMOD) { - int j = i; - i = scan(scpriv, tokval); - f = expr6(critical); + while (tt == '*' || tt == '/' || tt == '%' || + tt == TOKEN_SDIV || tt == TOKEN_SMOD) { + int tto = tt; + scan(); + f = expr6(); if (!f) return NULL; - if (j != '*' && (!(is_simple(e) || is_just_unknown(e)) || + if (tto != '*' && (!(is_simple(e) || is_just_unknown(e)) || !(is_simple(f) || is_just_unknown(f)))) { - nasm_error(ERR_NONFATAL, "division operator may only be applied to" - " scalar values"); + nasm_nonfatal("division operator may only be applied to" + " scalar values"); return NULL; } - if (j != '*' && !is_just_unknown(f) && reloc_value(f) == 0) { - nasm_error(ERR_NONFATAL, "division by zero"); + if (tto != '*' && !is_just_unknown(f) && reloc_value(f) == 0) { + nasm_nonfatal("division by zero"); return NULL; } - switch (j) { + switch (tto) { case '*': if (is_simple(e)) e = scalar_mult(f, reloc_value(e), true); @@ -593,8 +657,8 @@ static expr *expr5(int critical) else if (is_just_unknown(e) && is_just_unknown(f)) e = unknown_expr(); else { - nasm_error(ERR_NONFATAL, "unable to multiply two " - "non-scalar objects"); + nasm_nonfatal("unable to multiply two " + "non-scalar objects"); return NULL; } break; @@ -648,33 +712,33 @@ static expr *eval_floatize(enum floatize type) }; int sign = 1; int64_t val; - int j; + int i; - i = scan(scpriv, tokval); - if (i != '(') { - nasm_error(ERR_NONFATAL, "expecting `('"); + scan(); + if (tt != '(') { + nasm_nonfatal("expecting `('"); return NULL; } - i = scan(scpriv, tokval); - if (i == '-' || i == '+') { - sign = (i == '-') ? -1 : 1; - i = scan(scpriv, tokval); + scan(); + if (tt == '-' || tt == '+') { + sign = (tt == '-') ? -1 : 1; + scan(); } - if (i != TOKEN_FLOAT) { - nasm_error(ERR_NONFATAL, "expecting floating-point number"); + if (tt != TOKEN_FLOAT) { + nasm_nonfatal("expecting floating-point number"); return NULL; } if (!float_const(tokval->t_charptr, sign, result, formats[type].bytes)) return NULL; - i = scan(scpriv, tokval); - if (i != ')') { - nasm_error(ERR_NONFATAL, "expecting `)'"); + scan(); + if (tt != ')') { + nasm_nonfatal("expecting `)'"); return NULL; } p = result+formats[type].start+formats[type].len; val = 0; - for (j = formats[type].len; j; j--) { + for (i = formats[type].len; i; i--) { p--; val = (val << 8) + *p; } @@ -682,7 +746,7 @@ static expr *eval_floatize(enum floatize type) begintemp(); addtotemp(EXPR_SIMPLE, val); - i = scan(scpriv, tokval); + scan(); return finishtemp(); } @@ -694,54 +758,52 @@ static expr *eval_strfunc(enum strfunc type) bool parens, rn_warn; parens = false; - i = scan(scpriv, tokval); - if (i == '(') { + scan(); + if (tt == '(') { parens = true; - i = scan(scpriv, tokval); + scan(); } - if (i != TOKEN_STR) { - nasm_error(ERR_NONFATAL, "expecting string"); + if (tt != TOKEN_STR) { + nasm_nonfatal("expecting string"); return NULL; } string_len = string_transform(tokval->t_charptr, tokval->t_inttwo, &string, type); if (string_len == (size_t)-1) { - nasm_error(ERR_NONFATAL, "invalid string for transform"); + nasm_nonfatal("invalid string for transform"); return NULL; } val = readstrnum(string, string_len, &rn_warn); if (parens) { - i = scan(scpriv, tokval); - if (i != ')') { - nasm_error(ERR_NONFATAL, "expecting `)'"); + scan(); + if (tt != ')') { + nasm_nonfatal("expecting `)'"); return NULL; } } if (rn_warn) - nasm_error(ERR_WARNING|ERR_PASS1, "character constant too long"); + nasm_warn(WARN_OTHER|ERR_PASS1, "character constant too long"); begintemp(); addtotemp(EXPR_SIMPLE, val); - i = scan(scpriv, tokval); + scan(); return finishtemp(); } static int64_t eval_ifunc(int64_t val, enum ifunc func) { - int errtype; uint64_t uval = (uint64_t)val; int64_t rv; switch (func) { case IFUNC_ILOG2E: case IFUNC_ILOG2W: - errtype = (func == IFUNC_ILOG2E) ? ERR_NONFATAL : ERR_WARNING; - if (!is_power2(uval)) - nasm_error(errtype, "ilog2 argument is not a power of two"); + nasm_error((func == IFUNC_ILOG2E) ? ERR_NONFATAL : ERR_WARNING|WARN_OTHER, + "ilog2 argument is not a power of two"); /* fall through */ case IFUNC_ILOG2F: rv = ilog2_64(uval); @@ -752,7 +814,7 @@ static int64_t eval_ifunc(int64_t val, enum ifunc func) break; default: - nasm_panic(0, "invalid IFUNC token %d", func); + nasm_panic("invalid IFUNC token %d", func); rv = 0; break; } @@ -760,7 +822,7 @@ static int64_t eval_ifunc(int64_t val, enum ifunc func) return rv; } -static expr *expr6(int critical) +static expr *expr6(void) { int32_t type; expr *e; @@ -771,45 +833,45 @@ static expr *expr6(int critical) const char *scope; if (++deadman > nasm_limit[LIMIT_EVAL]) { - nasm_error(ERR_NONFATAL, "expression too long"); + nasm_nonfatal("expression too long"); return NULL; } - switch (i) { + switch (tt) { case '-': - i = scan(scpriv, tokval); - e = expr6(critical); + scan(); + e = expr6(); if (!e) return NULL; return scalar_mult(e, -1L, false); case '+': - i = scan(scpriv, tokval); - return expr6(critical); + scan(); + return expr6(); case '~': - i = scan(scpriv, tokval); - e = expr6(critical); + scan(); + e = expr6(); if (!e) return NULL; if (is_just_unknown(e)) return unknown_expr(); else if (!is_simple(e)) { - nasm_error(ERR_NONFATAL, "`~' operator may only be applied to" + nasm_nonfatal("`~' operator may only be applied to" " scalar values"); return NULL; } return scalarvect(~reloc_value(e)); case '!': - i = scan(scpriv, tokval); - e = expr6(critical); + scan(); + e = expr6(); if (!e) return NULL; if (is_just_unknown(e)) return unknown_expr(); else if (!is_simple(e)) { - nasm_error(ERR_NONFATAL, "`!' operator may only be applied to" + nasm_nonfatal("`!' operator may only be applied to" " scalar values"); return NULL; } @@ -818,14 +880,14 @@ static expr *expr6(int critical) case TOKEN_IFUNC: { enum ifunc func = tokval->t_integer; - i = scan(scpriv, tokval); - e = expr6(critical); + scan(); + e = expr6(); if (!e) return NULL; if (is_just_unknown(e)) return unknown_expr(); else if (!is_simple(e)) { - nasm_error(ERR_NONFATAL, "function may only be applied to" + nasm_nonfatal("function may only be applied to" " scalar values"); return NULL; } @@ -833,15 +895,15 @@ static expr *expr6(int critical) } case TOKEN_SEG: - i = scan(scpriv, tokval); - e = expr6(critical); + scan(); + e = expr6(); if (!e) return NULL; e = segment_part(e); if (!e) return NULL; if (is_unknown(e) && critical) { - nasm_error(ERR_NONFATAL, "unable to determine segment base"); + nasm_nonfatal("unable to determine segment base"); return NULL; } return e; @@ -853,15 +915,15 @@ static expr *expr6(int critical) return eval_strfunc(tokval->t_integer); case '(': - i = scan(scpriv, tokval); - e = bexpr(critical); + scan(); + e = bexpr(); if (!e) return NULL; - if (i != ')') { - nasm_error(ERR_NONFATAL, "expecting `)'"); + if (tt != ')') { + nasm_nonfatal("expecting `)'"); return NULL; } - i = scan(scpriv, tokval); + scan(); return e; case TOKEN_NUM: @@ -873,14 +935,14 @@ static expr *expr6(int critical) case TOKEN_BASE: case TOKEN_DECORATOR: begintemp(); - switch (i) { + switch (tt) { case TOKEN_NUM: addtotemp(EXPR_SIMPLE, tokval->t_integer); break; case TOKEN_STR: tmpval = readstrnum(tokval->t_charptr, tokval->t_inttwo, &rn_warn); if (rn_warn) - nasm_error(ERR_WARNING|ERR_PASS1, "character constant too long"); + nasm_warn(WARN_OTHER|ERR_PASS1, "character constant too long"); addtotemp(EXPR_SIMPLE, tmpval); break; case TOKEN_REG: @@ -898,41 +960,35 @@ static expr *expr6(int critical) * are in preprocess-only mode. */ if (!location.known) { - nasm_error(ERR_NONFATAL, - "%s not supported in preprocess-only mode", - (i == TOKEN_HERE ? "`$'" : - i == TOKEN_BASE ? "`$$'" : - "symbol references")); + nasm_nonfatal("%s not supported in preprocess-only mode", + (tt == TOKEN_HERE ? "`$'" : + tt == TOKEN_BASE ? "`$$'" : + "symbol references")); addtotemp(EXPR_UNKNOWN, 1L); break; } type = EXPR_SIMPLE; /* might get overridden by UNKNOWN */ - if (i == TOKEN_BASE) { + if (tt == TOKEN_BASE) { label_seg = in_absolute ? absolute.segment : location.segment; label_ofs = 0; - } else if (i == TOKEN_HERE) { + } else if (tt == TOKEN_HERE) { label_seg = in_absolute ? absolute.segment : location.segment; label_ofs = in_absolute ? absolute.offset : location.offset; } else { if (!lookup_label(tokval->t_charptr, &label_seg, &label_ofs)) { scope = local_scope(tokval->t_charptr); - if (critical == 2) { - nasm_error(ERR_NONFATAL, "symbol `%s%s' undefined", - scope,tokval->t_charptr); + if (critical) { + nasm_nonfatal("symbol `%s%s' not defined%s", + scope,tokval->t_charptr, + pass_first() ? " before use" : ""); return NULL; - } else if (critical == 1) { - nasm_error(ERR_NONFATAL, - "symbol `%s%s' not defined before use", - scope,tokval->t_charptr); - return NULL; - } else { - if (opflags) - *opflags |= OPFLAG_FORWARD; - type = EXPR_UNKNOWN; - label_seg = NO_SEG; - label_ofs = 1; } + if (opflags) + *opflags |= OPFLAG_FORWARD; + type = EXPR_UNKNOWN; + label_seg = NO_SEG; + label_ofs = 1; } if (opflags && is_extern(tokval->t_charptr)) *opflags |= OPFLAG_EXTERN; @@ -945,53 +1001,47 @@ static expr *expr6(int critical) addtotemp(EXPR_RDSAE, tokval->t_integer); break; } - i = scan(scpriv, tokval); + scan(); return finishtemp(); default: - nasm_error(ERR_NONFATAL, "expression syntax error"); + nasm_nonfatal("expression syntax error"); return NULL; } } expr *evaluate(scanner sc, void *scprivate, struct tokenval *tv, - int *fwref, int critical, struct eval_hints *hints) + int *fwref, bool crit, struct eval_hints *hints) { expr *e; expr *f = NULL; deadman = 0; - + hint = hints; if (hint) hint->type = EAH_NOHINT; - if (critical & CRITICAL) { - critical &= ~CRITICAL; - bexpr = rexp0; - } else - bexpr = expr0; - - scan = sc; + critical = crit; + scanfunc = sc; scpriv = scprivate; tokval = tv; opflags = fwref; - if (tokval->t_type == TOKEN_INVALID) - i = scan(scpriv, tokval); - else - i = tokval->t_type; - while (ntempexprs) /* initialize temporary storage */ nasm_free(tempexprs[--ntempexprs]); - e = bexpr(critical); + tt = tokval->t_type; + if (tt == TOKEN_INVALID) + scan(); + + e = bexpr(); if (!e) return NULL; - if (i == TOKEN_WRT) { - i = scan(scpriv, tokval); /* eat the WRT */ - f = expr6(critical); + if (tt == TOKEN_WRT) { + scan(); /* eat the WRT */ + f = expr6(); if (!f) return NULL; } @@ -1004,14 +1054,14 @@ expr *evaluate(scanner sc, void *scprivate, struct tokenval *tv, int64_t value; begintemp(); if (!is_reloc(f)) { - nasm_error(ERR_NONFATAL, "invalid right-hand operand to WRT"); + nasm_nonfatal("invalid right-hand operand to WRT"); return NULL; } value = reloc_seg(f); if (value == NO_SEG) value = reloc_value(f) | SEG_ABS; else if (!(value & SEG_ABS) && !(value % 2) && critical) { - nasm_error(ERR_NONFATAL, "invalid right-hand operand to WRT"); + nasm_nonfatal("invalid right-hand operand to WRT"); return NULL; } addtotemp(EXPR_WRT, value); @@ -42,7 +42,7 @@ * The evaluator itself. */ expr *evaluate(scanner sc, void *scprivate, struct tokenval *tv, - int *fwref, int critical, struct eval_hints *hints); + int *fwref, bool critical, struct eval_hints *hints); void eval_cleanup(void); diff --git a/asm/float.c b/asm/float.c index e6c7ee81..187b9e5e 100644 --- a/asm/float.c +++ b/asm/float.c @@ -182,9 +182,8 @@ static int32_t read_exponent(const char *string, int32_t max) } else if (*string == '_') { /* do nothing */ } else { - nasm_error(ERR_NONFATAL, - "invalid character in floating-point constant %s: '%c'", - "exponent", *string); + nasm_nonfatal("invalid character in floating-point constant %s: '%c'", + "exponent", *string); return INT32_MAX; } string++; @@ -219,8 +218,7 @@ static bool ieee_flconvert(const char *string, fp_limb *mant, if (!seendot) { seendot = true; } else { - nasm_error(ERR_NONFATAL, - "too many periods in floating-point constant"); + nasm_nonfatal("too many periods in floating-point constant"); return false; } } else if (*string >= '0' && *string <= '9') { @@ -234,9 +232,13 @@ static bool ieee_flconvert(const char *string, fp_limb *mant, *p++ = *string - '0'; } else { if (!warned) { - nasm_error(ERR_WARNING|WARN_FL_TOOLONG|ERR_PASS2, - "floating-point constant significand contains " - "more than %i digits", MANT_DIGITS); + /*! + *!float-toolong [on] too many digits in floating-point number + *! warns about too many digits in floating-point numbers. + */ + nasm_warn(WARN_FLOAT_TOOLONG|ERR_PASS2, + "floating-point constant significand contains " + "more than %i digits", MANT_DIGITS); warned = true; } } @@ -247,9 +249,9 @@ static bool ieee_flconvert(const char *string, fp_limb *mant, } else if (*string == '_') { /* do nothing */ } else { - nasm_error(ERR_NONFATAL|ERR_PASS2, - "invalid character in floating-point constant %s: '%c'", - "significand", *string); + nasm_nonfatalf(ERR_PASS2, + "invalid character in floating-point constant %s: '%c'", + "significand", *string); return false; } string++; @@ -533,8 +535,7 @@ static bool ieee_flconvert_bin(const char *string, int bits, if (!seendot) seendot = true; else { - nasm_error(ERR_NONFATAL, - "too many periods in floating-point constant"); + nasm_nonfatal("too many periods in floating-point constant"); return false; } } else if ((v = hexval(c)) < (unsigned int)radix) { @@ -576,8 +577,7 @@ static bool ieee_flconvert_bin(const char *string, int bits, } else if (c == '_') { /* ignore */ } else { - nasm_error(ERR_NONFATAL, - "floating-point constant: `%c' is invalid character", c); + nasm_nonfatal("floating-point constant: `%c' is invalid character", c); return false; } } @@ -676,8 +676,7 @@ static int to_packed_bcd(const char *str, const char *p, int tv = -1; if (fmt != &ieee_80) { - nasm_error(ERR_NONFATAL, - "packed BCD requires an 80-bit format"); + nasm_nonfatal("packed BCD requires an 80-bit format"); return 0; } @@ -685,10 +684,8 @@ static int to_packed_bcd(const char *str, const char *p, c = *p--; if (c >= '0' && c <= '9') { if (tv < 0) { - if (n == 9) { - nasm_error(ERR_WARNING|ERR_PASS2, - "packed BCD truncated to 18 digits"); - } + if (n == 9) + nasm_warn(WARN_OTHER|ERR_PASS2, "packed BCD truncated to 18 digits"); tv = c-'0'; } else { if (n < 9) @@ -699,8 +696,7 @@ static int to_packed_bcd(const char *str, const char *p, } else if (c == '_') { /* do nothing */ } else { - nasm_error(ERR_NONFATAL, - "invalid character `%c' in packed BCD constant", c); + nasm_nonfatal("invalid character `%c' in packed BCD constant", c); return 0; } } @@ -735,11 +731,7 @@ static int to_float(const char *str, int s, uint8_t *result, const int bits = fmt->bytes * 8; const char *strend; - if (!str[0]) { - nasm_panic(0, - "internal errror: empty string passed to float_const"); - return 0; - } + nasm_assert(str[0]); strend = strchr(str, '\0'); if (strend[-1] == 'P' || strend[-1] == 'p') @@ -764,8 +756,7 @@ static int to_float(const char *str, int s, uint8_t *result, type = FL_INFINITY; break; default: - nasm_error(ERR_NONFATAL, - "internal error: unknown FP constant token `%s'\n", str); + nasm_nonfatal("internal error: unknown FP constant token `%s'", str); type = FL_QNAN; break; } @@ -811,9 +802,8 @@ static int to_float(const char *str, int s, uint8_t *result, if (exponent >= 2 - expmax && exponent <= expmax) { type = FL_NORMAL; } else if (exponent > 0) { - if (pass0 == 1) - nasm_error(ERR_WARNING|WARN_FL_OVERFLOW|ERR_PASS2, - "overflow in floating-point constant"); + nasm_warn(WARN_FLOAT_OVERFLOW|ERR_PASS2, + "overflow in floating-point constant"); type = FL_INFINITY; } else { /* underflow or denormal; the denormal code handles @@ -846,13 +836,21 @@ static int to_float(const char *str, int s, uint8_t *result, mant[0] |= exponent << (LIMB_BITS-1 - fmt->exponent); } else { if (daz || is_zero(mant)) { - /* Flush denormals to zero */ - nasm_error(ERR_WARNING|WARN_FL_UNDERFLOW|ERR_PASS2, - "underflow in floating-point constant"); + /*! + *!float-underflow [off] floating point underflow + *! warns about floating point underflow (a nonzero + *! constant rounded to zero.) + */ + nasm_warn(WARN_FLOAT_UNDERFLOW|ERR_PASS2, + "underflow in floating-point constant"); goto zero; } else { - nasm_error(ERR_WARNING|WARN_FL_DENORM|ERR_PASS2, - "denormal floating-point constant"); + /*! + *!float-denorm [off] floating point denormal + *! warns about denormal floating point constants. + */ + nasm_warn(WARN_FLOAT_DENORM|ERR_PASS2, + "denormal floating-point constant"); } } break; @@ -867,8 +865,12 @@ static int to_float(const char *str, int s, uint8_t *result, ieee_shr(mant, 1); exponent++; if (exponent >= (expmax << 1)-1) { - nasm_error(ERR_WARNING|WARN_FL_OVERFLOW|ERR_PASS2, - "overflow in floating-point constant"); + /*! + *!float-overflow [on] floating point overflow + *! warns about floating point underflow. + */ + nasm_warn(WARN_FLOAT_OVERFLOW|ERR_PASS2, + "overflow in floating-point constant"); type = FL_INFINITY; goto overflow; } @@ -919,7 +921,7 @@ int float_const(const char *number, int sign, uint8_t *result, int bytes) case 16: return to_float(number, sign, result, &ieee_128); default: - nasm_panic(0, "strange value %d passed to float_const", bytes); + nasm_panic("strange value %d passed to float_const", bytes); return 0; } } diff --git a/asm/labels.c b/asm/labels.c index 20107603..93eaa2de 100644 --- a/asm/labels.c +++ b/asm/labels.c @@ -156,7 +156,7 @@ static void out_symdef(union label *lptr) int64_t backend_offset; /* Backend-defined special segments are passed to symdef immediately */ - if (pass0 == 2) { + if (pass_final()) { /* Emit special fixups for globals and commons */ switch (lptr->defn.type) { case LBL_GLOBAL: @@ -171,7 +171,7 @@ static void out_symdef(union label *lptr) return; } - if (pass0 != 1 && lptr->defn.type != LBL_BACKEND) + if (pass_type() != PASS_STAB && lptr->defn.type != LBL_BACKEND) return; /* Clean up this hack... */ @@ -383,15 +383,14 @@ static bool declare_label_lptr(union label *lptr, special = NULL; if (lptr->defn.type == type || - (pass0 == 0 && lptr->defn.type == LBL_LOCAL)) { + (!pass_stable() && lptr->defn.type == LBL_LOCAL)) { lptr->defn.type = type; if (special) { if (!lptr->defn.special) lptr->defn.special = perm_copy(special); else if (nasm_stricmp(lptr->defn.special, special)) - nasm_error(ERR_NONFATAL, - "symbol `%s' has inconsistent attributes `%s' and `%s'", - lptr->defn.label, lptr->defn.special, special); + nasm_nonfatal("symbol `%s' has inconsistent attributes `%s' and `%s'", + lptr->defn.label, lptr->defn.special, special); } return true; } @@ -414,8 +413,8 @@ static bool declare_label_lptr(union label *lptr, return false; /* Don't call define_label() after this! */ } - nasm_error(ERR_NONFATAL, "symbol `%s' declared both as %s and %s", - lptr->defn.label, types[lptr->defn.type], types[type]); + nasm_nonfatal("symbol `%s' declared both as %s and %s", + lptr->defn.label, types[lptr->defn.type], types[type]); return false; } @@ -436,13 +435,14 @@ void define_label(const char *label, int32_t segment, union label *lptr; bool created, changed; int64_t size; - int64_t lastdef; + int64_t lpass, lastdef; /* - * The backend may invoke this before pass 1, so treat that as - * a special "pass". + * The backend may invoke this during initialization, at which + * pass_count() is zero, so add one so we never have a zero value + * for a defined variable. */ - const int64_t lpass = passn + 1; + lpass = pass_count() + 1; /* * Phase errors here can be one of two types: a new label appears, @@ -503,15 +503,18 @@ void define_label(const char *label, int32_t segment, * Defined elsewhere in the program, seen in this pass. */ if (changed) { - nasm_error(ERR_NONFATAL, - "label `%s' inconsistently redefined", - lptr->defn.label); + nasm_nonfatal("label `%s' inconsistently redefined", lptr->defn.label); noteflags = ERR_NOTE|ERR_HERE; } else { - nasm_error(ERR_WARNING|WARN_LABEL_REDEF|ERR_PASS2, - "label `%s' redefined to an identical value", - lptr->defn.label); - noteflags = ERR_NOTE|ERR_HERE|WARN_LABEL_REDEF|ERR_PASS2; + /*! + *!label-redef [off] label redefined to an identical value + *! warns if a label is defined more than once, but the + *! value is identical. It is an unconditional error to + *! define the same label more than once to \e{different} values. + */ + nasm_warn(WARN_LABEL_REDEF, + "label `%s' redefined to an identical value", lptr->defn.label); + noteflags = ERR_NOTE|ERR_HERE|WARN_LABEL_REDEF; } src_get(&saved_line, &saved_fname); @@ -519,17 +522,24 @@ void define_label(const char *label, int32_t segment, nasm_error(noteflags, "label `%s' originally defined", lptr->defn.label); src_set(saved_line, saved_fname); - } else if (changed && pass0 > 1 && lptr->defn.type != LBL_SPECIAL) { - /* + } else if (changed && pass_final() && lptr->defn.type != LBL_SPECIAL) { + /*! + *!label-redef-late [err] label (re)defined during code generation + *! the value of a label changed during the final, code-generation + *! pass. This may be the result of strange use of the + *! preprocessor. This is very likely to produce incorrect code and + *! may end up being an unconditional error in a future + *! version of NASM. + * * WARN_LABEL_LATE defaults to an error, as this should never * actually happen. Just in case this is a backwards * compatibility problem, still make it a warning so that the * user can suppress or demote it. * - * As a special case, LBL_SPECIAL symbols are allowed to be changed - * even during the last pass. + * Note: As a special case, LBL_SPECIAL symbols are allowed + * to be changed even during the last pass. */ - nasm_error(ERR_WARNING|WARN_LABEL_LATE, + nasm_warn(WARN_LABEL_REDEF_LATE, "label `%s' %s during code generation", lptr->defn.label, created ? "defined" : "changed"); } @@ -558,8 +568,6 @@ void backend_label(const char *label, int32_t segment, int64_t offset) int init_labels(void) { - hash_init(<ab, HASH_LARGE); - ldata = lfree = nasm_malloc(LBLK_SIZE); init_block(lfree); diff --git a/asm/listing.c b/asm/listing.c index 4d753dbd..67c07fc9 100644 --- a/asm/listing.c +++ b/asm/listing.c @@ -46,6 +46,7 @@ #include "nasm.h" #include "nasmlib.h" #include "error.h" +#include "strlist.h" #include "listing.h" #define LIST_MAX_LEN 256 /* something sensible */ @@ -67,11 +68,7 @@ static char xdigit[] = "0123456789ABCDEF"; static char listline[LIST_MAX_LEN]; static bool listlinep; -struct list_error { - struct list_error *next; - char str[1]; -}; -struct list_error *listerr_head, **listerr_tail; +struct strlist *list_errors; static char listdata[2 * LIST_INDENT]; /* we need less than that actually */ static int32_t listoffset; @@ -89,7 +86,7 @@ static FILE *listfp; static void list_emit(void) { int i; - struct list_error *le, *tmp; + const struct strlist_entry *e; if (listlinep || *listdata) { fprintf(listfp, "%6"PRId32" ", listlineno); @@ -114,21 +111,23 @@ static void list_emit(void) listdata[0] = '\0'; } - list_for_each_safe(le, tmp, listerr_head) { - fprintf(listfp, "%6"PRId32" ", listlineno); - for (i = 0; i < LIST_HEXBIT; i++) - putc('*', listfp); + if (list_errors) { + strlist_for_each(e, list_errors) { + fprintf(listfp, "%6"PRId32" ", listlineno); + for (i = 0; i < LIST_HEXBIT; i++) + putc('*', listfp); + + if (listlevel_e) + fprintf(listfp, " %s<%d>", (listlevel < 10 ? " " : ""), + listlevel_e); + else + fprintf(listfp, " "); - if (listlevel_e) - fprintf(listfp, " %s<%d>", (listlevel < 10 ? " " : ""), - listlevel_e); - else - fprintf(listfp, " "); + fprintf(listfp, " %s\n", e->str); + } - fprintf(listfp, " %s\n", le->str); - nasm_free(le); + strlist_free(&list_errors); } - listerr_tail = &listerr_head; } static void list_init(const char *fname) @@ -140,15 +139,13 @@ static void list_init(const char *fname) listfp = nasm_open_write(fname, NF_TEXT); if (!listfp) { - nasm_error(ERR_NONFATAL, "unable to open listing file `%s'", - fname); + nasm_nonfatal("unable to open listing file `%s'", fname); return; } *listline = '\0'; listlineno = 0; - listerr_head = NULL; - listerr_tail = &listerr_head; + list_errors = NULL; listp = true; listlevel = 0; suppress = 0; @@ -331,30 +328,20 @@ static void list_downlevel(int type) } } -static void list_error(int severity, const char *fmt, ...) +static void list_error(errflags severity, const char *fmt, ...) { - struct list_error *le; va_list ap; - int len; if (!listfp) return; - va_start(ap, fmt); - len = vsnprintf(NULL, 0, fmt, ap); - va_end(ap); - - /* sizeof(*le) already accounts for the final NULL */ - le = nasm_malloc(sizeof(*le) + len); + if (!list_errors) + list_errors = strlist_alloc(false); va_start(ap, fmt); - vsnprintf(le->str, len+1, fmt, ap); + strlist_vprintf(list_errors, fmt, ap); va_end(ap); - le->next = NULL; - *listerr_tail = le; - listerr_tail = &le->next; - if ((severity & ERR_MASK) >= ERR_FATAL) list_emit(); } diff --git a/asm/listing.h b/asm/listing.h index f3ddb0e0..1751c7f7 100644 --- a/asm/listing.h +++ b/asm/listing.h @@ -96,7 +96,7 @@ struct lfmt { /* * Called on a warning or error, with the error message. */ - void printf_func(2, 3) (*error)(int severity, const char *fmt, ...); + void printf_func(2, 3) (*error)(errflags severity, const char *fmt, ...); /* * Update the current offset. Used to give the listing generator @@ -41,11 +41,11 @@ #include <stdarg.h> #include <stdlib.h> #include <string.h> -#include <ctype.h> #include <limits.h> #include "nasm.h" #include "nasmlib.h" +#include "nctype.h" #include "error.h" #include "saa.h" #include "raa.h" @@ -75,9 +75,9 @@ struct forwrefinfo { /* info held on forward refs. */ }; static void parse_cmdline(int, char **, int); -static void assemble_file(const char *, StrList **); -static bool skip_this_pass(int severity); -static void nasm_verror_asm(int severity, const char *fmt, va_list args); +static void assemble_file(const char *, struct strlist *); +static bool skip_this_pass(errflags severity); +static void nasm_verror_asm(errflags severity, const char *fmt, va_list args); static void usage(void); static void help(char xopt); @@ -90,6 +90,7 @@ struct error_format { static const struct error_format errfmt_gnu = { ":", "", ": " }; static const struct error_format errfmt_msvc = { "(", ")", " : " }; static const struct error_format *errfmt = &errfmt_gnu; +static struct strlist *warn_list; static bool using_debug_info, opt_verbose_info; static const char *debug_format; @@ -101,9 +102,12 @@ static bool abort_on_panic = ABORT_ON_PANIC; static bool keep_all; bool tasm_compatible_mode = false; -int pass0; -int64_t passn; -static int pass1, pass2; /* XXX: Get rid of these, they are redundant */ +enum pass_type _pass_type; +const char * const _pass_types[] = +{ + "init", "first", "optimize", "stabilize", "final" +}; +int64_t _passn; int globalrel = 0; int globalbnd = 0; @@ -116,7 +120,6 @@ static const char *errname; static int64_t globallineno; /* for forward-reference tracking */ -/* static int pass = 0; */ const struct ofmt *ofmt = &OF_DEFAULT; const struct ofmt_alias *ofmt_alias = NULL; const struct dfmt *dfmt; @@ -141,7 +144,7 @@ static struct SAA *forwrefs; /* keep track of forward references */ static const struct forwrefinfo *forwref; static const struct preproc_ops *preproc; -static StrList *include_path; +static struct strlist *include_path; bool pp_noline; /* Ignore %line directives */ #define OP_NORMAL (1U << 0) @@ -155,7 +158,7 @@ static bool depend_emit_phony = false; static bool depend_missing_ok = false; static const char *depend_target = NULL; static const char *depend_file = NULL; -StrList *depend_list; +struct strlist *depend_list; static bool want_usage; static bool terminate_after_phase; @@ -200,8 +203,8 @@ nasm_set_limit(const char *limit, const char *valstr) break; } if (i > LIMIT_MAX) { - if (passn == 0) - errlevel = ERR_WARNING|ERR_NOFILE|ERR_USAGE; + if (not_started()) + errlevel = ERR_WARNING|WARN_OTHER|ERR_USAGE; else errlevel = ERR_WARNING|ERR_PASS1|WARN_UNKNOWN_PRAGMA; nasm_error(errlevel, "unknown limit: `%s'", limit); @@ -213,8 +216,8 @@ nasm_set_limit(const char *limit, const char *valstr) } else { val = readnum(valstr, &rn_error); if (rn_error || val < 0) { - if (passn == 0) - errlevel = ERR_WARNING|ERR_NOFILE|ERR_USAGE; + if (not_started()) + errlevel = ERR_WARNING|WARN_OTHER|ERR_USAGE; else errlevel = ERR_WARNING|ERR_PASS1|WARN_BAD_PRAGMA; nasm_error(errlevel, "invalid limit value: `%s'", limit); @@ -336,25 +339,23 @@ static void define_macros(void) * Command-line specified preprocessor directives (-p, -d, -u, * --pragma, --before) are processed after this function. */ -static void preproc_init(void) +static void preproc_init(struct strlist *ipath) { - StrList *ip, *iptmp; - preproc->init(); define_macros(); - list_for_each_safe(ip, iptmp, include_path) { - preproc->include_path(ip->str); - nasm_free(ip); - } + preproc->include_path(ipath); } -static void emit_dependencies(StrList *list) +static void emit_dependencies(struct strlist *list) { FILE *deps; int linepos, len; - StrList *l, *nl; bool wmake = (quote_for_make == quote_for_wmake); const char *wrapstr, *nulltarget; + const struct strlist_entry *l; + + if (!list) + return; wrapstr = wmake ? " &\n " : " \\\n "; nulltarget = wmake ? "\t%null\n" : ""; @@ -362,8 +363,7 @@ static void emit_dependencies(StrList *list) if (depend_file && strcmp(depend_file, "-")) { deps = nasm_open_write(depend_file, NF_TEXT); if (!deps) { - nasm_error(ERR_NONFATAL|ERR_NOFILE|ERR_USAGE, - "unable to write dependency file `%s'", depend_file); + nasm_nonfatal("unable to write dependency file `%s'", depend_file); return; } } else { @@ -371,7 +371,7 @@ static void emit_dependencies(StrList *list) } linepos = fprintf(deps, "%s :", depend_target); - list_for_each(l, list) { + strlist_for_each(l, list) { char *file = quote_for_make(l->str); len = strlen(file); if (linepos + len > 62 && linepos > 1) { @@ -384,15 +384,16 @@ static void emit_dependencies(StrList *list) } fprintf(deps, "\n\n"); - list_for_each_safe(l, nl, list) { + strlist_for_each(l, list) { if (depend_emit_phony) { char *file = quote_for_make(l->str); fprintf(deps, "%s :\n%s\n", file, nulltarget); nasm_free(file); } - nasm_free(l); } + strlist_free(&list); + if (deps != stdout) fclose(deps); } @@ -452,8 +453,6 @@ static void timestamp(void) int main(int argc, char **argv) { - StrList **depend_ptr; - timestamp(); error_file = stderr; @@ -461,11 +460,15 @@ int main(int argc, char **argv) iflag_set_default_cpu(&cpu); iflag_set_default_cpu(&cmd_cpu); - pass0 = 0; + include_path = strlist_alloc(true); + + _pass_type = PASS_INIT; + _passn = 0; + want_usage = terminate_after_phase = false; nasm_set_verror(nasm_verror_asm); - tolower_init(); + nasm_ctype_init(); src_init(); /* @@ -494,18 +497,16 @@ int main(int argc, char **argv) dfmt = &null_debug_form; } else if (!debug_format) { /* Default debug format for this backend */ - dfmt = ofmt->default_dfmt; + dfmt = ofmt->default_dfmt; } else { dfmt = dfmt_find(ofmt, debug_format); if (!dfmt) { - nasm_fatal(ERR_USAGE, - "unrecognized debug format `%s' for" - " output format `%s'", + nasm_fatalf(ERR_USAGE, "unrecognized debug format `%s' for output format `%s'", debug_format, ofmt->shortname); } } - preproc_init(); + preproc_init(include_path); parse_cmdline(argc, argv, 2); if (terminate_after_phase) { @@ -515,7 +516,7 @@ int main(int argc, char **argv) } /* Save away the default state of warnings */ - memcpy(warning_state_init, warning_state, sizeof warning_state); + memcpy(warning_state_init, warning_state, sizeof warning_state_init); /* Dependency filename if we are also doing other things */ if (!depend_file && (operating_mode & ~OP_DEPEND)) { @@ -534,13 +535,11 @@ int main(int argc, char **argv) outname = filename_set_extension(inname, ofmt->extension); if (!strcmp(outname, inname)) { outname = "nasm.out"; - nasm_error(ERR_WARNING, - "default output file same as input, using `%s' for output\n", - outname); + nasm_warn(WARN_OTHER, "default output file same as input, using `%s' for output\n", outname); } } - depend_ptr = (operating_mode & OP_DEPEND) ? &depend_list : NULL; + depend_list = (operating_mode & OP_DEPEND) ? strlist_alloc(true) : NULL; if (!depend_target) depend_target = quote_for_make(outname); @@ -551,11 +550,11 @@ int main(int argc, char **argv) if (depend_missing_ok) preproc->include_path(NULL); /* "assume generated" */ - preproc->reset(inname, 0, depend_ptr); + preproc->reset(inname, PP_DEPS, depend_list); ofile = NULL; while ((line = preproc->getline())) nasm_free(line); - preproc->cleanup(0); + preproc->cleanup_pass(); } else if (operating_mode & OP_PREPROCESS) { char *line; const char *file_name = NULL; @@ -565,17 +564,17 @@ int main(int argc, char **argv) if (outname) { ofile = nasm_open_write(outname, NF_TEXT); if (!ofile) - nasm_fatal(0, "unable to open output file `%s'", outname); + nasm_fatal("unable to open output file `%s'", outname); } else ofile = NULL; location.known = false; - /* pass = 1; */ - preproc->reset(inname, 3, depend_ptr); + _pass_type = PASS_FIRST; /* We emulate this assembly pass */ + preproc->reset(inname, PP_PREPROC, depend_list); - /* Revert all warnings to the default state */ - memcpy(warning_state, warning_state_init, sizeof warning_state); + /* Revert all warnings to the default state */ + memcpy(warning_state, warning_state_init, sizeof warning_state); while ((line = preproc->getline())) { /* @@ -597,7 +596,7 @@ int main(int argc, char **argv) nasm_fputs(line, ofile); nasm_free(line); } - preproc->cleanup(0); + preproc->cleanup_pass(); if (ofile) fclose(ofile); if (ofile && terminate_after_phase && !keep_all) @@ -608,23 +607,19 @@ int main(int argc, char **argv) if (operating_mode & OP_NORMAL) { ofile = nasm_open_write(outname, (ofmt->flags & OFMT_TEXT) ? NF_TEXT : NF_BINARY); if (!ofile) - nasm_fatal(ERR_NOFILE, - "unable to open output file `%s'", outname); + nasm_fatal("unable to open output file `%s'", outname); ofmt->init(); dfmt->init(); - assemble_file(inname, depend_ptr); + assemble_file(inname, depend_list); if (!terminate_after_phase) { ofmt->cleanup(); cleanup_labels(); fflush(ofile); - if (ferror(ofile)) { - nasm_error(ERR_NONFATAL|ERR_NOFILE, - "write error on output file `%s'", outname); - terminate_after_phase = true; - } + if (ferror(ofile)) + nasm_nonfatal("write error on output file `%s'", outname); } if (ofile) { @@ -635,6 +630,8 @@ int main(int argc, char **argv) } } + preproc->cleanup_session(); + if (depend_list && !terminate_after_phase) emit_dependencies(depend_list); @@ -646,6 +643,7 @@ int main(int argc, char **argv) eval_cleanup(); stdscan_cleanup(); src_free(); + strlist_free(&include_path); return terminate_after_phase; } @@ -663,8 +661,7 @@ static char *get_param(char *p, char *q, bool *advance) *advance = true; return q; } - nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE, - "option `-%c' requires an argument", p[1]); + nasm_nonfatalf(ERR_USAGE, "option `-%c' requires an argument", p[1]); return NULL; } @@ -674,7 +671,7 @@ static char *get_param(char *p, char *q, bool *advance) static void copy_filename(const char **dst, const char *src, const char *what) { if (*dst) - nasm_fatal(0, "more than one %s file specified: %s\n", what, src); + nasm_fatal("more than one %s file specified: %s\n", what, src); *dst = nasm_strdup(src); } @@ -907,7 +904,7 @@ static bool process_arg(char *p, char *q, int pass) if (pass == 1) { ofmt = ofmt_find(param, &ofmt_alias); if (!ofmt) { - nasm_fatal(ERR_USAGE, "unrecognised output format `%s' - use -hf for a list", param); + nasm_fatalf(ERR_USAGE, "unrecognised output format `%s' - use -hf for a list", param); } } break; @@ -946,8 +943,7 @@ static bool process_arg(char *p, char *q, int pass) break; default: - nasm_fatal(0, - "unknown optimization option -O%c\n", + nasm_fatal("unknown optimization option -O%c\n", *param); break; } @@ -979,7 +975,7 @@ static bool process_arg(char *p, char *q, int pass) case 'i': /* include search path */ case 'I': if (pass == 1) - nasm_add_string_to_strlist(&include_path, param); + strlist_add(include_path, param); break; case 'l': /* listing file */ @@ -1006,7 +1002,7 @@ static bool process_arg(char *p, char *q, int pass) else if (!nasm_stricmp("gnu", param) || !nasm_stricmp("gcc", param)) errfmt = &errfmt_gnu; else - nasm_fatal(ERR_USAGE, "unrecognized error reporting format `%s'", param); + nasm_fatalf(ERR_USAGE, "unrecognized error reporting format `%s'", param); } break; @@ -1031,8 +1027,10 @@ static bool process_arg(char *p, char *q, int pass) break; case 't': - if (pass == 2) + if (pass == 2) { tasm_compatible_mode = true; + nasm_ctype_tasm_mode(); + } break; case 'v': @@ -1052,12 +1050,8 @@ static bool process_arg(char *p, char *q, int pass) case 'w': case 'W': - if (pass == 2) { - if (!set_warning_status(param)) { - nasm_error(ERR_WARNING|ERR_NOFILE|WARN_UNK_WARNING, - "unknown warning option: %s", param); - } - } + if (pass == 2) + set_warning_status(param); break; case 'M': @@ -1110,14 +1104,12 @@ static bool process_arg(char *p, char *q, int pass) /* handled in pass 1 */ break; default: - nasm_error(ERR_NONFATAL|ERR_NOFILE|ERR_USAGE, - "unknown dependency option `-M%c'", p[2]); + nasm_nonfatalf(ERR_USAGE, "unknown dependency option `-M%c'", p[2]); break; } } if (advance && (!q || !q[0])) { - nasm_error(ERR_NONFATAL|ERR_NOFILE|ERR_USAGE, - "option `-M%c' requires a parameter", p[2]); + nasm_nonfatalf(ERR_USAGE, "option `-M%c' requires a parameter", p[2]); break; } break; @@ -1154,8 +1146,7 @@ static bool process_arg(char *p, char *q, int pass) } if (!tx->label) { - nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE, - "unrecognized option `--%s'", p); + nasm_nonfatalf(ERR_USAGE, "unrecognized option `--%s'", p); } eqsave = param = strchr(p+olen, '='); @@ -1170,17 +1161,12 @@ static bool process_arg(char *p, char *q, int pass) /* Note: a null string is a valid parameter */ if (!param) { - nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE, - "option `--%s' requires an argument", - p); + nasm_nonfatalf(ERR_USAGE, "option `--%s' requires an argument", p); break; } } else { if (param) { - nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE, - "option `--%s' does not take an argument", - p); - + nasm_nonfatalf(ERR_USAGE, "option `--%s' does not take an argument", p); } } @@ -1231,8 +1217,7 @@ static bool process_arg(char *p, char *q, int pass) } default: - nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE, - "unrecognised option `-%c'", p[1]); + nasm_nonfatalf(ERR_USAGE, "unrecognised option `-%c'", p[1]); break; } } else if (pass == 2) { @@ -1349,14 +1334,13 @@ static void parse_cmdline(int argc, char **argv, int pass) { FILE *rfile; char *envreal, *envcopy = NULL, *p; - int i; /* * Initialize all the warnings to their default state, including * warning index 0 used for "always on". */ - for (i = 0; i < WARN_ALL; i++) - warning_state_init[i] = warning_state[i] = warnings[i].state; + memcpy(warning_state, warning_default, sizeof warning_state); + memcpy(warning_state_init, warning_default, sizeof warning_state_init); /* * First, process the NASMENV environment variable. @@ -1393,9 +1377,9 @@ static void parse_cmdline(int argc, char **argv, int pass) if (rfile) { process_respfile(rfile, pass); fclose(rfile); - } else - nasm_error(ERR_NONFATAL | ERR_NOFILE | ERR_USAGE, - "unable to open response file `%s'", p); + } else { + nasm_nonfatalf(ERR_USAGE, "unable to open response file `%s'", p); + } } } else advance = process_arg(argv[0], argc > 1 ? argv[1] : NULL, pass); @@ -1410,23 +1394,23 @@ static void parse_cmdline(int argc, char **argv, int pass) return; if (!inname) - nasm_fatal(ERR_USAGE, "no input file specified"); + nasm_fatalf(ERR_USAGE, "no input file specified"); else if ((errname && !strcmp(inname, errname)) || (outname && !strcmp(inname, outname)) || (listname && !strcmp(inname, listname)) || (depend_file && !strcmp(inname, depend_file))) - nasm_fatal(ERR_USAGE, "will not overwrite input file"); + nasm_fatalf(ERR_USAGE, "will not overwrite input file"); if (errname) { error_file = nasm_open_write(errname, NF_TEXT); if (!error_file) { error_file = stderr; /* Revert to default! */ - nasm_fatal(ERR_USAGE, "cannot open file `%s' for error messages", errname); + nasm_fatalf(ERR_USAGE, "cannot open file `%s' for error messages", errname); } } } -static void assemble_file(const char *fname, StrList **depend_ptr) +static void assemble_file(const char *fname, struct strlist *depend_list) { char *line; insn output_ins; @@ -1439,34 +1423,49 @@ static void assemble_file(const char *fname, StrList **depend_ptr) break; case 32: if (!iflag_cpu_level_ok(&cmd_cpu, IF_386)) - nasm_fatal(0, "command line: 32-bit segment size requires a higher cpu"); + nasm_fatal("command line: 32-bit segment size requires a higher cpu"); break; case 64: if (!iflag_cpu_level_ok(&cmd_cpu, IF_X86_64)) - nasm_fatal(0, "command line: 64-bit segment size requires a higher cpu"); + nasm_fatal("command line: 64-bit segment size requires a higher cpu"); break; default: panic(); break; } - prev_offset_changed = nasm_limit[LIMIT_PASSES]; - for (passn = 1; pass0 <= 2; passn++) { - pass1 = pass0 == 2 ? 2 : 1; /* 1, 1, 1, ..., 1, 2 */ - pass2 = passn > 1 ? 2 : 1; /* 1, 2, 2, ..., 2, 2 */ - /* pass0 0, 0, 0, ..., 1, 2 */ + prev_offset_changed = INT64_MAX; + + if (listname && !keep_all) { + /* Remove the list file in case we die before the output pass */ + remove(listname); + } + + while (!terminate_after_phase && !pass_final()) { + _passn++; + if (pass_type() != PASS_OPT || !global_offset_changed) + _pass_type++; + global_offset_changed = 0; + + /* + * Create a warning buffer list unless we are in + * pass 2 (everything will be emitted immediately in pass 2.) + */ + if (warn_list) { + if (warn_list->nstr || pass_final()) + strlist_free(&warn_list); + } + + if (!pass_final() && !warn_list) + warn_list = strlist_alloc(false); globalbits = cmd_sb; /* set 'bits' to command line default */ cpu = cmd_cpu; - if (pass0 == 2) { + if (pass_final()) lfmt->init(listname); - } else if (passn == 1 && listname && !keep_all) { - /* Remove the list file in case we die before the output pass */ - remove(listname); - } + in_absolute = false; - global_offset_changed = 0; /* set by redefine_label */ - if (passn > 1) { + if (!pass_first()) { saa_rewind(forwrefs); forwref = saa_rstruct(forwrefs); raa_free(offsets); @@ -1474,21 +1473,20 @@ static void assemble_file(const char *fname, StrList **depend_ptr) } location.segment = NO_SEG; location.offset = 0; - if (passn == 1) + if (pass_first()) location.known = true; ofmt->reset(); - switch_segment(ofmt->section(NULL, pass2, &globalbits)); - preproc->reset(fname, pass1, pass1 == 2 ? depend_ptr : NULL); + switch_segment(ofmt->section(NULL, &globalbits)); + preproc->reset(fname, PP_NORMAL, pass_final() ? depend_list : NULL); - /* Revert all warnings to the default state */ - memcpy(warning_state, warning_state_init, sizeof warning_state); + /* Revert all warnings to the default state */ + memcpy(warning_state, warning_state_init, sizeof warning_state); globallineno = 0; while ((line = preproc->getline())) { if (++globallineno > nasm_limit[LIMIT_LINES]) - nasm_fatal(0, - "overall line count exceeds the maximum %"PRId64"\n", + nasm_fatal("overall line count exceeds the maximum %"PRId64"\n", nasm_limit[LIMIT_LINES]); /* @@ -1499,7 +1497,7 @@ static void assemble_file(const char *fname, StrList **depend_ptr) goto end_of_line; /* Just do final cleanup */ /* Not a directive, or even something that starts with [ */ - parse_line(pass1, line, &output_ins); + parse_line(line, &output_ins); if (optimizing.level > 0) { if (forwref != NULL && globallineno == forwref->lineno) { @@ -1513,7 +1511,7 @@ static void assemble_file(const char *fname, StrList **depend_ptr) output_ins.forw_ref = false; if (output_ins.forw_ref) { - if (passn == 1) { + if (pass_first()) { for (i = 0; i < output_ins.operands; i++) { if (output_ins.oprs[i].opflags & OPFLAG_FORWARD) { struct forwrefinfo *fwinf = (struct forwrefinfo *)saa_wstruct(forwrefs); @@ -1528,7 +1526,7 @@ static void assemble_file(const char *fname, StrList **depend_ptr) /* forw_ref */ if (output_ins.opcode == I_EQU) { if (!output_ins.label) { - nasm_error(ERR_NONFATAL, "EQU not preceded by label"); + nasm_nonfatal("EQU not preceded by label"); } else if (output_ins.operands == 1 && (output_ins.oprs[0].type & IMMEDIATE) && output_ins.oprs[0].wrt == NO_SEG) { @@ -1547,7 +1545,7 @@ static void assemble_file(const char *fname, StrList **depend_ptr) output_ins.oprs[0].offset | SEG_ABS, output_ins.oprs[1].offset, false); } else { - nasm_error(ERR_NONFATAL, "bad syntax for EQU"); + nasm_nonfatal("bad syntax for EQU"); } } else { /* instruction isn't an EQU */ int32_t n; @@ -1555,7 +1553,7 @@ static void assemble_file(const char *fname, StrList **depend_ptr) nasm_assert(output_ins.times >= 0); for (n = 1; n <= output_ins.times; n++) { - if (pass1 == 1) { + if (!pass_final()) { int64_t l = insn_size(location.segment, location.offset, globalbits, &output_ins); @@ -1664,16 +1662,50 @@ static void assemble_file(const char *fname, StrList **depend_ptr) nasm_free(line); } /* end while (line = preproc->getline... */ - if (global_offset_changed && !terminate_after_phase) { - switch (pass0) { - case 1: - nasm_error(ERR_WARNING|WARN_PHASE, - "phase error during stabilization pass, hoping for the best"); + preproc->cleanup_pass(); + + /* Don't output further messages if we are dead anyway */ + if (terminate_after_phase) + break; + + if (global_offset_changed) { + switch (pass_type()) { + case PASS_OPT: + /* + * This is the only pass type that can be executed more + * than once, and therefore has the ability to stall. + */ + if (global_offset_changed < prev_offset_changed) { + prev_offset_changed = global_offset_changed; + stall_count = 0; + } else { + stall_count++; + } + + if (stall_count > nasm_limit[LIMIT_STALLED] || + pass_count() >= nasm_limit[LIMIT_PASSES]) { + /* No convergence, almost certainly dead */ + nasm_nonfatal("unable to find valid values for all labels " + "after %"PRId64" passes; " + "stalled for %"PRId64", giving up.", + pass_count(), stall_count); + nasm_note("Possible causes: recursive EQUs, macro abuse."); + } + break; + + case PASS_STAB: + /*! + *!phase [off] phase error during stabilization + *! warns about symbols having changed values during + *! the second-to-last assembly pass. This is not + *! inherently fatal, but may be a source of bugs. + */ + nasm_warn(WARN_PHASE, "phase error during stabilization " + "pass, hoping for the best"); break; - case 2: - nasm_error(ERR_NONFATAL, - "phase error during code generation pass"); + case PASS_FINAL: + nasm_nonfatal("phase error during code generation pass"); break; default: @@ -1681,74 +1713,38 @@ static void assemble_file(const char *fname, StrList **depend_ptr) break; } } - - if (pass1 == 1) - preproc->cleanup(1); - - /* - * Always run at least two optimization passes (pass0 == 0); - * things like subsections will fail miserably without that. - * Once we commit to a stabilization pass (pass0 == 1), we can't - * go back, and if something goes bad, we can only hope - * that we don't end up with a phase error at the end. - */ - if ((passn > 1 && !global_offset_changed) || pass0 > 0) { - pass0++; - } else if (global_offset_changed && - global_offset_changed < prev_offset_changed) { - prev_offset_changed = global_offset_changed; - stall_count = 0; - } else { - stall_count++; - } - - if (terminate_after_phase) - break; - - if ((stall_count > nasm_limit[LIMIT_STALLED]) || - (passn >= nasm_limit[LIMIT_PASSES])) { - /* We get here if the labels don't converge - * Example: FOO equ FOO + 1 - */ - nasm_error(ERR_NONFATAL, - "Can't find valid values for all labels " - "after %"PRId64" passes, giving up.", passn); - nasm_error(ERR_NONFATAL, - "Possible causes: recursive EQUs, macro abuse."); - break; - } } - preproc->cleanup(0); - lfmt->cleanup(); - if (!terminate_after_phase && opt_verbose_info) { + if (opt_verbose_info && pass_final()) { /* -On and -Ov switches */ - fprintf(stdout, "info: assembly required 1+%"PRId64"+1 passes\n", - passn-3); + nasm_note("info: assembly required 1+%"PRId64"+2 passes\n", + pass_count()-3); } + + strlist_free(&warn_list); + lfmt->cleanup(); } /** * get warning index; 0 if this is non-suppressible. */ -static size_t warn_index(int severity) +static size_t warn_index(errflags severity) { size_t index; if ((severity & ERR_MASK) >= ERR_FATAL) return 0; /* Fatal errors are never suppressible */ - /* If this is a warning and no index is provided, it is WARN_OTHER */ - if ((severity & (ERR_MASK|WARN_MASK)) == ERR_WARNING) - severity |= WARN_OTHER; + /* Warnings MUST HAVE a warning category specifier! */ + nasm_assert((severity & (ERR_MASK|WARN_MASK)) != ERR_WARNING); index = WARN_IDX(severity); - nasm_assert(index < WARN_ALL); + nasm_assert(index < WARN_IDX_ALL); return index; } -static bool skip_this_pass(int severity) +static bool skip_this_pass(errflags severity) { /* * See if it's a pass-specific error or warning which should be skipped. @@ -1756,15 +1752,13 @@ static bool skip_this_pass(int severity) * resumed from. */ if ((severity & ERR_MASK) >= ERR_FATAL) - return false; + return false; /* - * passn is 1 on the very first pass only. - * pass0 is 2 on the code-generation (final) pass only. - * These are the passes we care about in this case. + * Let's get rid of these flags when and if we can... */ - return (((severity & ERR_PASS1) && passn != 1) || - ((severity & ERR_PASS2) && pass0 != 2)); + return ((severity & ERR_PASS1) && !pass_first()) || + ((severity & ERR_PASS2) && !pass_final()); } /** @@ -1773,7 +1767,7 @@ static bool skip_this_pass(int severity) * @param severity the severity of the warning or error * @return true if we should abort error/warning printing */ -static bool is_suppressed(int severity) +static bool is_suppressed(errflags severity) { if ((severity & ERR_MASK) >= ERR_FATAL) return false; /* Fatal errors can never be suppressed */ @@ -1789,7 +1783,7 @@ static bool is_suppressed(int severity) * @param severity the severity of the warning or error * @return true if we should error out */ -static int true_error_type(int severity) +static errflags true_error_type(errflags severity) { const uint8_t warn_is_err = WARN_ST_ENABLED|WARN_ST_ERROR; int type; @@ -1816,14 +1810,14 @@ static int true_error_type(int severity) * @param severity the severity of the warning or error * @param fmt the printf style format string */ -static void nasm_verror_asm(int severity, const char *fmt, va_list args) +static void nasm_verror_asm(errflags severity, const char *fmt, va_list args) { char msg[1024]; char warnsuf[64]; char linestr[64]; const char *pfx; - int spec_type = severity & ERR_MASK; /* type originally specified */ - int true_type = true_error_type(severity); + errflags spec_type = severity & ERR_MASK; /* type originally specified */ + errflags true_type = true_error_type(severity); const char *currentfile = NULL; int32_t lineno = 0; static const char * const pfx_table[ERR_MASK+1] = { @@ -1835,7 +1829,7 @@ static void nasm_verror_asm(int severity, const char *fmt, va_list args) return; if (!(severity & ERR_NOFILE)) { - src_get(&lineno, ¤tfile); + src_get(&lineno, ¤tfile); if (!currentfile) { currentfile = currentfile ? currentfile : inname && inname[0] ? inname : @@ -1860,9 +1854,9 @@ static void nasm_verror_asm(int severity, const char *fmt, va_list args) vsnprintf(msg, sizeof msg, fmt, args); *warnsuf = 0; if (spec_type == ERR_WARNING) { - snprintf(warnsuf, sizeof warnsuf, " [-w+%s%s]", + snprintf(warnsuf, sizeof warnsuf, " [-w+%s%s]", (true_type >= ERR_NONFATAL) ? "error=" : "", - warnings[warn_index(severity)].name); + warning_name[warn_index(severity)]); } *linestr = 0; @@ -1872,15 +1866,34 @@ static void nasm_verror_asm(int severity, const char *fmt, va_list args) } if (!skip_this_pass(severity)) { - fprintf(error_file, "%s%s%s%s%s%s%s\n", - currentfile ? currentfile : "nasm", - linestr, errfmt->beforemsg, pfx, msg, - (severity & ERR_HERE) ? " here" : "", warnsuf); + const char *file = currentfile ? currentfile : "nasm"; + const char *here = (severity & ERR_HERE) ? " here" : ""; + + if (warn_list && true_type < ERR_NONFATAL) { + /* + * Buffer up warnings until we either get an error + * or we are on the code-generation pass. + */ + strlist_printf(warn_list, "%s%s%s%s%s%s%s", + file, linestr, errfmt->beforemsg, + pfx, msg, here, warnsuf); + } else { + /* If we have buffered warnings, output them now. */ + if (warn_list) { + strlist_write(warn_list, "\n", error_file); + strlist_free(&warn_list); + } + + fprintf(error_file, "%s%s%s%s%s%s%s\n", + file, linestr, errfmt->beforemsg, + pfx, msg, here, warnsuf); + + } } /* Are we recursing from error_list_macros? */ if (severity & ERR_PP_LISTMACRO) - return; + return; /* * Don't suppress this with skip_this_pass(), or we don't get @@ -1932,7 +1945,7 @@ static void nasm_verror_asm(int severity, const char *fmt, va_list args) fflush(NULL); if (abort_on_panic) - abort(); /* halt, catch fire, dump core/stop debugger */ + abort(); /* halt, catch fire, dump core/stop debugger */ if (ofile) { fclose(ofile); @@ -2022,14 +2035,15 @@ static void help(const char xopt) } } - printf("\nWarnings for the -W/-w options: (default in brackets)\n"); + printf("\nWarnings for the -W/-w options: (defaults in brackets)\n"); - for (i = 1; i <= WARN_ALL; i++) + for (i = 1; i <= WARN_IDX_ALL; i++) { printf(" %-23s %s%s\n", - warnings[i].name, warnings[i].help, - i == WARN_ALL ? "\n" : - (warnings[i].state & WARN_ST_ERROR) ? " [error]" : - (warnings[i].state & WARN_ST_ENABLED) ? " [on]" : " [off]"); + warning_name[i], warning_help[i], + i == WARN_IDX_ALL ? "\n" : + (warning_default[i] & WARN_ST_ERROR) ? " [error]" : + (warning_default[i] & WARN_ST_ENABLED) ? " [on]" : " [off]"); + } if (xopt == 'f') { printf("valid output formats for -f are" diff --git a/asm/parser.c b/asm/parser.c index 93eae1b4..9c96732d 100644 --- a/asm/parser.c +++ b/asm/parser.c @@ -98,7 +98,7 @@ static int prefix_slot(int prefix) case P_VEX2: return PPS_VEX; default: - nasm_panic(0, "Invalid value %d passed to prefix_slot()", prefix); + nasm_panic("Invalid value %d passed to prefix_slot()", prefix); return -1; } } @@ -139,8 +139,7 @@ static void process_size_override(insn *result, operand *op) op->type |= BITS128; break; default: - nasm_error(ERR_NONFATAL, - "invalid operand size specification"); + nasm_nonfatal("invalid operand size specification"); break; } } else { @@ -164,8 +163,7 @@ static void process_size_override(insn *result, operand *op) case P_A64: if (result->prefixes[PPS_ASIZE] && result->prefixes[PPS_ASIZE] != tokval.t_integer) - nasm_error(ERR_NONFATAL, - "conflicting address size specifications"); + nasm_nonfatal("conflicting address size specifications"); else result->prefixes[PPS_ASIZE] = tokval.t_integer; break; @@ -183,8 +181,8 @@ static void process_size_override(insn *result, operand *op) op->eaflags |= EAF_WORDOFFS; break; default: - nasm_error(ERR_NONFATAL, "invalid size specification in" - " effective address"); + nasm_nonfatal("invalid size specification in" + " effective address"); break; } } @@ -205,9 +203,8 @@ static bool parse_braces(decoflags_t *decoflags) switch (i) { case TOKEN_OPMASK: if (*decoflags & OPMASK_MASK) { - nasm_error(ERR_NONFATAL, - "opmask k%"PRIu64" is already set", - *decoflags & OPMASK_MASK); + nasm_nonfatal("opmask k%"PRIu64" is already set", + *decoflags & OPMASK_MASK); *decoflags &= ~OPMASK_MASK; } *decoflags |= VAL_OPMASK(nasm_regvals[tokval.t_integer]); @@ -225,9 +222,8 @@ static bool parse_braces(decoflags_t *decoflags) *decoflags |= BRDCAST_MASK | VAL_BRNUM(j - BRC_1TO2); break; default: - nasm_error(ERR_NONFATAL, - "{%s} is not an expected decorator", - tokval.t_charptr); + nasm_nonfatal("{%s} is not an expected decorator", + tokval.t_charptr); break; } break; @@ -235,8 +231,7 @@ static bool parse_braces(decoflags_t *decoflags) case TOKEN_EOS: return false; default: - nasm_error(ERR_NONFATAL, - "only a series of valid decorators expected"); + nasm_nonfatal("only a series of valid decorators expected"); return true; } i = stdscan(NULL, &tokval); @@ -269,8 +264,7 @@ static int parse_mref(operand *op, const expr *e) else if (!is_gpr || e->value != 1) { /* If both want to be index */ - nasm_error(ERR_NONFATAL, - "invalid effective address: two index registers"); + nasm_nonfatal("invalid effective address: two index registers"); return -1; } else b = e->type; @@ -279,8 +273,7 @@ static int parse_mref(operand *op, const expr *e) if (e->type) { /* is there an offset? */ if (e->type <= EXPR_REG_END) { /* in fact, is there an error? */ - nasm_error(ERR_NONFATAL, - "invalid effective address: impossible register"); + nasm_nonfatal("invalid effective address: impossible register"); return -1; } else { if (e->type == EXPR_UNKNOWN) { @@ -305,17 +298,14 @@ static int parse_mref(operand *op, const expr *e) continue; if (e->type <= EXPR_REG_END) { - nasm_error(ERR_NONFATAL, - "invalid effective address: too many registers"); + nasm_nonfatal("invalid effective address: too many registers"); return -1; } else if (e->type < EXPR_SEGBASE) { - nasm_error(ERR_NONFATAL, - "invalid effective address: bad subexpression type"); + nasm_nonfatal("invalid effective address: bad subexpression type"); return -1; } else if (e->value == 1) { if (op->segment != NO_SEG) { - nasm_error(ERR_NONFATAL, - "invalid effective address: multiple base segments"); + nasm_nonfatal("invalid effective address: multiple base segments"); return -1; } op->segment = e->type - EXPR_SEGBASE; @@ -324,8 +314,7 @@ static int parse_mref(operand *op, const expr *e) !(op->opflags & OPFLAG_RELATIVE)) { op->opflags |= OPFLAG_RELATIVE; } else { - nasm_error(ERR_NONFATAL, - "invalid effective address: impossible segment base multiplier"); + nasm_nonfatal("invalid effective address: impossible segment base multiplier"); return -1; } } @@ -426,12 +415,12 @@ static int value_to_extop(expr * vect, extop *eop, int32_t myseg) return 0; } -insn *parse_line(int pass, char *buffer, insn *result) +insn *parse_line(char *buffer, insn *result) { bool insn_is_label = false; struct eval_hints hints; int opnum; - int critical; + bool critical; bool first; bool recover; int i; @@ -462,8 +451,7 @@ restart_parse: i != TOKEN_INSN && i != TOKEN_PREFIX && (i != TOKEN_REG || !IS_SREG(tokval.t_integer))) { - nasm_error(ERR_NONFATAL, - "label or instruction expected at start of line"); + nasm_nonfatal("label or instruction expected at start of line"); goto fail; } @@ -475,8 +463,14 @@ restart_parse: if (i == ':') { /* skip over the optional colon */ i = stdscan(NULL, &tokval); } else if (i == 0) { - nasm_error(ERR_WARNING | WARN_OL | ERR_PASS1, - "label alone on a line without a colon might be in error"); + /*! + *!orphan-labels [on] labels alone on lines without trailing `:' + *! warns about source lines which contain no instruction but define + *! a label without a trailing colon. This is most likely indicative + *! of a typo, but is technically correct NASM syntax (see \k{syntax}.) + */ + nasm_warn(WARN_ORPHAN_LABELS | ERR_PASS1, + "label alone on a line without a colon might be in error"); } if (i != TOKEN_INSN || tokval.t_integer != I_EQU) { /* @@ -507,18 +501,17 @@ restart_parse: expr *value; i = stdscan(NULL, &tokval); - value = evaluate(stdscan, NULL, &tokval, NULL, pass0, NULL); + value = evaluate(stdscan, NULL, &tokval, NULL, pass_stable(), NULL); i = tokval.t_type; if (!value) /* Error in evaluator */ goto fail; if (!is_simple(value)) { - nasm_error(ERR_NONFATAL, - "non-constant argument supplied to TIMES"); + nasm_nonfatal("non-constant argument supplied to TIMES"); result->times = 1L; } else { result->times = value->value; if (value->value < 0) { - nasm_error(ERR_NONFATAL|ERR_PASS2, "TIMES value %"PRId64" is negative", value->value); + nasm_nonfatalf(ERR_PASS2, "TIMES value %"PRId64" is negative", value->value); result->times = 0; } } @@ -526,11 +519,9 @@ restart_parse: int slot = prefix_slot(tokval.t_integer); if (result->prefixes[slot]) { if (result->prefixes[slot] == tokval.t_integer) - nasm_error(ERR_WARNING | ERR_PASS1, - "instruction has redundant prefixes"); + nasm_warn(WARN_OTHER|ERR_PASS1, "instruction has redundant prefixes"); else - nasm_error(ERR_NONFATAL, - "instruction has conflicting prefixes"); + nasm_nonfatal("instruction has conflicting prefixes"); } result->prefixes[slot] = tokval.t_integer; i = stdscan(NULL, &tokval); @@ -560,7 +551,7 @@ restart_parse: result->oprs[0].segment = result->oprs[0].wrt = NO_SEG; return result; } else { - nasm_error(ERR_NONFATAL, "parser: instruction expected"); + nasm_nonfatal("parser: instruction expected"); goto fail; } } @@ -575,11 +566,7 @@ restart_parse: * `critical' flag on calling evaluate(), so that it will bomb * out on undefined symbols. */ - if (result->opcode == I_INCBIN) { - critical = (pass0 < 2 ? 1 : 2); - - } else - critical = (pass == 2 ? 2 : 0); + critical = pass_final() || (result->opcode == I_INCBIN); if (opcode_is_db(result->opcode) || result->opcode == I_INCBIN) { extop *eop, **tail = &result->eops, **fixptr; @@ -627,9 +614,8 @@ restart_parse: i = stdscan(NULL, &tokval); } if (i != TOKEN_STR) { - nasm_error(ERR_NONFATAL, - "%s must be followed by a string constant", - funcname); + nasm_nonfatal("%s must be followed by a string constant", + funcname); eop->type = EOT_NOTHING; } else { eop->type = EOT_DB_STRING_FREE; @@ -637,16 +623,14 @@ restart_parse: string_transform(tokval.t_charptr, tokval.t_inttwo, &eop->stringval, func); if (eop->stringlen == (size_t)-1) { - nasm_error(ERR_NONFATAL, "invalid string for transform"); + nasm_nonfatal("invalid string for transform"); eop->type = EOT_NOTHING; } } if (parens && i && i != ')') { i = stdscan(NULL, &tokval); - if (i != ')') { - nasm_error(ERR_NONFATAL, "unterminated %s function", - funcname); - } + if (i != ')') + nasm_nonfatal("unterminated %s function", funcname); } if (i && i != ',') i = stdscan(NULL, &tokval); @@ -669,12 +653,12 @@ is_float: eop->stringlen = db_bytes(result->opcode); if (eop->stringlen > 16) { - nasm_error(ERR_NONFATAL, "floating-point constant" - " encountered in DY or DZ instruction"); + nasm_nonfatal("floating-point constant" + " encountered in DY or DZ instruction"); eop->stringlen = 0; } else if (eop->stringlen < 1) { - nasm_error(ERR_NONFATAL, "floating-point constant" - " encountered in unknown instruction"); + nasm_nonfatal("floating-point constant" + " encountered in unknown instruction"); /* * fix suggested by Pedro Gimeno... original line was: * eop->type = EOT_NOTHING; @@ -702,9 +686,8 @@ is_expression: if (!value) /* Error in evaluator */ goto fail; if (value_to_extop(value, eop, location.segment)) { - nasm_error(ERR_NONFATAL, - "operand %d: expression is not simple or relocatable", - oper_num); + nasm_nonfatal("operand %d: expression is not simple or relocatable", + oper_num); } } @@ -717,8 +700,7 @@ is_expression: if (i == TOKEN_EOS) /* also could be EOL */ break; if (i != ',') { - nasm_error(ERR_NONFATAL, "comma expected after operand %d", - oper_num); + nasm_nonfatal("comma expected after operand %d", oper_num); goto fail; } } @@ -730,19 +712,18 @@ is_expression: * operands. */ if (!result->eops || result->eops->type != EOT_DB_STRING) - nasm_error(ERR_NONFATAL, "`incbin' expects a file name"); + nasm_nonfatal("`incbin' expects a file name"); else if (result->eops->next && result->eops->next->type != EOT_DB_NUMBER) - nasm_error(ERR_NONFATAL, "`incbin': second parameter is" - " non-numeric"); + nasm_nonfatal("`incbin': second parameter is" + " non-numeric"); else if (result->eops->next && result->eops->next->next && result->eops->next->next->type != EOT_DB_NUMBER) - nasm_error(ERR_NONFATAL, "`incbin': third parameter is" - " non-numeric"); + nasm_nonfatal("`incbin': third parameter is" + " non-numeric"); else if (result->eops->next && result->eops->next->next && result->eops->next->next->next) - nasm_error(ERR_NONFATAL, - "`incbin': more than three parameters"); + nasm_nonfatal("`incbin': more than three parameters"); else return result; /* @@ -751,8 +732,7 @@ is_expression: */ goto fail; } else /* DB ... */ if (oper_num == 0) - nasm_error(ERR_WARNING | ERR_PASS1, - "no operand for data declaration"); + nasm_warn(WARN_OTHER|ERR_PASS1, "no operand for data declaration"); else result->operands = oper_num; @@ -846,7 +826,7 @@ is_expression: op->type |= SHORT; break; default: - nasm_error(ERR_NONFATAL, "invalid operand size specification"); + nasm_nonfatal("invalid operand size specification"); } i = stdscan(NULL, &tokval); } @@ -872,9 +852,8 @@ is_expression: } if ((op->type & FAR) && !mref && - result->opcode != I_JMP && result->opcode != I_CALL) { - nasm_error(ERR_NONFATAL, "invalid use of FAR operand specifier"); - } + result->opcode != I_JMP && result->opcode != I_CALL) + nasm_nonfatal("invalid use of FAR operand specifier"); value = evaluate(stdscan, NULL, &tokval, &op->opflags, critical, &hints); @@ -891,10 +870,9 @@ is_expression: if (value[1].type != 0 || value->value != 1 || !IS_SREG(value->type)) - nasm_error(ERR_NONFATAL, "invalid segment override"); + nasm_nonfatal("invalid segment override"); else if (result->prefixes[PPS_SEG]) - nasm_error(ERR_NONFATAL, - "instruction has conflicting segment overrides"); + nasm_nonfatal("instruction has conflicting segment overrides"); else { result->prefixes[PPS_SEG] = value->type; if (IS_FSGS(value->type)) @@ -944,7 +922,7 @@ is_expression: if (o1.indexreg != -1 || o2.basereg != -1 || o2.offset != 0 || o2.segment != NO_SEG || o2.wrt != NO_SEG) { - nasm_error(ERR_NONFATAL, "invalid mib expression"); + nasm_nonfatal("invalid mib expression"); goto fail; } @@ -972,7 +950,7 @@ is_expression: recover = false; if (mref && bracket) { /* find ] at the end */ if (i != ']') { - nasm_error(ERR_NONFATAL, "parser: expecting ]"); + nasm_nonfatal("parser: expecting ]"); recover = true; } else { /* we got the required ] */ i = stdscan(NULL, &tokval); @@ -982,15 +960,15 @@ is_expression: i = tokval.t_type; } if (i != 0 && i != ',') { - nasm_error(ERR_NONFATAL, "comma or end of line expected"); + nasm_nonfatal("comma or end of line expected"); recover = true; } } } else { /* immediate operand */ if (i != 0 && i != ',' && i != ':' && i != TOKEN_DECORATOR && i != TOKEN_OPMASK) { - nasm_error(ERR_NONFATAL, "comma, colon, decorator or end of " - "line expected after operand"); + nasm_nonfatal("comma, colon, decorator or end of " + "line expected after operand"); recover = true; } else if (i == ':') { op->type |= COLON; @@ -1073,7 +1051,7 @@ is_expression: result->evex_rm = value->value; break; default: - nasm_error(ERR_NONFATAL, "invalid decorator"); + nasm_nonfatal("invalid decorator"); break; } } else { /* it's a register */ @@ -1081,7 +1059,7 @@ is_expression: uint64_t regset_size = 0; if (value->type >= EXPR_SIMPLE || value->value != 1) { - nasm_error(ERR_NONFATAL, "invalid operand type"); + nasm_nonfatal("invalid operand type"); goto fail; } @@ -1101,15 +1079,14 @@ is_expression: } /* fallthrough */ default: - nasm_error(ERR_NONFATAL, "invalid operand type"); + nasm_nonfatal("invalid operand type"); goto fail; } } if ((regset_size & (regset_size - 1)) || regset_size >= (UINT64_C(1) << REGSET_BITS)) { - nasm_error(ERR_NONFATAL | ERR_PASS2, - "invalid register set size"); + nasm_nonfatalf(ERR_PASS2, "invalid register set size"); regset_size = 0; } @@ -1137,7 +1114,7 @@ is_expression: */ if (value->type < EXPR_REG_START || value->type > EXPR_REG_END) { - nasm_error(ERR_NONFATAL, "invalid operand type"); + nasm_nonfatal("invalid operand type"); goto fail; } @@ -1149,8 +1126,7 @@ is_expression: op->basereg = value->type; if (rs && (op->type & SIZE_MASK) != rs) - nasm_error(ERR_WARNING | ERR_PASS1, - "register size specification ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "register size specification ignored"); } } diff --git a/asm/parser.h b/asm/parser.h index cd2d1362..15298cb0 100644 --- a/asm/parser.h +++ b/asm/parser.h @@ -39,7 +39,7 @@ #ifndef NASM_PARSER_H #define NASM_PARSER_H -insn *parse_line(int pass, char *buffer, insn *result); +insn *parse_line(char *buffer, insn *result); void cleanup_insn(insn *instruction); #endif diff --git a/asm/pragma.c b/asm/pragma.c index 85e8c9cd..b6878e9d 100644 --- a/asm/pragma.c +++ b/asm/pragma.c @@ -146,10 +146,20 @@ found_it: case DIRR_UNKNOWN: switch (pragma->opcode) { case D_none: + /*! + *!bad-pragma [off] empty or malformed %pragma + *! warns about a malformed or otherwise unparsable + *! \c{%pragma} directive. + */ nasm_error(ERR_WARNING|ERR_PASS2|WARN_BAD_PRAGMA, "empty %%pragma %s", pragma->facility_name); break; default: + /*! + *!unknown-pragma [off] unknown %pragma facility or directive + *! warns about an unknown \c{%pragma} directive. + *! This is not yet implemented for most cases. + */ nasm_error(ERR_WARNING|ERR_PASS2|WARN_UNKNOWN_PRAGMA, "unknown %%pragma %s %s", pragma->facility_name, pragma->opname); @@ -176,6 +186,13 @@ found_it: return true; } +/* This warning message is intended for future use */ +/*! + *!not-my-pragma [off] %pragma not applicable to this compilation + *! warns about a \c{%pragma} directive which is not applicable to + *! this particular assembly session. This is not yet implemented. + */ + void process_pragma(char *str) { struct pragma pragma; diff --git a/asm/preproc-nop.c b/asm/preproc-nop.c index 3244889d..3d77dd52 100644 --- a/asm/preproc-nop.c +++ b/asm/preproc-nop.c @@ -63,17 +63,19 @@ static void nop_init(void) /* Nothing to do */ } -static void nop_reset(const char *file, int pass, StrList **deplist) +static void nop_reset(const char *file, enum preproc_mode mode, + struct strlist *deplist) { + (void)mode; /* placate compilers */ + src_set(0, file); nop_lineinc = 1; nop_fp = nasm_open_read(file, NF_TEXT); if (!nop_fp) - nasm_fatal(ERR_NOFILE, "unable to open input file `%s'", file); - (void)pass; /* placate compilers */ + nasm_fatalf(ERR_NOFILE, "unable to open input file `%s'", file); - nasm_add_string_to_strlist(deplist, file); + strlist_add(deplist, file); } static char *nop_getline(void) @@ -136,15 +138,19 @@ static char *nop_getline(void) return buffer; } -static void nop_cleanup(int pass) +static void nop_cleanup_pass(void) { - (void)pass; /* placate GCC */ if (nop_fp) { fclose(nop_fp); nop_fp = NULL; } } +static void nop_cleanup_session(void) +{ + /* Nothing we need to do */ +} + static void nop_extra_stdmac(macros_t *macros) { (void)macros; @@ -171,12 +177,12 @@ static void nop_pre_command(const char *what, char *string) (void)string; } -static void nop_include_path(char *path) +static void nop_include_path(struct strlist *list) { - (void)path; + (void)list; } -static void nop_error_list_macros(int severity) +static void nop_error_list_macros(errflags severity) { (void)severity; } @@ -185,7 +191,8 @@ const struct preproc_ops preproc_nop = { nop_init, nop_reset, nop_getline, - nop_cleanup, + nop_cleanup_pass, + nop_cleanup_session, nop_extra_stdmac, nop_pre_define, nop_pre_undefine, diff --git a/asm/preproc.c b/asm/preproc.c index 95ca56fc..9e1d2f44 100644 --- a/asm/preproc.c +++ b/asm/preproc.c @@ -91,7 +91,6 @@ typedef struct Blocks Blocks; typedef struct Line Line; typedef struct Include Include; typedef struct Cond Cond; -typedef struct IncPath IncPath; /* * Note on the storage of both SMacro and MMacros: the hash table @@ -277,16 +276,6 @@ struct Include { }; /* - * Include search path. This is simply a list of strings which get - * prepended, in turn, to the name of an include file, in an - * attempt to find the file if it's not in the current directory. - */ -struct IncPath { - IncPath *next; - char *path; -}; - -/* * File real name hash, so we don't have to re-search the include * path for every pass (and potentially more than that if a file * is used more than once.) @@ -397,15 +386,15 @@ static int LocalOffset = 0; static Context *cstk; static Include *istk; -static IncPath *ipath = NULL; +static const struct strlist *ipath_list; -static int pass; /* HACK: pass 0 = generate dependencies only */ -static StrList **dephead; +static struct strlist *deplist; static uint64_t unique; /* unique identifier numbers */ static Line *predef = NULL; static bool do_predef; +static enum preproc_mode pp_mode; /* * The current set of multi-line macros we have defined. @@ -462,7 +451,7 @@ static Token *expand_smacro(Token * tline); static Token *expand_id(Token * tline); static Context *get_ctx(const char *name, const char **namep); static void make_tok_num(Token * tok, int64_t val); -static void pp_verror(int severity, const char *fmt, va_list ap); +static void pp_verror(errflags severity, const char *fmt, va_list ap); static vefunc real_verror; static void *new_Block(size_t size); static void delete_Blocks(void); @@ -489,9 +478,8 @@ static size_t nasm_unquote_cstr(char *qstr, enum preproc_token directive) size_t clen = strlen(qstr); if (len != clen) - nasm_error(ERR_NONFATAL, "NUL character in `%s' directive", - pp_directives[directive]); - + nasm_nonfatal("NUL character in `%s' directive", + pp_directives[directive]); return clen; } @@ -635,12 +623,13 @@ static void free_mmacro(MMacro * m) */ static void free_smacro_table(struct hash_table *smt) { - SMacro *s, *tmp; - const char *key; - struct hash_tbl_node *it = NULL; + struct hash_iterator it; + const struct hash_node *np; - while ((s = hash_iterate(smt, &it, &key)) != NULL) { - nasm_free((void *)key); + hash_for_each(smt, it, np) { + SMacro *tmp; + SMacro *s = np->data; + nasm_free((void *)np->key); list_for_each_safe(s, tmp, s) { nasm_free(s->name); free_tlist(s->expansion); @@ -652,14 +641,14 @@ static void free_smacro_table(struct hash_table *smt) static void free_mmacro_table(struct hash_table *mmt) { - MMacro *m, *tmp; - const char *key; - struct hash_tbl_node *it = NULL; - - it = NULL; - while ((m = hash_iterate(mmt, &it, &key)) != NULL) { - nasm_free((void *)key); - list_for_each_safe(m ,tmp, m) + struct hash_iterator it; + const struct hash_node *np; + + hash_for_each(mmt, it, np) { + MMacro *tmp; + MMacro *m = np->data; + nasm_free((void *)np->key); + list_for_each_safe(m, tmp, m) free_mmacro(m); } hash_free(mmt); @@ -676,8 +665,6 @@ static void free_macros(void) */ static void init_macros(void) { - hash_init(&smacros, HASH_LARGE); - hash_init(&mmacros, HASH_LARGE); } /* @@ -703,12 +690,14 @@ hash_findi_add(struct hash_table *hash, const char *str) struct hash_insert hi; void **r; char *strx; + size_t l = strlen(str) + 1; - r = hash_findi(hash, str, &hi); + r = hash_findib(hash, str, l, &hi); if (r) return r; - strx = nasm_strdup(str); /* Use a more efficient allocator here? */ + strx = nasm_malloc(l); /* Use a more efficient allocator here? */ + memcpy(strx, str, l); return hash_add(&hi, strx, NULL); } @@ -920,8 +909,7 @@ static Token *tokenize(char *line) p++; } if (*p != '}') - nasm_error(ERR_WARNING | ERR_PASS1, - "unterminated %%{ construct"); + nasm_warn(WARN_OTHER|ERR_PASS1, "unterminated %%{ construct"); p[-1] = '\0'; if (*p) p++; @@ -954,8 +942,7 @@ static Token *tokenize(char *line) if (*p) *p++ = '\0'; if (lvl) - nasm_error(ERR_NONFATAL|ERR_PASS1, - "unterminated %%[ construct"); + nasm_nonfatalf(ERR_PASS1, "unterminated %%[ construct"); type = TOK_INDIRECT; } else if (*p == '?') { type = TOK_PREPROC_Q; /* %? */ @@ -967,41 +954,40 @@ static Token *tokenize(char *line) } else if (*p == '!') { type = TOK_PREPROC_ID; p++; - if (isidchar(*p)) { + if (nasm_isidchar(*p)) { do { p++; } - while (isidchar(*p)); - } else if (*p == '\'' || *p == '\"' || *p == '`') { + while (nasm_isidchar(*p)); + } else if (nasm_isquote(*p)) { p = nasm_skip_string(p); if (*p) p++; else - nasm_error(ERR_NONFATAL|ERR_PASS1, - "unterminated %%! string"); + nasm_nonfatalf(ERR_PASS1, "unterminated %%! string"); } else { /* %! without string or identifier */ type = TOK_OTHER; /* Legacy behavior... */ } - } else if (isidchar(*p) || + } else if (nasm_isidchar(*p) || ((*p == '!' || *p == '%' || *p == '$') && - isidchar(p[1]))) { + nasm_isidchar(p[1]))) { do { p++; } - while (isidchar(*p)); + while (nasm_isidchar(*p)); type = TOK_PREPROC_ID; } else { type = TOK_OTHER; if (*p == '%') p++; } - } else if (isidstart(*p) || (*p == '$' && isidstart(p[1]))) { + } else if (nasm_isidstart(*p) || (*p == '$' && nasm_isidstart(p[1]))) { type = TOK_ID; p++; - while (*p && isidchar(*p)) + while (*p && nasm_isidchar(*p)) p++; - } else if (*p == '\'' || *p == '"' || *p == '`') { + } else if (nasm_isquote(*p)) { /* * A string token. */ @@ -1011,14 +997,14 @@ static Token *tokenize(char *line) if (*p) { p++; } else { - nasm_error(ERR_WARNING|ERR_PASS1, "unterminated string"); + nasm_warn(WARN_OTHER|ERR_PASS1, "unterminated string"); /* Handling unterminated strings by UNV */ /* type = -1; */ } } else if (p[0] == '$' && p[1] == '$') { type = TOK_OTHER; /* TOKEN_BASE */ p += 2; - } else if (isnumstart(*p)) { + } else if (nasm_isnumstart(*p)) { bool is_hex = false; bool is_float = false; bool has_e = false; @@ -1052,7 +1038,7 @@ static Token *tokenize(char *line) is_float = true; if (*p == '+' || *p == '-') p++; - } else if (isnumchar(c)) + } else if (nasm_isnumchar(c)) ; /* just advance */ else if (c == '.') { /* @@ -1254,13 +1240,12 @@ static char *detoken(Token * tlist, bool expand_locals) char *q = t->text; v = t->text + 2; - if (*v == '\'' || *v == '\"' || *v == '`') { + if (nasm_isquote(*v)) { size_t len = nasm_unquote(v, NULL); size_t clen = strlen(v); if (len != clen) { - nasm_error(ERR_NONFATAL | ERR_PASS1, - "NUL character in %%! string"); + nasm_nonfatalf(ERR_PASS1, "NUL character in %%! string"); v = NULL; } } @@ -1268,8 +1253,7 @@ static char *detoken(Token * tlist, bool expand_locals) if (v) { char *p = getenv(v); if (!p) { - nasm_error(ERR_NONFATAL | ERR_PASS1, - "nonexistent environment variable `%s'", v); + nasm_nonfatalf(ERR_PASS1, "nonexistent environment variable `%s'", v); /* * FIXME We better should investigate if accessing * ->text[1] without ->text[0] is safe enough. @@ -1468,7 +1452,7 @@ static Context *get_ctx(const char *name, const char **namep) return NULL; if (!cstk) { - nasm_error(ERR_NONFATAL, "`%s': context stack is empty", name); + nasm_nonfatal("`%s': context stack is empty", name); return NULL; } @@ -1481,8 +1465,8 @@ static Context *get_ctx(const char *name, const char **namep) ctx = ctx->next; } if (!ctx) { - nasm_error(ERR_NONFATAL, "`%s': context stack is only" - " %d level%s deep", name, i, (i == 1 ? "" : "s")); + nasm_nonfatal("`%s': context stack is only" + " %d level%s deep", name, i, (i == 1 ? "" : "s")); return NULL; } @@ -1509,43 +1493,37 @@ enum incopen_mode { }; /* This is conducts a full pathname search */ -static FILE *inc_fopen_search(const char *file, StrList **slpath, +static FILE *inc_fopen_search(const char *file, char **slpath, enum incopen_mode omode, enum file_flags fmode) { + const struct strlist_entry *ip = strlist_head(ipath_list); FILE *fp; - char *prefix = ""; - const IncPath *ip = ipath; - int len; - StrList *sl; + const char *prefix = ""; char *sp; bool found; while (1) { sp = nasm_catfile(prefix, file); - len = strlen(sp) + 1; - sl = nasm_malloc(len + sizeof sl->next); - memcpy(sl->str, sp, len); - sl->next = NULL; - nasm_free(sp); - if (omode == INC_PROBE) { fp = NULL; - found = nasm_file_exists(sl->str); + found = nasm_file_exists(sp); } else { - fp = nasm_open_read(sl->str, fmode); + fp = nasm_open_read(sp, fmode); found = (fp != NULL); } if (found) { - *slpath = sl; + *slpath = sp; return fp; } - nasm_free(sl); + nasm_free(sp); - if (!ip) + if (!ip) { + *slpath = NULL; return NULL; + } - prefix = ip->path; + prefix = ip->str; ip = ip->next; } } @@ -1555,12 +1533,11 @@ static FILE *inc_fopen_search(const char *file, StrList **slpath, * considering the include path. */ static FILE *inc_fopen(const char *file, - StrList **dhead, + struct strlist *dhead, const char **found_path, enum incopen_mode omode, enum file_flags fmode) { - StrList *sl; struct hash_insert hi; void **hp; char *path; @@ -1570,52 +1547,30 @@ static FILE *inc_fopen(const char *file, if (hp) { path = *hp; if (path || omode != INC_NEEDED) { - nasm_add_string_to_strlist(dhead, path ? path : file); + strlist_add(dhead, path ? path : file); } } else { /* Need to do the actual path search */ - size_t file_len; - - sl = NULL; - fp = inc_fopen_search(file, &sl, omode, fmode); - - file_len = strlen(file); - - if (!sl) { - /* Store negative result for this file */ - sl = nasm_malloc(file_len + 1 + sizeof sl->next); - memcpy(sl->str, file, file_len+1); - sl->next = NULL; - file = sl->str; - path = NULL; - } else { - path = sl->str; - file = strchr(path, '\0') - file_len; - } + fp = inc_fopen_search(file, &path, omode, fmode); - hash_add(&hi, file, path); /* Positive or negative result */ + /* Positive or negative result */ + hash_add(&hi, nasm_strdup(file), path); /* - * Add file to dependency path. The in_list() is needed - * in case the file was already added with %depend. + * Add file to dependency path. */ if (path || omode != INC_NEEDED) - nasm_add_to_strlist(dhead, sl); + strlist_add(dhead, file); } if (!path) { if (omode == INC_NEEDED) - nasm_fatal(0, "unable to open include file `%s'", file); - - if (found_path) - *found_path = NULL; - - return NULL; + nasm_fatal("unable to open include file `%s'", file); + } else { + if (!fp && omode != INC_PROBE) + fp = nasm_open_read(path, fmode); } - if (!fp && omode != INC_PROBE) - fp = nasm_open_read(path, fmode); - if (found_path) *found_path = path; @@ -1690,6 +1645,22 @@ smacro_defined(Context * ctx, const char *name, int nparam, SMacro ** defn, return false; } +/* param should be a natural number [0; INT_MAX] */ +static int read_param_count(const char *str) +{ + int result; + bool err; + + result = readnum(str, &err); + if (result < 0 || result > INT_MAX) { + result = 0; + nasm_nonfatal("parameter count `%s' is out of bounds [%d; %d]", + str, 0, INT_MAX); + } else if (err) + nasm_nonfatal("unable to parse parameter count `%s'", str); + return result; +} + /* * Count and mark off the parameters in a multi-line macro call. * This is called both from within the multi-line macro expansion @@ -1729,8 +1700,7 @@ static void count_mmac_params(Token * t, int *nparam, Token *** params) t = t->next; skip_white_(t); if (tok_isnt_(t, ",")) { - nasm_error(ERR_NONFATAL, - "braces do not enclose all of macro parameter"); + nasm_nonfatal("braces do not enclose all of macro parameter"); while (tok_isnt_(t, ",")) t = t->next; } @@ -1771,8 +1741,8 @@ static bool if_condition(Token * tline, enum preproc_token ct) if (!tline) break; if (tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, - "`%s' expects context identifiers", pp_directives[ct]); + nasm_nonfatal("`%s' expects context identifiers", + pp_directives[ct]); free_tlist(origline); return -1; } @@ -1789,8 +1759,8 @@ static bool if_condition(Token * tline, enum preproc_token ct) if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%s' expects macro identifiers", pp_directives[ct]); + nasm_nonfatal("`%s' expects macro identifiers", + pp_directives[ct]); goto fail; } if (smacro_defined(NULL, tline->text, 0, NULL, true)) @@ -1808,15 +1778,14 @@ static bool if_condition(Token * tline, enum preproc_token ct) tline->type != TOK_STRING && (tline->type != TOK_PREPROC_ID || tline->text[1] != '!'))) { - nasm_error(ERR_NONFATAL, - "`%s' expects environment variable names", - pp_directives[ct]); + nasm_nonfatal("`%s' expects environment variable names", + pp_directives[ct]); goto fail; } p = tline->text; if (tline->type == TOK_PREPROC_ID) p += 2; /* Skip leading %! */ - if (*p == '\'' || *p == '\"' || *p == '`') + if (nasm_isquote(*p)) nasm_unquote_cstr(p, ct); if (getenv(p)) j = true; @@ -1831,17 +1800,16 @@ static bool if_condition(Token * tline, enum preproc_token ct) while (tok_isnt_(tt, ",")) tt = tt->next; if (!tt) { - nasm_error(ERR_NONFATAL, - "`%s' expects two comma-separated arguments", - pp_directives[ct]); + nasm_nonfatal("`%s' expects two comma-separated arguments", + pp_directives[ct]); goto fail; } tt = tt->next; j = true; /* assume equality unless proved not */ while ((t->type != TOK_OTHER || strcmp(t->text, ",")) && tt) { if (tt->type == TOK_OTHER && !strcmp(tt->text, ",")) { - nasm_error(ERR_NONFATAL, "`%s': more than one comma on line", - pp_directives[ct]); + nasm_nonfatal("`%s': more than one comma on line", + pp_directives[ct]); goto fail; } if (t->type == TOK_WHITESPACE) { @@ -1889,8 +1857,7 @@ static bool if_condition(Token * tline, enum preproc_token ct) skip_white_(tline); tline = expand_id(tline); if (!tok_type_(tline, TOK_ID)) { - nasm_error(ERR_NONFATAL, - "`%s' expects a macro name", pp_directives[ct]); + nasm_nonfatal("`%s' expects a macro name", pp_directives[ct]); goto fail; } searching.name = nasm_strdup(tline->text); @@ -1906,34 +1873,23 @@ static bool if_condition(Token * tline, enum preproc_token ct) skip_white_(tline); if (!tline) { } else if (!tok_type_(tline, TOK_NUMBER)) { - nasm_error(ERR_NONFATAL, - "`%s' expects a parameter count or nothing", - pp_directives[ct]); + nasm_nonfatal("`%s' expects a parameter count or nothing", + pp_directives[ct]); } else { searching.nparam_min = searching.nparam_max = - readnum(tline->text, &j); - if (j) - nasm_error(ERR_NONFATAL, - "unable to parse parameter count `%s'", - tline->text); + read_param_count(tline->text); } if (tline && tok_is_(tline->next, "-")) { tline = tline->next->next; if (tok_is_(tline, "*")) searching.nparam_max = INT_MAX; else if (!tok_type_(tline, TOK_NUMBER)) - nasm_error(ERR_NONFATAL, - "`%s' expects a parameter count after `-'", - pp_directives[ct]); + nasm_nonfatal("`%s' expects a parameter count after `-'", + pp_directives[ct]); else { - searching.nparam_max = readnum(tline->text, &j); - if (j) - nasm_error(ERR_NONFATAL, - "unable to parse parameter count `%s'", - tline->text); + searching.nparam_max = read_param_count(tline->text); if (searching.nparam_min > searching.nparam_max) { - nasm_error(ERR_NONFATAL, - "minimum parameter count exceeds maximum"); + nasm_nonfatal("minimum parameter count exceeds maximum"); searching.nparam_max = searching.nparam_min; } } @@ -1955,8 +1911,7 @@ static bool if_condition(Token * tline, enum preproc_token ct) mmac = mmac->next; } if (tline && tline->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after %%ifmacro ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after %%ifmacro ignored"); nasm_free(searching.name); j = found; break; @@ -2011,25 +1966,22 @@ iftype: t = tline = expand_smacro(tline); tptr = &t; tokval.t_type = TOKEN_INVALID; - evalresult = evaluate(ppscan, tptr, &tokval, - NULL, pass | CRITICAL, NULL); + evalresult = evaluate(ppscan, tptr, &tokval, NULL, true, NULL); if (!evalresult) return -1; if (tokval.t_type) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after expression ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after expression ignored"); if (!is_simple(evalresult)) { - nasm_error(ERR_NONFATAL, - "non-constant value given to `%s'", pp_directives[ct]); + nasm_nonfatal("non-constant value given to `%s'", + pp_directives[ct]); goto fail; } j = reloc_value(evalresult) != 0; break; default: - nasm_error(ERR_FATAL, - "preprocessor directive `%s' not yet implemented", - pp_directives[ct]); + nasm_fatal("preprocessor directive `%s' not yet implemented", + pp_directives[ct]); goto fail; } @@ -2052,9 +2004,8 @@ static bool define_smacro(Context *ctx, const char *mname, bool casesense, if (smacro_defined(ctx, mname, nparam, &smac, casesense)) { if (!smac) { - nasm_error(ERR_WARNING|ERR_PASS1, - "single-line macro `%s' defined both with and" - " without parameters", mname); + nasm_warn(WARN_OTHER|ERR_PASS1, "single-line macro `%s' defined both with and" + " without parameters", mname); /* * Some instances of the old code considered this a failure, * some others didn't. What is the right thing to do here? @@ -2119,13 +2070,11 @@ static void undef_smacro(Context *ctx, const char *mname) */ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive) { - bool err; - tline = tline->next; skip_white_(tline); tline = expand_id(tline); if (!tok_type_(tline, TOK_ID)) { - nasm_error(ERR_NONFATAL, "`%s' expects a macro name", directive); + nasm_nonfatal("`%s' expects a macro name", directive); return false; } @@ -2140,30 +2089,20 @@ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive) tline = expand_smacro(tline->next); skip_white_(tline); - if (!tok_type_(tline, TOK_NUMBER)) { - nasm_error(ERR_NONFATAL, "`%s' expects a parameter count", directive); - } else { - def->nparam_min = def->nparam_max = - readnum(tline->text, &err); - if (err) - nasm_error(ERR_NONFATAL, - "unable to parse parameter count `%s'", tline->text); - } + if (!tok_type_(tline, TOK_NUMBER)) + nasm_nonfatal("`%s' expects a parameter count", directive); + else + def->nparam_min = def->nparam_max = read_param_count(tline->text); if (tline && tok_is_(tline->next, "-")) { tline = tline->next->next; if (tok_is_(tline, "*")) { def->nparam_max = INT_MAX; } else if (!tok_type_(tline, TOK_NUMBER)) { - nasm_error(ERR_NONFATAL, - "`%s' expects a parameter count after `-'", directive); + nasm_nonfatal("`%s' expects a parameter count after `-'", directive); } else { - def->nparam_max = readnum(tline->text, &err); - if (err) { - nasm_error(ERR_NONFATAL, "unable to parse parameter count `%s'", - tline->text); - } + def->nparam_max = read_param_count(tline->text); if (def->nparam_min > def->nparam_max) { - nasm_error(ERR_NONFATAL, "minimum parameter count exceeds maximum"); + nasm_nonfatal("minimum parameter count exceeds maximum"); def->nparam_max = def->nparam_min; } } @@ -2192,9 +2131,15 @@ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive) def->expansion = NULL; if (def->defaults && def->ndefs > def->nparam_max - def->nparam_min && - !def->plus) - nasm_error(ERR_WARNING|ERR_PASS1|WARN_MDP, - "too many default macro parameters"); + !def->plus) { + /* + *!macro-defaults [on] macros with more default than optional parameters + *! warns when a macro has more default parameters than optional parameters. + *! See \k{mlmacdef} for why might want to disable this warning. + */ + nasm_warn(ERR_PASS1|WARN_MACRO_DEFAULTS, + "too many default macro parameters in macro `%s'", def->name); + } return true; } @@ -2264,7 +2209,7 @@ static int do_directive(Token *tline, char **output) MMacro *tmp_defining; /* Used when manipulating rep_nest */ int64_t count; size_t len; - int severity; + errflags severity; *output = NULL; /* No output generated */ origline = tline; @@ -2284,9 +2229,8 @@ static int do_directive(Token *tline, char **output) * in future release (2.09-2.10) */ if (i == PP_RMACRO || i == PP_IRMACRO || i == PP_EXITMACRO) { - nasm_error(ERR_NONFATAL, "unknown preprocessor directive `%s'", - tline->text); - return NO_DIRECTIVE_FOUND; + nasm_nonfatal("unknown preprocessor directive `%s'", tline->text); + return NO_DIRECTIVE_FOUND; } /* @@ -2339,8 +2283,7 @@ static int do_directive(Token *tline, char **output) switch (i) { case PP_INVALID: - nasm_error(ERR_NONFATAL, "unknown preprocessor directive `%s'", - tline->text); + nasm_nonfatal("unknown preprocessor directive `%s'", tline->text); return NO_DIRECTIVE_FOUND; /* didn't get it */ case PP_PRAGMA: @@ -2385,7 +2328,7 @@ static int do_directive(Token *tline, char **output) if (tline && tline->type == TOK_WHITESPACE) tline = tline->next; if (!tline || tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, "`%%stacksize' missing size parameter"); + nasm_nonfatal("`%%stacksize' missing size parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -2418,7 +2361,7 @@ static int do_directive(Token *tline, char **output) ArgOffset = 6; LocalOffset = 0; } else { - nasm_error(ERR_NONFATAL, "`%%stacksize' invalid size type"); + nasm_nonfatal("`%%stacksize' invalid size type"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -2441,7 +2384,7 @@ static int do_directive(Token *tline, char **output) if (tline && tline->type == TOK_WHITESPACE) tline = tline->next; if (!tline || tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, "`%%arg' missing argument parameter"); + nasm_nonfatal("`%%arg' missing argument parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -2451,14 +2394,13 @@ static int do_directive(Token *tline, char **output) tline = tline->next; if (!tline || tline->type != TOK_OTHER || tline->text[0] != ':') { - nasm_error(ERR_NONFATAL, - "Syntax error processing `%%arg' directive"); + nasm_nonfatal("Syntax error processing `%%arg' directive"); free_tlist(origline); return DIRECTIVE_FOUND; } tline = tline->next; if (!tline || tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, "`%%arg' missing size type parameter"); + nasm_nonfatal("`%%arg' missing size type parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -2468,8 +2410,7 @@ static int do_directive(Token *tline, char **output) tt = expand_smacro(tt); size = parse_size(tt->text); if (!size) { - nasm_error(ERR_NONFATAL, - "Invalid size type for `%%arg' missing directive"); + nasm_nonfatal("Invalid size type for `%%arg' missing directive"); free_tlist(tt); free_tlist(origline); return DIRECTIVE_FOUND; @@ -2514,8 +2455,7 @@ static int do_directive(Token *tline, char **output) if (tline && tline->type == TOK_WHITESPACE) tline = tline->next; if (!tline || tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, - "`%%local' missing argument parameter"); + nasm_nonfatal("`%%local' missing argument parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -2525,15 +2465,13 @@ static int do_directive(Token *tline, char **output) tline = tline->next; if (!tline || tline->type != TOK_OTHER || tline->text[0] != ':') { - nasm_error(ERR_NONFATAL, - "Syntax error processing `%%local' directive"); + nasm_nonfatal("Syntax error processing `%%local' directive"); free_tlist(origline); return DIRECTIVE_FOUND; } tline = tline->next; if (!tline || tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, - "`%%local' missing size type parameter"); + nasm_nonfatal("`%%local' missing size type parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -2543,8 +2481,7 @@ static int do_directive(Token *tline, char **output) tt = expand_smacro(tt); size = parse_size(tt->text); if (!size) { - nasm_error(ERR_NONFATAL, - "Invalid size type for `%%local' missing directive"); + nasm_nonfatal("Invalid size type for `%%local' missing directive"); free_tlist(tt); free_tlist(origline); return DIRECTIVE_FOUND; @@ -2577,8 +2514,7 @@ static int do_directive(Token *tline, char **output) case PP_CLEAR: if (tline->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after `%%clear' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after `%%clear' ignored"); free_macros(); init_macros(); free_tlist(origline); @@ -2589,17 +2525,16 @@ static int do_directive(Token *tline, char **output) skip_white_(t); if (!t || (t->type != TOK_STRING && t->type != TOK_INTERNAL_STRING)) { - nasm_error(ERR_NONFATAL, "`%%depend' expects a file name"); + nasm_nonfatal("`%%depend' expects a file name"); free_tlist(origline); return DIRECTIVE_FOUND; /* but we did _something_ */ } if (t->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after `%%depend' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after `%%depend' ignored"); p = t->text; if (t->type != TOK_INTERNAL_STRING) nasm_unquote_cstr(p, i); - nasm_add_string_to_strlist(dephead, p); + strlist_add(deplist, p); free_tlist(origline); return DIRECTIVE_FOUND; @@ -2609,13 +2544,12 @@ static int do_directive(Token *tline, char **output) if (!t || (t->type != TOK_STRING && t->type != TOK_INTERNAL_STRING)) { - nasm_error(ERR_NONFATAL, "`%%include' expects a file name"); + nasm_nonfatal("`%%include' expects a file name"); free_tlist(origline); return DIRECTIVE_FOUND; /* but we did _something_ */ } if (t->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after `%%include' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after `%%include' ignored"); p = t->text; if (t->type != TOK_INTERNAL_STRING) nasm_unquote_cstr(p, i); @@ -2623,8 +2557,9 @@ static int do_directive(Token *tline, char **output) inc->next = istk; inc->conds = NULL; found_path = NULL; - inc->fp = inc_fopen(p, dephead, &found_path, - pass == 0 ? INC_OPTIONAL : INC_NEEDED, NF_TEXT); + inc->fp = inc_fopen(p, deplist, &found_path, + (pp_mode == PP_DEPS) + ? INC_OPTIONAL : INC_NEEDED, NF_TEXT); if (!inc->fp) { /* -MG given but file not found */ nasm_free(inc); @@ -2652,18 +2587,17 @@ static int do_directive(Token *tline, char **output) if (!tline || (tline->type != TOK_STRING && tline->type != TOK_INTERNAL_STRING && tline->type != TOK_ID)) { - nasm_error(ERR_NONFATAL, "`%%use' expects a package name"); + nasm_nonfatal("`%%use' expects a package name"); free_tlist(origline); return DIRECTIVE_FOUND; /* but we did _something_ */ } if (tline->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after `%%use' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after `%%use' ignored"); if (tline->type == TOK_STRING) nasm_unquote_cstr(tline->text, i); use_pkg = nasm_stdmac_find_package(tline->text); if (!use_pkg) - nasm_error(ERR_NONFATAL, "unknown `%%use' package: %s", tline->text); + nasm_nonfatal("unknown `%%use' package: %s", tline->text); else pkg_macro = (char *)use_pkg + 1; /* The first string will be <%define>__USE_*__ */ if (use_pkg && ! smacro_defined(NULL, pkg_macro, 0, NULL, true)) { @@ -2681,37 +2615,34 @@ static int do_directive(Token *tline, char **output) tline = expand_id(tline); if (tline) { if (!tok_type_(tline, TOK_ID)) { - nasm_error(ERR_NONFATAL, "`%s' expects a context identifier", - pp_directives[i]); + nasm_nonfatal("`%s' expects a context identifier", + pp_directives[i]); free_tlist(origline); return DIRECTIVE_FOUND; /* but we did _something_ */ } if (tline->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after `%s' ignored", - pp_directives[i]); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after `%s' ignored", + pp_directives[i]); p = nasm_strdup(tline->text); } else { p = NULL; /* Anonymous */ } if (i == PP_PUSH) { - ctx = nasm_malloc(sizeof(Context)); + nasm_new(ctx); ctx->next = cstk; - hash_init(&ctx->localmac, HASH_SMALL); ctx->name = p; ctx->number = unique++; cstk = ctx; } else { /* %pop or %repl */ if (!cstk) { - nasm_error(ERR_NONFATAL, "`%s': context stack is empty", - pp_directives[i]); + nasm_nonfatal("`%s': context stack is empty", + pp_directives[i]); } else if (i == PP_POP) { if (p && (!cstk->name || nasm_stricmp(p, cstk->name))) - nasm_error(ERR_NONFATAL, "`%%pop' in wrong context: %s, " - "expected %s", - cstk->name ? cstk->name : "anonymous", p); + nasm_nonfatal("`%%pop' in wrong context: %s, expected %s", + cstk->name ? cstk->name : "anonymous", p); else ctx_pop(); } else { @@ -2731,13 +2662,17 @@ static int do_directive(Token *tline, char **output) severity = ERR_NONFATAL; goto issue_error; case PP_WARNING: + /*! + *!user [on] %warning directives + *! controls output of \c{%warning} directives (see \k{pperror}). + */ severity = ERR_WARNING|WARN_USER; goto issue_error; issue_error: { /* Only error out if this is the final pass */ - if (pass != 2 && i != PP_FATAL) + if (pass_final() && i != PP_FATAL) return DIRECTIVE_FOUND; tline->next = expand_smacro(tline->next); @@ -2779,7 +2714,7 @@ issue_error: CASE_PP_ELIF: if (!istk->conds) - nasm_error(ERR_FATAL, "`%s': no matching `%%if'", pp_directives[i]); + nasm_fatal("`%s': no matching `%%if'", pp_directives[i]); switch(istk->conds->state) { case COND_IF_TRUE: istk->conds->state = COND_DONE; @@ -2791,8 +2726,8 @@ issue_error: case COND_ELSE_TRUE: case COND_ELSE_FALSE: - nasm_error(ERR_WARNING|ERR_PASS1|ERR_PP_PRECOND, - "`%%elif' after `%%else' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1|ERR_PP_PRECOND, + "`%%elif' after `%%else' ignored"); istk->conds->state = COND_NEVER; break; @@ -2816,10 +2751,10 @@ issue_error: case PP_ELSE: if (tline->next) - nasm_error(ERR_WARNING|ERR_PASS1|ERR_PP_PRECOND, - "trailing garbage after `%%else' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1|ERR_PP_PRECOND, + "trailing garbage after `%%else' ignored"); if (!istk->conds) - nasm_fatal(0, "`%%else: no matching `%%if'"); + nasm_fatal("`%%else: no matching `%%if'"); switch(istk->conds->state) { case COND_IF_TRUE: case COND_DONE: @@ -2835,8 +2770,8 @@ issue_error: case COND_ELSE_TRUE: case COND_ELSE_FALSE: - nasm_error(ERR_WARNING|ERR_PASS1|ERR_PP_PRECOND, - "`%%else' after `%%else' ignored."); + nasm_warn(WARN_OTHER|ERR_PASS1|ERR_PP_PRECOND, + "`%%else' after `%%else' ignored."); istk->conds->state = COND_NEVER; break; } @@ -2845,10 +2780,10 @@ issue_error: case PP_ENDIF: if (tline->next) - nasm_error(ERR_WARNING|ERR_PASS1|ERR_PP_PRECOND, - "trailing garbage after `%%endif' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1|ERR_PP_PRECOND, + "trailing garbage after `%%endif' ignored"); if (!istk->conds) - nasm_error(ERR_FATAL, "`%%endif': no matching `%%if'"); + nasm_fatal("`%%endif': no matching `%%if'"); cond = istk->conds; istk->conds = cond->next; nasm_free(cond); @@ -2862,8 +2797,8 @@ issue_error: case PP_MACRO: case PP_IMACRO: if (defining) { - nasm_error(ERR_FATAL, "`%s': already defining a macro", - pp_directives[i]); + nasm_fatal("`%s': already defining a macro", + pp_directives[i]); return DIRECTIVE_FOUND; } defining = nasm_zalloc(sizeof(MMacro)); @@ -2885,8 +2820,8 @@ issue_error: || defining->plus) && (defining->nparam_min <= mmac->nparam_max || mmac->plus)) { - nasm_error(ERR_WARNING|ERR_PASS1, - "redefining multi-line macro `%s'", defining->name); + nasm_warn(WARN_OTHER|ERR_PASS1, "redefining multi-line macro `%s'", + defining->name); return DIRECTIVE_FOUND; } mmac = mmac->next; @@ -2897,7 +2832,7 @@ issue_error: case PP_ENDM: case PP_ENDMACRO: if (! (defining && defining->name)) { - nasm_error(ERR_NONFATAL, "`%s': not defining a macro", tline->text); + nasm_nonfatal("`%s': not defining a macro", tline->text); return DIRECTIVE_FOUND; } mmhead = (MMacro **) hash_findi_add(&mmacros, defining->name); @@ -2929,7 +2864,7 @@ issue_error: } istk->expansion = l; } else { - nasm_error(ERR_NONFATAL, "`%%exitmacro' not within `%%macro' block"); + nasm_nonfatal("`%%exitmacro' not within `%%macro' block"); } free_tlist(origline); return DIRECTIVE_FOUND; @@ -2968,7 +2903,7 @@ issue_error: tline = tline->next; if (!tline->next) { free_tlist(origline); - nasm_error(ERR_NONFATAL, "`%%rotate' missing rotate count"); + nasm_nonfatal("`%%rotate' missing rotate count"); return DIRECTIVE_FOUND; } t = expand_smacro(tline->next); @@ -2978,25 +2913,23 @@ issue_error: tptr = &t; tokval.t_type = TOKEN_INVALID; evalresult = - evaluate(ppscan, tptr, &tokval, NULL, pass, NULL); + evaluate(ppscan, tptr, &tokval, NULL, true, NULL); free_tlist(tline); if (!evalresult) return DIRECTIVE_FOUND; if (tokval.t_type) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after expression ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after expression ignored"); if (!is_simple(evalresult)) { - nasm_error(ERR_NONFATAL, "non-constant value given to `%%rotate'"); + nasm_nonfatal("non-constant value given to `%%rotate'"); return DIRECTIVE_FOUND; } mmac = istk->mstk; while (mmac && !mmac->name) /* avoid mistaking %reps for macros */ mmac = mmac->next_active; if (!mmac) { - nasm_error(ERR_NONFATAL, "`%%rotate' invoked outside a macro call"); + nasm_nonfatal("`%%rotate' invoked outside a macro call"); } else if (mmac->nparam == 0) { - nasm_error(ERR_NONFATAL, - "`%%rotate' invoked within macro without parameters"); + nasm_nonfatal("`%%rotate' invoked within macro without parameters"); } else { int rotate = mmac->rotate + reloc_value(evalresult); @@ -3027,33 +2960,36 @@ issue_error: tptr = &t; tokval.t_type = TOKEN_INVALID; evalresult = - evaluate(ppscan, tptr, &tokval, NULL, pass, NULL); + evaluate(ppscan, tptr, &tokval, NULL, true, NULL); if (!evalresult) { free_tlist(origline); return DIRECTIVE_FOUND; } if (tokval.t_type) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after expression ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after expression ignored"); if (!is_simple(evalresult)) { - nasm_error(ERR_NONFATAL, "non-constant value given to `%%rep'"); + nasm_nonfatal("non-constant value given to `%%rep'"); return DIRECTIVE_FOUND; } count = reloc_value(evalresult); if (count > nasm_limit[LIMIT_REP]) { - nasm_error(ERR_NONFATAL, - "`%%rep' count %"PRId64" exceeds limit (currently %"PRId64")", - count, nasm_limit[LIMIT_REP]); + nasm_nonfatal("`%%rep' count %"PRId64" exceeds limit (currently %"PRId64")", + count, nasm_limit[LIMIT_REP]); count = 0; } else if (count < 0) { - nasm_error(ERR_WARNING|ERR_PASS2|WARN_NEG_REP, + /*! + *!negative-rep [on] regative %rep count + *! warns about negative counts given to the \c{%rep} + *! preprocessor directive. + */ + nasm_warn(ERR_PASS2|WARN_NEGATIVE_REP, "negative `%%rep' count: %"PRId64, count); count = 0; } else { count++; } } else { - nasm_error(ERR_NONFATAL, "`%%rep' expects a repeat count"); + nasm_nonfatal("`%%rep' expects a repeat count"); count = 0; } free_tlist(origline); @@ -3077,7 +3013,7 @@ issue_error: case PP_ENDREP: if (!defining || defining->name) { - nasm_error(ERR_NONFATAL, "`%%endrep': no matching `%%rep'"); + nasm_nonfatal("`%%endrep': no matching `%%rep'"); return DIRECTIVE_FOUND; } @@ -3119,7 +3055,7 @@ issue_error: if (l) l->finishes->in_progress = 1; else - nasm_error(ERR_NONFATAL, "`%%exitrep' not within `%%rep' block"); + nasm_nonfatal("`%%exitrep' not within `%%rep' block"); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3135,7 +3071,7 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, "`%s' expects a macro identifier", + nasm_nonfatal("`%s' expects a macro identifier", pp_directives[i]); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3159,14 +3095,13 @@ issue_error: while (1) { skip_white_(tline); if (!tline) { - nasm_error(ERR_NONFATAL, "parameter identifier expected"); + nasm_nonfatal("parameter identifier expected"); free_tlist(origline); return DIRECTIVE_FOUND; } if (tline->type != TOK_ID) { - nasm_error(ERR_NONFATAL, - "`%s': parameter identifier expected", - tline->text); + nasm_nonfatal("`%s': parameter identifier expected", + tline->text); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3177,8 +3112,7 @@ issue_error: tline = tline->next; } else { if (!tok_is_(tline, ")")) { - nasm_error(ERR_NONFATAL, - "`)' expected to terminate macro template"); + nasm_nonfatal("`)' expected to terminate macro template"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3224,14 +3158,12 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, "`%%undef' expects a macro identifier"); + nasm_nonfatal("`%%undef' expects a macro identifier"); free_tlist(origline); return DIRECTIVE_FOUND; } - if (tline->next) { - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after macro name ignored"); - } + if (tline->next) + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after macro name ignored"); /* Find the context that symbol belongs to */ ctx = get_ctx(tline->text, &mname); @@ -3249,7 +3181,7 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, "`%s' expects a macro identifier", + nasm_nonfatal("`%s' expects a macro identifier", pp_directives[i]); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3290,9 +3222,8 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%s' expects a macro identifier as first parameter", - pp_directives[i]); + nasm_nonfatal("`%s' expects a macro identifier as first parameter", + pp_directives[i]); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3306,9 +3237,8 @@ issue_error: t = t->next; /* t should now point to the string */ if (!tok_type_(t, TOK_STRING)) { - nasm_error(ERR_NONFATAL, - "`%s` requires string as second parameter", - pp_directives[i]); + nasm_nonfatal("`%s` requires string as second parameter", + pp_directives[i]); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3344,8 +3274,7 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%%pathsearch' expects a macro identifier as first parameter"); + nasm_nonfatal("`%%pathsearch' expects a macro identifier as first parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3360,14 +3289,13 @@ issue_error: if (!t || (t->type != TOK_STRING && t->type != TOK_INTERNAL_STRING)) { - nasm_error(ERR_NONFATAL, "`%%pathsearch' expects a file name"); + nasm_nonfatal("`%%pathsearch' expects a file name"); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; /* but we did _something_ */ } if (t->next) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after `%%pathsearch' ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after `%%pathsearch' ignored"); p = t->text; if (t->type != TOK_INTERNAL_STRING) nasm_unquote(p, NULL); @@ -3401,8 +3329,7 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%%strlen' expects a macro identifier as first parameter"); + nasm_nonfatal("`%%strlen' expects a macro identifier as first parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3416,8 +3343,7 @@ issue_error: t = t->next; /* t should now point to the string */ if (!tok_type_(t, TOK_STRING)) { - nasm_error(ERR_NONFATAL, - "`%%strlen` requires string as second parameter"); + nasm_nonfatal("`%%strlen` requires string as second parameter"); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3447,8 +3373,7 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%%strcat' expects a macro identifier as first parameter"); + nasm_nonfatal("`%%strcat' expects a macro identifier as first parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3470,8 +3395,7 @@ issue_error: break; /* else fall through */ default: - nasm_error(ERR_NONFATAL, - "non-string passed to `%%strcat' (%d)", t->type); + nasm_nonfatal("non-string passed to `%%strcat' (%d)", t->type); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3512,8 +3436,7 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%%substr' expects a macro identifier as first parameter"); + nasm_nonfatal("`%%substr' expects a macro identifier as first parameter"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3529,8 +3452,7 @@ issue_error: /* t should now point to the string */ if (!tok_type_(t, TOK_STRING)) { - nasm_error(ERR_NONFATAL, - "`%%substr` requires string as second parameter"); + nasm_nonfatal("`%%substr` requires string as second parameter"); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3539,13 +3461,13 @@ issue_error: tt = t->next; tptr = &tt; tokval.t_type = TOKEN_INVALID; - evalresult = evaluate(ppscan, tptr, &tokval, NULL, pass, NULL); + evalresult = evaluate(ppscan, tptr, &tokval, NULL, true, NULL); if (!evalresult) { free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; } else if (!is_simple(evalresult)) { - nasm_error(ERR_NONFATAL, "non-constant value given to `%%substr`"); + nasm_nonfatal("non-constant value given to `%%substr`"); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3558,13 +3480,13 @@ issue_error: count = 1; /* Backwards compatibility: one character */ } else { tokval.t_type = TOKEN_INVALID; - evalresult = evaluate(ppscan, tptr, &tokval, NULL, pass, NULL); + evalresult = evaluate(ppscan, tptr, &tokval, NULL, true, NULL); if (!evalresult) { free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; } else if (!is_simple(evalresult)) { - nasm_error(ERR_NONFATAL, "non-constant value given to `%%substr`"); + nasm_nonfatal("non-constant value given to `%%substr`"); free_tlist(tline); free_tlist(origline); return DIRECTIVE_FOUND; @@ -3611,9 +3533,8 @@ issue_error: if (!tline || (tline->type != TOK_ID && (tline->type != TOK_PREPROC_ID || tline->text[1] != '$'))) { - nasm_error(ERR_NONFATAL, - "`%%%sassign' expects a macro identifier", - (i == PP_IASSIGN ? "i" : "")); + nasm_nonfatal("`%%%sassign' expects a macro identifier", + (i == PP_IASSIGN ? "i" : "")); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3625,7 +3546,7 @@ issue_error: t = tline; tptr = &t; tokval.t_type = TOKEN_INVALID; - evalresult = evaluate(ppscan, tptr, &tokval, NULL, pass, NULL); + evalresult = evaluate(ppscan, tptr, &tokval, NULL, true, NULL); free_tlist(tline); if (!evalresult) { free_tlist(origline); @@ -3633,13 +3554,11 @@ issue_error: } if (tokval.t_type) - nasm_error(ERR_WARNING|ERR_PASS1, - "trailing garbage after expression ignored"); + nasm_warn(WARN_OTHER|ERR_PASS1, "trailing garbage after expression ignored"); if (!is_simple(evalresult)) { - nasm_error(ERR_NONFATAL, - "non-constant value given to `%%%sassign'", - (i == PP_IASSIGN ? "i" : "")); + nasm_nonfatal("non-constant value given to `%%%sassign'", + (i == PP_IASSIGN ? "i" : "")); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3669,7 +3588,7 @@ issue_error: tline = tline->next; skip_white_(tline); if (!tok_type_(tline, TOK_NUMBER)) { - nasm_error(ERR_NONFATAL, "`%%line' expects line number"); + nasm_nonfatal("`%%line' expects line number"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3679,7 +3598,7 @@ issue_error: if (tok_is_(tline, "+")) { tline = tline->next; if (!tok_type_(tline, TOK_NUMBER)) { - nasm_error(ERR_NONFATAL, "`%%line' expects line increment"); + nasm_nonfatal("`%%line' expects line increment"); free_tlist(origline); return DIRECTIVE_FOUND; } @@ -3698,9 +3617,8 @@ issue_error: return DIRECTIVE_FOUND; default: - nasm_error(ERR_FATAL, - "preprocessor directive `%s' not yet implemented", - pp_directives[i]); + nasm_fatal("preprocessor directive `%s' not yet implemented", + pp_directives[i]); return DIRECTIVE_FOUND; } } @@ -3787,7 +3705,7 @@ static bool paste_tokens(Token **head, const struct tokseq_match *m, /* Left pasting token is start of line */ if (!prev_nonspace) - nasm_error(ERR_FATAL, "No lvalue found on pasting"); + nasm_fatal("No lvalue found on pasting"); /* * No ending token, this might happen in two @@ -3987,7 +3905,7 @@ static Token *expand_mmac_params_range(MMacro *mac, Token *tline, Token ***last) return head; err: - nasm_error(ERR_NONFATAL, "`%%{%s}': macro parameters out of range", + nasm_nonfatal("`%%{%s}': macro parameters out of range", &tline->text[1]); return tline; } @@ -4025,7 +3943,7 @@ static Token *expand_mmac_params(Token * tline) while (mac && !mac->name) /* avoid mistaking %reps for macros */ mac = mac->next_active; if (!mac) { - nasm_error(ERR_NONFATAL, "`%s': not in a macro call", t->text); + nasm_nonfatal("`%s': not in a macro call", t->text); } else { pos = strchr(t->text, ':'); if (!pos) { @@ -4056,16 +3974,14 @@ static Token *expand_mmac_params(Token * tline) } cc = find_cc(tt); if (cc == -1) { - nasm_error(ERR_NONFATAL, - "macro parameter %d is not a condition code", - n + 1); + nasm_nonfatal("macro parameter %d is not a condition code", + n + 1); text = NULL; } else { type = TOK_ID; if (inverse_ccs[cc] == -1) { - nasm_error(ERR_NONFATAL, - "condition code `%s' is not invertible", - conditions[cc]); + nasm_nonfatal("condition code `%s' is not invertible", + conditions[cc]); text = NULL; } else text = nasm_strdup(conditions[inverse_ccs[cc]]); @@ -4082,9 +3998,8 @@ static Token *expand_mmac_params(Token * tline) } cc = find_cc(tt); if (cc == -1) { - nasm_error(ERR_NONFATAL, - "macro parameter %d is not a condition code", - n + 1); + nasm_nonfatal("macro parameter %d is not a condition code", + n + 1); text = NULL; } else { type = TOK_ID; @@ -4224,7 +4139,7 @@ again: while (tline) { /* main token loop */ if (!--deadman) { - nasm_error(ERR_NONFATAL, "interminable macro recursion"); + nasm_nonfatal("interminable macro recursion"); goto err; } @@ -4329,8 +4244,7 @@ again: tline = t; if (!tline) { - nasm_error(ERR_NONFATAL, - "macro call expects terminating `)'"); + nasm_nonfatal("macro call expects terminating `)'"); break; } if (tline->type == TOK_WHITESPACE @@ -4379,7 +4293,7 @@ again: } if (brackets < 0) { brackets = 0; - nasm_error(ERR_NONFATAL, "braces do not " + nasm_nonfatal("braces do not " "enclose all of macro parameter"); } paramsize[nparam] += white + 1; @@ -4390,11 +4304,18 @@ again: mstrcmp(m->name, mname, m->casesense))) m = m->next; - if (!m) - nasm_error(ERR_WARNING|ERR_PASS1|WARN_MNP, - "macro `%s' exists, " - "but not taking %d parameters", - mstart->text, nparam); + if (!m) { + /*! + *!macro-params [on] macro calls with wrong parameter count + *! covers warnings about \i{multi-line macros} being invoked + *! with the wrong number of parameters. See \k{mlmacover} for an + *! example of why you might want to disable this warning. + */ + nasm_warn(ERR_PASS1|WARN_MACRO_PARAMS, + "macro `%s' exists, " + "but not taking %d parameters", + mstart->text, nparam); + } } } if (m && m->in_progress) @@ -4443,8 +4364,7 @@ again: * FIXME: Need to handle more gracefully, * exiting early on agruments analysis. */ - nasm_error(ERR_FATAL, - "macro `%s' expects %d args", + nasm_fatal("macro `%s' expects %d args", mstart->text, (int)paramsize[t->type - TOK_SMAC_PARAM]); } @@ -4641,9 +4561,8 @@ static MMacro *is_mmacro(Token * tline, Token *** params_array) */ if (m->in_progress > m->max_depth) { if (m->max_depth > 0) { - nasm_error(ERR_WARNING, - "reached maximum recursion depth of %i", - m->max_depth); + nasm_warn(WARN_OTHER, "reached maximum recursion depth of %i", + m->max_depth); } nasm_free(params); return NULL; @@ -4693,9 +4612,9 @@ static MMacro *is_mmacro(Token * tline, Token *** params_array) * After all that, we didn't find one with the right number of * parameters. Issue a warning, and fail to expand the macro. */ - nasm_error(ERR_WARNING|ERR_PASS1|WARN_MNP, - "macro `%s' exists, but not taking %d parameters", - tline->text, nparam); + nasm_warn(ERR_PASS1|WARN_MACRO_PARAMS, + "macro `%s' exists, but not taking %d parameters", + tline->text, nparam); nasm_free(params); return NULL; } @@ -4829,7 +4748,7 @@ static int expand_mmacro(Token * tline) paramlen[i]++; } if (brace) - nasm_error(ERR_NONFATAL, "macro params should be enclosed in braces"); + nasm_nonfatal("macro params should be enclosed in braces"); } /* @@ -4936,7 +4855,7 @@ static int expand_mmacro(Token * tline) * This function adds macro names to error messages, and suppresses * them if necessary. */ -static void pp_verror(int severity, const char *fmt, va_list arg) +static void pp_verror(errflags severity, const char *fmt, va_list arg) { char buff[BUFSIZ]; MMacro *mmac = NULL; @@ -4977,9 +4896,10 @@ static void pp_verror(int severity, const char *fmt, va_list arg) } static void -pp_reset(const char *file, int apass, StrList **deplist) +pp_reset(const char *file, enum preproc_mode mode, struct strlist *dep_list) { Token *t; + int apass; cstk = NULL; istk = nasm_malloc(sizeof(Include)); @@ -4992,12 +4912,14 @@ pp_reset(const char *file, int apass, StrList **deplist) src_set(0, file); istk->lineinc = 1; if (!istk->fp) - nasm_fatal(ERR_NOFILE, "unable to open input file `%s'", file); + nasm_fatalf(ERR_NOFILE, "unable to open input file `%s'", file); defining = NULL; nested_mac_count = 0; nested_rep_count = 0; init_macros(); unique = 0; + deplist = dep_list; + pp_mode = mode; if (tasm_compatible_mode) pp_add_stdmac(nasm_stdmac_tasm); @@ -5013,21 +4935,32 @@ pp_reset(const char *file, int apass, StrList **deplist) do_predef = true; - /* - * 0 for dependencies, 1 for preparatory passes, 2 for final pass. - * The caller, however, will also pass in 3 for preprocess-only so - * we can set __PASS__ accordingly. - */ - pass = apass > 2 ? 2 : apass; + strlist_add(deplist, file); - dephead = deplist; - nasm_add_string_to_strlist(dephead, file); - /* * Define the __PASS__ macro. This is defined here unlike * all the other builtins, because it is special -- it varies between * passes. + * + * 0 = dependencies only + * 1 = preparatory passes + * 2 = final pass + * 3 = preproces only */ + switch (mode) { + case PP_NORMAL: + apass = pass_final() ? 2 : 1; + break; + case PP_DEPS: + apass = 0; + break; + case PP_PREPROC: + apass = 3; + break; + default: + panic(); + } + t = nasm_malloc(sizeof(*t)); t->next = NULL; make_tok_num(t, apass); @@ -5037,7 +4970,6 @@ pp_reset(const char *file, int apass, StrList **deplist) static void pp_init(void) { - hash_init(&FileHash, HASH_MEDIUM); } static char *pp_getline(void) @@ -5100,9 +5032,9 @@ static char *pp_getline(void) */ if (defining) { if (defining->name) - nasm_panic(0, "defining with name in expansion"); + nasm_panic("defining with name in expansion"); else if (istk->mstk->name) - nasm_fatal(0, "`%%rep' without `%%endrep' within" + nasm_fatal("`%%rep' without `%%endrep' within" " expansion of macro `%s'", istk->mstk->name); } @@ -5177,8 +5109,7 @@ static char *pp_getline(void) fclose(i->fp); if (i->conds) { /* nasm_error can't be conditionally suppressed */ - nasm_fatal(0, - "expected `%%endif' before end of file"); + nasm_fatal("expected `%%endif' before end of file"); } /* only set line and file name if there's a next node */ if (i->next) @@ -5270,17 +5201,16 @@ done: return line; } -static void pp_cleanup(int pass) +static void pp_cleanup_pass(void) { real_verror = nasm_set_verror(pp_verror); if (defining) { if (defining->name) { - nasm_error(ERR_NONFATAL, - "end of file while still defining macro `%s'", - defining->name); + nasm_nonfatal("end of file while still defining macro `%s'", + defining->name); } else { - nasm_error(ERR_NONFATAL, "end of file while still in %%rep"); + nasm_nonfatal("end of file while still in %%rep"); } free_mmacro(defining); @@ -5301,37 +5231,20 @@ static void pp_cleanup(int pass) while (cstk) ctx_pop(); src_set_fname(NULL); - if (pass == 0) { - IncPath *i; - free_llist(predef); - predef = NULL; - delete_Blocks(); - freeTokens = NULL; - while ((i = ipath)) { - ipath = i->next; - if (i->path) - nasm_free(i->path); - nasm_free(i); - } - } } -static void pp_include_path(char *path) +static void pp_cleanup_session(void) { - IncPath *i; - - i = nasm_malloc(sizeof(IncPath)); - i->path = path ? nasm_strdup(path) : NULL; - i->next = NULL; + free_llist(predef); + predef = NULL; + delete_Blocks(); + freeTokens = NULL; + ipath_list = NULL; +} - if (ipath) { - IncPath *j = ipath; - while (j->next) - j = j->next; - j->next = i; - } else { - ipath = i; - } +static void pp_include_path(struct strlist *list) +{ + ipath_list = list; } static void pp_pre_include(char *fname) @@ -5369,7 +5282,7 @@ static void pp_pre_define(char *definition) if (space->next->type != TOK_PREPROC_ID && space->next->type != TOK_ID) - nasm_error(ERR_WARNING, "pre-defining non ID `%s\'\n", definition); + nasm_warn(WARN_OTHER, "pre-defining non ID `%s\'\n", definition); l = nasm_malloc(sizeof(Line)); l->next = predef; @@ -5445,7 +5358,7 @@ static void make_tok_num(Token * tok, int64_t val) tok->type = TOK_NUMBER; } -static void pp_list_one_macro(MMacro *m, int severity) +static void pp_list_one_macro(MMacro *m, errflags severity) { if (!m) return; @@ -5459,25 +5372,25 @@ static void pp_list_one_macro(MMacro *m, int severity) } } -static void pp_error_list_macros(int severity) +static void pp_error_list_macros(errflags severity) { - int32_t saved_line; - const char *saved_fname = NULL; + struct src_location saved; severity |= ERR_PP_LISTMACRO | ERR_NO_SEVERITY | ERR_HERE; - src_get(&saved_line, &saved_fname); + saved = src_where(); if (istk) pp_list_one_macro(istk->mstk, severity); - src_set(saved_line, saved_fname); + src_update(saved); } const struct preproc_ops nasmpp = { pp_init, pp_reset, pp_getline, - pp_cleanup, + pp_cleanup_pass, + pp_cleanup_session, pp_extra_stdmac, pp_pre_define, pp_pre_undefine, diff --git a/nasmlib/srcfile.c b/asm/srcfile.c index 6fbe763f..73054853 100644 --- a/nasmlib/srcfile.c +++ b/asm/srcfile.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -42,15 +42,14 @@ #include "nasmlib.h" #include "hashtbl.h" +#include "srcfile.h" -static const char *file_name = NULL; -static int32_t line_number = 0; +struct src_location _src_here; static struct hash_table filename_hash; void src_init(void) { - hash_init(&filename_hash, HASH_MEDIUM); } void src_free(void) @@ -78,45 +77,23 @@ const char *src_set_fname(const char *newname) } } - oldname = file_name; - file_name = newname; + oldname = _src_here.filename; + _src_here.filename = newname; return oldname; } -int32_t src_set_linnum(int32_t newline) -{ - int32_t oldline = line_number; - line_number = newline; - return oldline; -} - void src_set(int32_t line, const char *fname) { src_set_fname(fname); src_set_linnum(line); } -const char *src_get_fname(void) -{ - return file_name; -} - -int32_t src_get_linnum(void) -{ - return line_number; -} - -int32_t src_get(int32_t *xline, const char **xname) +struct src_location src_update(struct src_location whence) { - const char *xn = *xname; - int32_t xl = *xline; + struct src_location oldhere = _src_here; - *xline = line_number; - *xname = file_name; + src_set_fname(whence.filename); + src_set_linnum(whence.lineno); - /* XXX: Is the strcmp() really needed here? */ - if (!file_name || !xn || (xn != file_name && strcmp(xn, file_name))) - return -2; - else - return line_number - xl; + return oldhere; } diff --git a/asm/srcfile.h b/asm/srcfile.h new file mode 100644 index 00000000..3af6595e --- /dev/null +++ b/asm/srcfile.h @@ -0,0 +1,102 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +/* + * These functions are used to keep track of the source code file and name. + */ +#ifndef ASM_SRCFILE_H +#define ASM_SRCFILE_H + +#include "compiler.h" + +struct src_location { + const char *filename; + int32_t lineno; +}; +extern struct src_location _src_here; + +void src_init(void); +void src_free(void); +const char *src_set_fname(const char *newname); +static inline const char *src_get_fname(void) +{ + return _src_here.filename; +} +static inline int32_t src_set_linnum(int32_t newline) +{ + int32_t oldline = _src_here.lineno; + _src_here.lineno = newline; + return oldline; +} +static inline int32_t src_get_linnum(void) +{ + return _src_here.lineno; +} +/* Can be used when there is no need for the old information */ +void src_set(int32_t line, const char *filename); + +/* + * src_get gets both the source file name and line. + * It is also used if you maintain private status about the source location + * It return 0 if the information was the same as the last time you + * checked, -2 if the name changed and (new-old) if just the line changed. + * + * xname must point to a filename string previously returned from any + * function of this subsystem or be NULL; another string value will + * not work. + */ +static inline int32_t src_get(int32_t *xline, const char **xname) +{ + const char *xn = *xname; + int32_t xl = *xline; + + *xline = _src_here.lineno; + *xname = _src_here.filename; + + /* The return value is expected to be optimized out almost everywhere */ + if (!xn || xn != _src_here.filename) + return -2; + else + return _src_here.lineno - xl; +} + +/* + * Returns and sets/returns the current information as a structure. + */ +static inline struct src_location src_where(void) +{ + return _src_here; +} +struct src_location src_update(struct src_location); + +#endif /* ASM_SRCFILE_H */ diff --git a/asm/stdscan.c b/asm/stdscan.c index 5f938150..dbe0fd54 100644 --- a/asm/stdscan.c +++ b/asm/stdscan.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -113,8 +113,7 @@ static int stdscan_handle_brace(struct tokenval *tv) { if (!(tv->t_flag & TFLAG_BRC_ANY)) { /* invalid token is put inside braces */ - nasm_error(ERR_NONFATAL, - "`%s' is not a valid decorator with braces", tv->t_charptr); + nasm_nonfatal("`%s' is not a valid decorator with braces", tv->t_charptr); tv->t_type = TOKEN_INVALID; } else if (tv->t_flag & TFLAG_BRC_OPT) { if (is_reg_class(OPMASKREG, tv->t_integer)) { @@ -137,8 +136,8 @@ int stdscan(void *private_data, struct tokenval *tv) return tv->t_type = TOKEN_EOS; /* we have a token; either an id, a number or a char */ - if (isidstart(*stdscan_bufptr) || - (*stdscan_bufptr == '$' && isidstart(stdscan_bufptr[1]))) { + if (nasm_isidstart(*stdscan_bufptr) || + (*stdscan_bufptr == '$' && nasm_isidstart(stdscan_bufptr[1]))) { /* now we've got an identifier */ bool is_sym = false; int token_type; @@ -150,7 +149,7 @@ int stdscan(void *private_data, struct tokenval *tv) r = stdscan_bufptr++; /* read the entire buffer to advance the buffer pointer but... */ - while (isidchar(*stdscan_bufptr)) + while (nasm_isidchar(*stdscan_bufptr)) stdscan_bufptr++; /* ... copy only up to IDLEN_MAX-1 characters */ @@ -167,10 +166,16 @@ int stdscan(void *private_data, struct tokenval *tv) * is it actually a register or instruction name, or what? */ token_type = nasm_token_hash(ourcopy, tv); - if (unlikely(tv->t_flag & TFLAG_WARN)) { - nasm_error(ERR_WARNING|ERR_PASS1|WARN_PTR, - "`%s' is not a NASM keyword", tv->t_charptr); - } + if (unlikely(tv->t_flag & TFLAG_WARN)) { + /*! + *!ptr [on] non-NASM keyword used in other assemblers + *! warns about keywords used in other assemblers that might + *! indicate a mistake in the source code. Currently only the MASM + *! \c{PTR} keyword is recognized. + */ + nasm_warn(ERR_PASS1|WARN_PTR, "`%s' is not a NASM keyword", + tv->t_charptr); + } if (likely(!(tv->t_flag & TFLAG_BRC))) { /* most of the tokens fall into this case */ @@ -178,7 +183,7 @@ int stdscan(void *private_data, struct tokenval *tv) } else { return tv->t_type = TOKEN_ID; } - } else if (*stdscan_bufptr == '$' && !isnumchar(stdscan_bufptr[1])) { + } else if (*stdscan_bufptr == '$' && !nasm_isnumchar(stdscan_bufptr[1])) { /* * It's a $ sign with no following hex number; this must * mean it's a Here token ($), evaluating to the current @@ -191,7 +196,7 @@ int stdscan(void *private_data, struct tokenval *tv) return tv->t_type = TOKEN_BASE; } return tv->t_type = TOKEN_HERE; - } else if (isnumstart(*stdscan_bufptr)) { /* now we've got a number */ + } else if (nasm_isnumstart(*stdscan_bufptr)) { /* now we've got a number */ bool rn_error; bool is_hex = false; bool is_float = false; @@ -224,7 +229,7 @@ int stdscan(void *private_data, struct tokenval *tv) is_float = true; if (*stdscan_bufptr == '+' || *stdscan_bufptr == '-') stdscan_bufptr++; - } else if (isnumchar(c)) + } else if (nasm_isnumchar(c)) ; /* just advance */ else if (c == '.') is_float = true; @@ -273,7 +278,7 @@ int stdscan(void *private_data, struct tokenval *tv) * read the entire buffer to advance the buffer pointer * {rn-sae}, {rd-sae}, {ru-sae}, {rz-sae} contain '-' in tokens. */ - while (isbrcchar(*stdscan_bufptr)) + while (nasm_isbrcchar(*stdscan_bufptr)) stdscan_bufptr++; token_len = stdscan_bufptr - r; @@ -285,8 +290,7 @@ int stdscan(void *private_data, struct tokenval *tv) stdscan_bufptr = nasm_skip_spaces(stdscan_bufptr); /* if brace is not closed properly or token is too long */ if ((*stdscan_bufptr != '}') || (token_len > MAX_KEYWORD)) { - nasm_error(ERR_NONFATAL, - "invalid decorator token inside braces"); + nasm_nonfatal("invalid decorator token inside braces"); return tv->t_type = TOKEN_INVALID; } @@ -305,10 +309,15 @@ int stdscan(void *private_data, struct tokenval *tv) /* a comment has happened - stay */ return tv->t_type = TOKEN_EOS; } else if (stdscan_bufptr[0] == '>' && stdscan_bufptr[1] == '>') { - stdscan_bufptr += 2; - return tv->t_type = TOKEN_SHR; + if (stdscan_bufptr[2] == '>') { + stdscan_bufptr += 3; + return tv->t_type = TOKEN_SAR; + } else { + stdscan_bufptr += 2; + return tv->t_type = TOKEN_SHR; + } } else if (stdscan_bufptr[0] == '<' && stdscan_bufptr[1] == '<') { - stdscan_bufptr += 2; + stdscan_bufptr += stdscan_bufptr[2] == '<' ? 3 : 2; return tv->t_type = TOKEN_SHL; } else if (stdscan_bufptr[0] == '/' && stdscan_bufptr[1] == '/') { stdscan_bufptr += 2; diff --git a/asm/tokens.dat b/asm/tokens.dat index 528f2431..d5345e19 100644 --- a/asm/tokens.dat +++ b/asm/tokens.dat @@ -35,6 +35,9 @@ # Tokens other than instructions and registers # +% TOKEN_QMARK, 0, 0, 0 +? + % TOKEN_PREFIX, 0, 0, P_* a16 a32 diff --git a/asm/tokhash.pl b/asm/tokhash.pl index 9bc2b912..165437ac 100755 --- a/asm/tokhash.pl +++ b/asm/tokhash.pl @@ -1,7 +1,7 @@ #!/usr/bin/perl ## -------------------------------------------------------------------------- ## -## Copyright 1996-2014 The NASM Authors - All Rights Reserved +## Copyright 1996-2018 The NASM Authors - All Rights Reserved ## See the file AUTHORS included with the NASM distribution for ## the specific copyright holders. ## @@ -130,7 +130,7 @@ open(TD, '<', $tokens_dat) or die "$0: cannot open $tokens_dat: $!\n"; while (defined($line = <TD>)) { if ($line =~ /^\%\s+(.*)$/) { $pattern = $1; - } elsif ($line =~ /^([a-z0-9_-]+)/) { + } elsif ($line =~ /^([\?\@\.a-z0-9_-]+)/) { $token = $1; if (defined($tokens{$token})) { diff --git a/asm/warnings.pl b/asm/warnings.pl new file mode 100755 index 00000000..cb336ada --- /dev/null +++ b/asm/warnings.pl @@ -0,0 +1,200 @@ +#!/usr/bin/perl + +use strict; +use File::Find; +use File::Basename; + +my @warnings = (); +my $err = 0; +my $nwarn = 0; + +sub quote_for_c($) { + my $s = join('', @_); + + $s =~ s/([\"\'\\])/\\\1/g; + return $s; +} + +sub find_warnings { + my $infile = $_; + + return unless (basename($infile) =~ /^\w.*\.[ch]$/i); + open(my $in, '<', $infile) + or die "$0: cannot open input file $infile: $!\n"; + + my $in_comment = 0; + my $nline = 0; + my $this; + my @doc; + + while (defined(my $l = <$in>)) { + $nline++; + chomp $l; + + if (!$in_comment) { + $l =~ s/^.*?\/\*.*?\*\///g; # Remove single-line comments + + if ($l =~ /^.*?(\/\*.*)$/) { + # Begin block comment + $l = $1; + $in_comment = 1; + } + } + + if ($in_comment) { + if ($l =~ /\*\//) { + # End block comment + $in_comment = 0; + undef $this; + } elsif ($l =~ /^\s*\/?\*\!(\s*)(.*?)\s*$/) { + my $ws = $1; + my $str = $2; + + next if ($str eq ''); + + if (!defined($this) || ($ws eq '' && $str ne '')) { + if ($str =~ /^([\w-]+)\s+\[(\w+)\]\s(.+)$/) { + my $name = $1; + my $def = $2; + my $help = $3; + + my $cname = uc($name); + $cname =~ s/[^A-Z0-9_]+/_/g; + + $this = {name => $name, cname => $cname, + def => $def, help => $help, doc => [], + file => $infile, line => $nline}; + push(@warnings, $this); + $nwarn++; + } else { + print STDERR "$infile:$nline: malformed warning definition\n"; + print STDERR " $l\n"; + $err++; + } + } else { + push(@{$this->{doc}}, "$str\n"); + } + } else { + undef $this; + } + } + } + close($in); +} + +my($what, $outfile, @indirs) = @ARGV; + +if (!defined($outfile)) { + die "$0: usage: [c|h|doc] outfile indir...\n"; +} + +find({ wanted => \&find_warnings, no_chdir => 1, follow => 1 }, @indirs); + +exit(1) if ($err); + +my %sort_special = ( 'other' => 1, 'all' => 2 ); +sub sort_warnings { + my $an = $a->{name}; + my $bn = $b->{name}; + return ($sort_special{$an} <=> $sort_special{$bn}) || ($an cmp $bn); +} + +@warnings = sort sort_warnings @warnings; +my @warn_noall = @warnings; +pop @warn_noall if ($warn_noall[$#warn_noall]->{name} eq 'all'); + +open(my $out, '>', $outfile) + or die "$0: cannot open output file $outfile: $!\n"; + +if ($what eq 'c') { + print $out "#include \"error.h\"\n\n"; + printf $out "const char * const warning_name[%d] = {\n", + $#warnings + 2; + print $out "\tNULL"; + foreach my $warn (@warnings) { + print $out ",\n\t\"", $warn->{name}, "\""; + } + print $out "\n};\n\n"; + printf $out "const char * const warning_help[%d] = {\n", + $#warnings + 2; + print $out "\tNULL"; + foreach my $warn (@warnings) { + my $help = quote_for_c($warn->{help}); + print $out ",\n\t\"", $help, "\""; + } + print $out "\n};\n\n"; + printf $out "const uint8_t warning_default[%d] = {\n", + $#warn_noall + 2; + print $out "\tWARN_INIT_ON"; # for entry 0 + foreach my $warn (@warn_noall) { + print $out ",\n\tWARN_INIT_", uc($warn->{def}); + } + print $out "\n};\n\n"; + printf $out "uint8_t warning_state[%d];\t/* Current state */\n", + $#warn_noall + 2; + printf $out "uint8_t warning_state_init[%d];\t/* Command-line state, for reset */\n", + $#warn_noall + 2; +} elsif ($what eq 'h') { + my $filename = basename($outfile); + my $guard = $filename; + $guard =~ s/[^A-Za-z0-9_]+/_/g; + $guard = "NASM_\U$guard"; + + print $out "#ifndef $guard\n"; + print $out "#define $guard\n"; + print $out "\n"; + print $out "#ifndef WARN_SHR\n"; + print $out "# error \"$filename should only be included from within error.h\"\n"; + print $out "#endif\n\n"; + print $out "enum warn_index {\n"; + printf $out "\tWARN_IDX_%-23s = %3d, /* not suppressible */\n", 'NONE', 0; + my $n = 1; + foreach my $warn (@warnings) { + printf $out "\tWARN_IDX_%-23s = %3d%s /* %s */\n", + $warn->{cname}, $n, + ($n == $#warnings + 1) ? " " : ",", + $warn->{help}; + $n++; + } + print $out "};\n\n"; + + print $out "enum warn_const {\n"; + printf $out "\tWARN_%-27s = %3d << WARN_SHR", 'NONE', 0; + my $n = 1; + foreach my $warn (@warn_noall) { + printf $out ",\n\tWARN_%-27s = %3d << WARN_SHR", $warn->{cname}, $n++; + } + print $out "\n};\n\n"; + + printf $out "extern const char * const warning_name[%d];\n", + $#warnings + 2; + printf $out "extern const char * const warning_help[%d];\n", + $#warnings + 2; + printf $out "extern const uint8_t warning_default[%d];\n", + $#warn_noall + 2; + printf $out "extern uint8_t warning_state[%d];\n", + $#warn_noall + 2; + printf $out "extern uint8_t warning_state_init[%d];\n", + $#warn_noall + 2; + print $out "\n#endif /* $guard */\n"; +} elsif ($what eq 'doc') { + my %whatdef = ( 'on' => 'Enabled', + 'off' => 'Disabled', + 'err' => 'Enabled and promoted to error' ); + foreach my $warn (@warnings) { + + my @doc = @{$warn->{doc}}; + shift @doc while ($doc[0] =~ /^\s*$/); + pop @doc while ($doc[$#doc] =~ /^\s*$/); + + print $out "\\b \\i\\c{", $warn->{name}, "} ", @doc; + + my $docdef = $whatdef{$warn->{def}}; + if (defined($docdef)) { + print $out $docdef, " by default.\n"; + } + + print $out "\n"; + } +} +close($out); diff --git a/configure.ac b/configure.ac index 38b3b596..1e981d03 100644 --- a/configure.ac +++ b/configure.ac @@ -24,24 +24,23 @@ AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_INSTALL -dnl If the user did not specify a CFLAGS default, change default -O2 -dnl to either -O3 (normal) or -O0 (for debugging) +pa_no_optimize=false + +dnl If the user did not specify a CFLAGS default, change default +dnl to -O0 for debugging PA_ARG_DISABLED([optimization], [compile without optimization (-O0) to help debugging], - [pa_optimize=-O0], [pa_optimize=-O3]) + [pa_no_optimize=true]) dnl Compile and link with dwarf debug PA_ARG_ENABLED([gdb], [disable optimization and compile with extra debug information for GDB debugger], - [pa_optimize='-O0' - PA_ADD_CFLAGS([-ggdb3]) - ]) - -AS_IF([test x"$pa_init_cflags" = x], - [CFLAGS=`echo "$CFLAGS" | sed -e "s/-O2/$pa_optimize/"`]) + [PA_ADD_CFLAGS([-ggdb3]) + pa_no_optimize=true]) -AS_IF([test x"$pa_optimize" = "x-O0"], - [PA_ADD_CFLAGS([-fno-omit-frame-pointer])]) +AS_IF([$pa_no_optimize], + [PA_ADD_CFLAGS([-O0]) + PA_ADD_CFLAGS([-fno-omit-frame-pointer])]) dnl Abort on panic PA_ARG_ENABLED([panic-abort], @@ -116,6 +115,8 @@ AC_CHECK_FUNCS(strncasecmp strnicmp) AC_CHECK_FUNCS(strsep) AC_CHECK_FUNCS(strnlen) AC_CHECK_FUNCS(strrchrnul) +AC_CHECK_FUNCS(iscntrl) +AC_CHECK_FUNCS(isascii) AC_CHECK_FUNCS(getuid) AC_CHECK_FUNCS(getgid) @@ -206,9 +207,10 @@ PA_HAVE_FUNC(_byteswap_ulong, (0)) PA_HAVE_FUNC(_byteswap_uint64, (0)) dnl -dnl Check for __builtin_constant_p() +dnl Some rather useful gcc extensions... dnl PA_HAVE_FUNC(__builtin_constant_p, (0)) +PA_HAVE_FUNC(__builtin_choose_expr, (0,1,2)) dnl dnl Check for supported gcc attributes; some compilers (e.g. Sun CC) @@ -230,12 +232,13 @@ PA_FUNC_ATTRIBUTE_ERROR dnl dnl support function sections (if available) dnl -PA_ARG_ENABLED([sections], - [compile with function/data section support], +PA_ARG_DISABLED([sections], + [don't try to compile with function/data section support], + [], [PA_ADD_CLDFLAGS([-ffunction-sections]) PA_ADD_CLDFLAGS([-fdata-sections]) PA_ADD_CLDFLAGS([-Wl,--gc-sections])], - []) + ) dnl dnl support LTO diff --git a/disasm/ndisasm.c b/disasm/ndisasm.c index 2d0cf153..0863309f 100644 --- a/disasm/ndisasm.c +++ b/disasm/ndisasm.c @@ -69,7 +69,7 @@ static const char *help = static void output_ins(uint64_t, uint8_t *, int, char *); static void skip(uint32_t dist, FILE * fp); -static void ndisasm_verror(int severity, const char *fmt, va_list va) +static void ndisasm_verror(errflags severity, const char *fmt, va_list va) { vfprintf(stderr, fmt, va); @@ -94,7 +94,7 @@ int main(int argc, char **argv) int64_t offset; FILE *fp; - tolower_init(); + nasm_ctype_init(); nasm_set_verror(ndisasm_verror); iflag_clear_all(&prefer); diff --git a/doc/Makefile.in b/doc/Makefile.in index 27e6fadb..efe5fccb 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -31,7 +31,7 @@ CP_UF = cp -ufv # Auxiliary files referenced by the HTML files HTMLAUX = nasmdoc.css local.css nasmlogw.png -SRCS = nasmdoc.src inslist.src changes.src version.src +SRCS = nasmdoc.src inslist.src changes.src warnings.src version.src OUT = html nasmdoc.txt nasmdoc.pdf .SUFFIXES: diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index ea6f10f2..5ce113a2 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -814,82 +814,7 @@ disable it by \c{-w-orphan-labels}. The current \i{warning classes} are: -\b \i\c{other} specifies any warning not otherwise specified in any -class. Enabled by default. - -\b \i\c{macro-params} covers warnings about \i{multi-line macros} -being invoked with the wrong number of parameters. Enabled by default; -see \k{mlmacover} for an example of why you might want to disable it. - -\b \i\c{macro-selfref} warns if a macro references itself. Disabled by -default. - -\b \i\c{macro-defaults} warns when a macro has more default parameters -than optional parameters. Enabled by default; see \k{mlmacdef} for why -you might want to disable it. - -\b \i\c{orphan-labels} covers warnings about source lines which -contain no instruction but define a label without a trailing colon. -NASM warns about this somewhat obscure condition by default; -see \k{syntax} for more information. - -\b \i\c{number-overflow} covers warnings about numeric constants which -don't fit in 64 bits. Enabled by default. - -\b \i\c{gnu-elf-extensions} warns if 8-bit or 16-bit relocations -are used in \c{-f elf} format. The GNU extensions allow this. -Disabled by default. - -\b \i\c{float-overflow} warns about floating point overflow. -Enabled by default. - -\b \i\c{float-denorm} warns about floating point denormals. -Disabled by default. - -\b \i\c{float-underflow} warns about floating point underflow. -Disabled by default. - -\b \i\c{float-toolong} warns about too many digits in floating-point numbers. -Enabled by default. - -\b \i\c{user} controls \c{%warning} directives (see \k{pperror}). -Enabled by default. - -\b \i\c{lock} warns about \c{LOCK} prefixes on unlockable instructions. -Enabled by default. - -\b \i\c{hle} warns about invalid use of the HLE \c{XACQUIRE} or \c{XRELEASE} -prefixes. -Enabled by default. - -\b \i\c{bnd} warns about ineffective use of the \c{BND} prefix when a relaxed -form of jmp instruction becomes jmp short form. -Enabled by default. - -\b \i\c{zext-reloc} warns that a relocation has been zero-extended due -to limitations in the output format. Enabled by default. - -\b \i\c\{ptr} warns about keywords used in other assemblers that might -indicate a mistake in the source code. Currently only the MASM -\c{PTR} keyword is recognized. Enabled by default. - -\b \i\c{bad-pragma} warns about a malformed or otherwise unparsable -\c{%pragma} directive. Disabled by default. - -\b \i\c{unknown-pragma} warns about an unknown \c{%pragma} directive. -This is not yet implemented. Disabled by default. - -\b \i\c{not-my-pragma} warns about a \c{%pragma} directive which is -not applicable to this particular assembly session. This is not yet -implemented. Disabled by default. - -\b \i\c{unknown-warning} warns about a \c{-w} or \c{-W} option or a -\c{[WARNING]} directive that contains an unknown warning name or is -otherwise not possible to process. Disabled by default. - -\b \i\c{all} is an alias for \e{all} suppressible warning classes. -Thus, \c{-w+all} enables all available warnings, and \c{-w-all} -disables warnings entirely (since NASM 2.13). +\& warnings.src Since version 2.00, NASM has also supported the \c{gcc}-like syntax \c{-Wwarning-class} and \c{-Wno-warning-class} instead of diff --git a/include/compiler.h b/include/compiler.h index 4178c98e..7a80e2e4 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 2007-2017 The NASM Authors - All Rights Reserved + * Copyright 2007-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -81,6 +81,7 @@ #include <stddef.h> #include <stdarg.h> #include <stdio.h> +#include <stdlib.h> #include <limits.h> #ifdef HAVE_SYS_TYPES_H @@ -179,6 +180,13 @@ typedef enum bool { false, true } bool; # define offsetof(t,m) ((size_t)&(((t *)0)->m)) #endif +/* This is like offsetof(), but takes an object rather than a type. + Ironically enough this is actually guaranteed to be portable, + as far as I know... */ +#ifndef offsetin +# define offsetin(p,m) ((const char *)&((p).m) - (const char *)&(p)) +#endif + /* The container_of construct: if p is a pointer to member m of container class c, then return a pointer to the container of which *p is a member. */ @@ -345,11 +353,54 @@ size_t strnlen(const char *s, size_t maxlen); /* Determine probabilistically if something is a compile-time constant */ #ifdef HAVE___BUILTIN_CONSTANT_P -# define is_constant(x) __builtin_constant_p(x) +# if defined(__GNUC__) && (__GNUC__ >= 5) +# define is_constant(x) __builtin_constant_p((x)) +# else +# define is_constant(x) false +# endif #else # define is_constant(x) false #endif +/* + * If we can guarantee that a particular expression is constant, use it, + * otherwise use a different version. + */ +#if defined(__GNUC__) && (__GNUC__ >= 3) +# define not_pedantic_start \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wpedantic\"") +# define not_pedantic_end \ + _Pragma("GCC diagnostic pop") +#else +# define not_pedantic_start +# define not_pedantic_end +#endif + +#ifdef HAVE___BUILTIN_CHOOSE_EXPR +# define if_constant(x,y) __builtin_choose_expr(is_constant(x),(x),(y)) +#else +# define if_constant(x,y) (y) +#endif + +/* + * The autoconf documentation states: + * + * `va_copy' + * The C99 standard provides `va_copy' for copying `va_list' + * variables. It may be available in older environments too, though + * possibly as `__va_copy' (e.g., `gcc' in strict pre-C99 mode). + * These can be tested with `#ifdef'. A fallback to `memcpy (&dst, + * &src, sizeof (va_list))' gives maximum portability. + */ +#ifndef va_copy +# ifdef __va_copy +# define va_copy(dst,src) __va_copy(dst,src) +# else +# define va_copy(dst,src) memcpy(&(dst),&(src),sizeof(va_list)) +# endif +#endif + /* Watcom doesn't handle switch statements with 64-bit types, hack around it */ #ifdef __WATCOMC__ # define BOGUS_CASE 0x76543210 diff --git a/include/error.h b/include/error.h index 477a26d7..9c935214 100644 --- a/include/error.h +++ b/include/error.h @@ -46,100 +46,82 @@ extern FILE *error_file; /* Error file descriptor */ /* + * Typedef for the severity field + */ +typedef uint32_t errflags; + +/* * An error reporting function should look like this. */ -void printf_func(2, 3) nasm_error(int severity, const char *fmt, ...); -fatal_func printf_func(2, 3) nasm_fatal(int flags, const char *fmt, ...); -fatal_func printf_func(2, 3) nasm_panic(int flags, const char *fmt, ...); +void printf_func(2, 3) nasm_error(errflags severity, const char *fmt, ...); +void printf_func(1, 2) nasm_debug(const char *fmt, ...); +void printf_func(2, 3) nasm_debugf(errflags flags, const char *fmt, ...); +void printf_func(1, 2) nasm_note(const char *fmt, ...); +void printf_func(2, 3) nasm_notef(errflags flags, const char *fmt, ...); +void printf_func(2, 3) nasm_warn(errflags flags, const char *fmt, ...); +void printf_func(1, 2) nasm_nonfatal(const char *fmt, ...); +void printf_func(2, 3) nasm_nonfatalf(errflags flags, const char *fmt, ...); +fatal_func printf_func(1, 2) nasm_fatal(const char *fmt, ...); +fatal_func printf_func(2, 3) nasm_fatalf(errflags flags, const char *fmt, ...); +fatal_func printf_func(1, 2) nasm_panic(const char *fmt, ...); +fatal_func printf_func(2, 3) nasm_panicf(errflags flags, const char *fmt, ...); fatal_func nasm_panic_from_macro(const char *file, int line); #define panic() nasm_panic_from_macro(__FILE__, __LINE__); -typedef void (*vefunc) (int severity, const char *fmt, va_list ap); +typedef void (*vefunc) (errflags severity, const char *fmt, va_list ap); extern vefunc nasm_verror; + static inline vefunc nasm_set_verror(vefunc ve) { - vefunc old_verror = nasm_verror; - nasm_verror = ve; - return old_verror; + vefunc old_verror = nasm_verror; + nasm_verror = ve; + return old_verror; } /* * These are the error severity codes which get passed as the first * argument to an efunc. */ - -#define ERR_DEBUG 0x00000000 /* put out debugging message */ -#define ERR_NOTE 0x00000001 /* additional error information */ -#define ERR_WARNING 0x00000002 /* warn only: no further action */ -#define ERR_NONFATAL 0x00000003 /* terminate assembly after phase */ -#define ERR_FATAL 0x00000006 /* instantly fatal: exit with error */ -#define ERR_PANIC 0x00000007 /* internal error: panic instantly - * and dump core for reference */ -#define ERR_MASK 0x00000007 /* mask off the above codes */ -#define ERR_NOFILE 0x00000010 /* don't give source file name/line */ -#define ERR_HERE 0x00000020 /* point to a specific source location */ -#define ERR_USAGE 0x00000040 /* print a usage message */ -#define ERR_PASS1 0x00000080 /* only print this error on pass 1 */ -#define ERR_PASS2 0x00000100 /* only print this error on pass 2 */ - -#define ERR_NO_SEVERITY 0x00000200 /* suppress printing severity */ -#define ERR_PP_PRECOND 0x00000400 /* for preprocessor use */ -#define ERR_PP_LISTMACRO 0x00000800 /* from preproc->error_list_macros() */ +#define ERR_DEBUG 0x00000000 /* put out debugging message */ +#define ERR_NOTE 0x00000001 /* additional error information */ +#define ERR_WARNING 0x00000002 /* warn only: no further action */ +#define ERR_NONFATAL 0x00000003 /* terminate assembly after phase */ +#define ERR_FATAL 0x00000006 /* instantly fatal: exit with error */ +#define ERR_PANIC 0x00000007 /* internal error: panic instantly + * and dump core for reference */ +#define ERR_MASK 0x00000007 /* mask off the above codes */ +#define ERR_NOFILE 0x00000010 /* don't give source file name/line */ +#define ERR_HERE 0x00000020 /* point to a specific source location */ +#define ERR_USAGE 0x00000040 /* print a usage message */ +#define ERR_PASS1 0x00000080 /* only print this error on pass one */ +#define ERR_PASS2 0x00000100 /* only print this error on pass one */ + +#define ERR_NO_SEVERITY 0x00000200 /* suppress printing severity */ +#define ERR_PP_PRECOND 0x00000400 /* for preprocessor use */ +#define ERR_PP_LISTMACRO 0x00000800 /* from preproc->error_list_macros() */ /* * These codes define specific types of suppressible warning. * They are assumed to occupy the most significant bits of the * severity code. */ - #define WARN_SHR 12 /* how far to shift right */ -#define WARN(x) ((x) << WARN_SHR) -#define WARN_MASK WARN(~0) -#define WARN_IDX(x) ((x) >> WARN_SHR) - -#define WARN_MNP WARN( 1) /* macro-num-parameters warning */ -#define WARN_MSR WARN( 2) /* macro self-reference */ -#define WARN_MDP WARN( 3) /* macro default parameters check */ -#define WARN_OL WARN( 4) /* orphan label (no colon, and alone on line) */ -#define WARN_NOV WARN( 5) /* numeric overflow */ -#define WARN_GNUELF WARN( 6) /* using GNU ELF extensions */ -#define WARN_FL_OVERFLOW WARN( 7) /* FP overflow */ -#define WARN_FL_DENORM WARN( 8) /* FP denormal */ -#define WARN_FL_UNDERFLOW WARN( 9) /* FP underflow */ -#define WARN_FL_TOOLONG WARN(10) /* FP too many digits */ -#define WARN_USER WARN(11) /* %warning directives */ -#define WARN_LOCK WARN(12) /* bad LOCK prefixes */ -#define WARN_HLE WARN(13) /* bad HLE prefixes */ -#define WARN_BND WARN(14) /* bad BND prefixes */ -#define WARN_ZEXTRELOC WARN(15) /* relocation zero-extended */ -#define WARN_PTR WARN(16) /* not a NASM keyword */ -#define WARN_BAD_PRAGMA WARN(17) /* malformed pragma */ -#define WARN_UNKNOWN_PRAGMA WARN(18) /* unknown pragma */ -#define WARN_NOTMY_PRAGMA WARN(19) /* pragma inapplicable */ -#define WARN_UNK_WARNING WARN(20) /* unknown warning */ -#define WARN_NEG_REP WARN(21) /* negative repeat count */ -#define WARN_PHASE WARN(22) /* phase error in pass 1 */ -#define WARN_LABEL_REDEF WARN(23) /* label redefined, but consistent */ -#define WARN_LABEL_LATE WARN(24) /* label (re)defined during code generation */ - -/* These two should come last */ -#define WARN_ALL (24+2) /* Do not use WARN() here */ -#define WARN_OTHER WARN(WARN_ALL-1) /* any noncategorized warning */ +#define WARN_IDX(x) (((errflags)(x)) >> WARN_SHR) +#define WARN_MASK ((~(errflags)0) << WARN_SHR) /* This is a bitmask */ -#define WARN_ST_ENABLED 1 /* Warning is currently enabled */ -#define WARN_ST_ERROR 2 /* Treat this warning as an error */ - -struct warning { - const char *name; - const char *help; - uint8_t state; /* Default state for this warning */ -}; -extern const struct warning warnings[WARN_ALL+1]; -extern uint8_t warning_state[WARN_ALL]; -extern uint8_t warning_state_init[WARN_ALL]; +#define WARN_ST_ENABLED 1 /* Warning is currently enabled */ +#define WARN_ST_ERROR 2 /* Treat this warning as an error */ + +/* Possible initial state for warnings */ +#define WARN_INIT_OFF 0 +#define WARN_INIT_ON WARN_ST_ENABLED +#define WARN_INIT_ERR (WARN_ST_ENABLED|WARN_ST_ERROR) /* Process a warning option or directive */ -bool set_warning_status(const char *); +bool set_warning_status(const char *value); + +/* Should be included from within error.h only */ +#include "warnings.h" #endif /* NASM_ERROR_H */ diff --git a/include/hashtbl.h b/include/hashtbl.h index 25f2d2d5..239f6104 100644 --- a/include/hashtbl.h +++ b/include/hashtbl.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2017 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -43,43 +43,58 @@ #include <stddef.h> #include "nasmlib.h" -struct hash_tbl_node { +struct hash_node { uint64_t hash; - const char *key; + const void *key; + size_t keylen; void *data; }; struct hash_table { - struct hash_tbl_node *table; + struct hash_node *table; size_t load; size_t size; size_t max_load; }; struct hash_insert { - uint64_t hash; struct hash_table *head; - struct hash_tbl_node *where; + struct hash_node *where; + struct hash_node node; +}; + +struct hash_iterator { + const struct hash_table *head; + const struct hash_node *next; }; uint64_t crc64(uint64_t crc, const char *string); uint64_t crc64i(uint64_t crc, const char *string); +uint64_t crc64b(uint64_t crc, const void *data, size_t len); +uint64_t crc64ib(uint64_t crc, const void *data, size_t len); #define CRC64_INIT UINT64_C(0xffffffffffffffff) -/* Some reasonable initial sizes... */ -#define HASH_SMALL 4 -#define HASH_MEDIUM 16 -#define HASH_LARGE 256 - -void hash_init(struct hash_table *head, size_t size); void **hash_find(struct hash_table *head, const char *string, struct hash_insert *insert); +void **hash_findb(struct hash_table *head, const void *key, size_t keylen, + struct hash_insert *insert); void **hash_findi(struct hash_table *head, const char *string, struct hash_insert *insert); -void **hash_add(struct hash_insert *insert, const char *string, void *data); -void *hash_iterate(const struct hash_table *head, - struct hash_tbl_node **iterator, - const char **key); +void **hash_findib(struct hash_table *head, const void *key, size_t keylen, + struct hash_insert *insert); +void **hash_add(struct hash_insert *insert, const void *key, void *data); +static inline void hash_iterator_init(const struct hash_table *head, + struct hash_iterator *iterator) +{ + iterator->head = head; + iterator->next = head->table; +} +const struct hash_node *hash_iterate(struct hash_iterator *iterator); + +#define hash_for_each(_head,_it,_np) \ + for (hash_iterator_init((_head), &(_it)), (_np) = hash_iterate(&(_it)) ; \ + (_np) ; (_np) = hash_iterate(&(_it))) + void hash_free(struct hash_table *head); void hash_free_all(struct hash_table *head, bool free_keys); diff --git a/include/ilog2.h b/include/ilog2.h index 445ba56b..3a828be8 100644 --- a/include/ilog2.h +++ b/include/ilog2.h @@ -44,9 +44,9 @@ #endif #ifdef inline_prototypes -extern int const_func ilog2_32(uint32_t v); -extern int const_func ilog2_64(uint64_t v); -extern int const_func ilog2_64(uint64_t vv); +extern unsigned int const_func ilog2_32(uint32_t v); +extern unsigned int const_func ilog2_64(uint64_t v); +extern unsigned int const_func ilog2_64(uint64_t vv); extern int const_func alignlog2_32(uint32_t v); extern int const_func alignlog2_64(uint64_t v); #endif @@ -62,11 +62,21 @@ extern int const_func alignlog2_64(uint64_t v); } while (0) -#if defined(__GNUC__) && defined(__x86_64__) +#if defined(HAVE___BUILTIN_CLZ) && INT_MAX == 2147483647 -extern_inline int const_func ilog2_32(uint32_t v) +extern_inline unsigned int const_func ilog2_32(uint32_t v) { - int n; + if (!v) + return 0; + + return __builtin_clz(v) ^ 31; +} + +#elif defined(__GNUC__) && defined(__x86_64__) + +extern_inline unsigned int const_func ilog2_32(uint32_t v) +{ + unsigned int n; __asm__("bsrl %1,%0" : "=r" (n) @@ -76,9 +86,9 @@ extern_inline int const_func ilog2_32(uint32_t v) #elif defined(__GNUC__) && defined(__i386__) -extern_inline int const_func ilog2_32(uint32_t v) +extern_inline unsigned int const_func ilog2_32(uint32_t v) { - int n; + unsigned int n; #ifdef __i686__ __asm__("bsrl %1,%0 ; cmovz %2,%0\n" @@ -93,19 +103,9 @@ extern_inline int const_func ilog2_32(uint32_t v) return n; } -#elif defined(HAVE___BUILTIN_CLZ) && INT_MAX == 2147483647 - -extern_inline int const_func ilog2_32(uint32_t v) -{ - if (!v) - return 0; - - return __builtin_clz(v) ^ 31; -} - #elif defined(HAVE__BITSCANREVERSE) -extern_inline int const_func ilog2_32(uint32_t v) +extern_inline unsigned int const_func ilog2_32(uint32_t v) { unsigned long ix; return _BitScanReverse(&ix, v) ? v : 0; @@ -113,9 +113,9 @@ extern_inline int const_func ilog2_32(uint32_t v) #else -extern_inline int const_func ilog2_32(uint32_t v) +extern_inline unsigned int const_func ilog2_32(uint32_t v) { - int p = 0; + unsigned int p = 0; ROUND(v, p, 16); ROUND(v, p, 8); @@ -128,31 +128,31 @@ extern_inline int const_func ilog2_32(uint32_t v) #endif -#if defined(__GNUC__) && defined(__x86_64__) +#if defined(HAVE__BUILTIN_CLZLL) && LLONG_MAX == 9223372036854775807LL -extern_inline int const_func ilog2_64(uint64_t v) +extern_inline unsigned int const_func ilog2_64(uint64_t v) { - uint64_t n; + if (!v) + return 0; - __asm__("bsrq %1,%0" - : "=r" (n) - : "rm" (v), "0" (UINT64_C(0))); - return n; + return __builtin_clzll(v) ^ 63; } -#elif defined(HAVE__BUILTIN_CLZLL) && LLONG_MAX == 9223372036854775807LL +#elif defined(__GNUC__) && defined(__x86_64__) -extern_inline int const_func ilog2_64(uint64_t v) +extern_inline unsigned int const_func ilog2_64(uint64_t v) { - if (!v) - return 0; + uint64_t n; - return __builtin_clzll(v) ^ 63; + __asm__("bsrq %1,%0" + : "=r" (n) + : "rm" (v), "0" (UINT64_C(0))); + return n; } #elif defined(HAVE__BITSCANREVERSE64) -extern_inline int const_func ilog2_64(uint64_t v) +extern_inline unsigned int const_func ilog2_64(uint64_t v) { unsigned long ix; return _BitScanReverse64(&ix, v) ? ix : 0; @@ -160,9 +160,9 @@ extern_inline int const_func ilog2_64(uint64_t v) #else -extern_inline int const_func ilog2_64(uint64_t vv) +extern_inline unsigned int const_func ilog2_64(uint64_t vv) { - int p = 0; + unsigned int p = 0; uint32_t v; v = vv >> 32; @@ -171,13 +171,7 @@ extern_inline int const_func ilog2_64(uint64_t vv) else v = vv; - ROUND(v, p, 16); - ROUND(v, p, 8); - ROUND(v, p, 4); - ROUND(v, p, 2); - ROUND(v, p, 1); - - return p; + return p + ilog2_32(v); } #endif diff --git a/include/nasm.h b/include/nasm.h index 020e363b..eb376b16 100644 --- a/include/nasm.h +++ b/include/nasm.h @@ -44,6 +44,7 @@ #include <time.h> #include "nasmlib.h" +#include "nctype.h" #include "strlist.h" #include "preproc.h" #include "insnsi.h" /* For enum opcode */ @@ -51,6 +52,8 @@ #include "labels.h" /* For enum mangle_index, enum label_type */ #include "opflags.h" #include "regs.h" +#include "srcfile.h" +#include "error.h" /* Time stamp for the official start of compilation */ struct compile_time { @@ -150,6 +153,7 @@ typedef void (*ldfunc)(char *label, int32_t segment, int64_t offset, enum token_type { /* token types, other than chars */ TOKEN_INVALID = -1, /* a placeholder value */ TOKEN_EOS = 0, /* end of string */ + TOKEN_QMARK = '?', TOKEN_EQ = '=', TOKEN_GT = '>', TOKEN_LT = '<', /* aliases */ @@ -165,13 +169,15 @@ enum token_type { /* token types, other than chars */ TOKEN_BASE, /* $$ */ TOKEN_SPECIAL, /* BYTE, WORD, DWORD, QWORD, FAR, NEAR, etc */ TOKEN_PREFIX, /* A32, O16, LOCK, REPNZ, TIMES, etc */ - TOKEN_SHL, /* << */ + TOKEN_SHL, /* << or <<< */ TOKEN_SHR, /* >> */ + TOKEN_SAR, /* >>> */ TOKEN_SDIV, /* // */ TOKEN_SMOD, /* %% */ TOKEN_GE, /* >= */ TOKEN_LE, /* <= */ TOKEN_NE, /* <> (!= is same as <>) */ + TOKEN_LEG, /* <=> */ TOKEN_DBL_AND, /* && */ TOKEN_DBL_OR, /* || */ TOKEN_DBL_XOR, /* ^^ */ @@ -324,6 +330,13 @@ typedef expr *(*evalfunc)(scanner sc, void *scprivate, /* * preprocessors ought to look like this: */ + +enum preproc_mode { + PP_NORMAL, /* Assembly */ + PP_DEPS, /* Dependencies only */ + PP_PREPROC /* Preprocessing only */ +}; + struct preproc_ops { /* * Called once at the very start of assembly. @@ -335,7 +348,8 @@ struct preproc_ops { * of the pass, an error reporting function, an evaluator * function, and a listing generator to talk to. */ - void (*reset)(const char *file, int pass, StrList **deplist); + void (*reset)(const char *file, enum preproc_mode mode, + struct strlist *deplist); /* * Called to fetch a line of preprocessed source. The line @@ -344,8 +358,15 @@ struct preproc_ops { */ char *(*getline)(void); - /* Called at the end of a pass */ - void (*cleanup)(int pass); + /* Called at the end of each pass. */ + void (*cleanup_pass)(void); + + /* + * Called at the end of the assembly session, + * after cleanup_pass() has been called for the + * last pass. + */ + void (*cleanup_session)(void); /* Additional macros specific to output format */ void (*extra_stdmac)(macros_t *macros); @@ -361,52 +382,20 @@ struct preproc_ops { void (*pre_command)(const char *what, char *str); /* Include path from command line */ - void (*include_path)(char *path); + void (*include_path)(struct strlist *ipath); /* Unwind the macro stack when printing an error message */ - void (*error_list_macros)(int severity); + void (*error_list_macros)(errflags severity); }; extern const struct preproc_ops nasmpp; extern const struct preproc_ops preproc_nop; /* List of dependency files */ -extern StrList *depend_list; +extern struct strlist *depend_list; -/* - * Some lexical properties of the NASM source language, included - * here because they are shared between the parser and preprocessor. - */ - -/* - * isidstart matches any character that may start an identifier, and isidchar - * matches any character that may appear at places other than the start of an - * identifier. E.g. a period may only appear at the start of an identifier - * (for local labels), whereas a number may appear anywhere *but* at the - * start. - * isbrcchar matches any character that may placed inside curly braces as a - * decorator. E.g. {rn-sae}, {1to8}, {k1}{z} - */ - -#define isidstart(c) (nasm_isalpha(c) || \ - (c) == '_' || \ - (c) == '.' || \ - (c) == '?' || \ - (c) == '@') - -#define isidchar(c) (isidstart(c) || \ - nasm_isdigit(c) || \ - (c) == '$' || \ - (c) == '#' || \ - (c) == '~') - -#define isbrcchar(c) (isidchar(c) || \ - (c) == '-') - -/* Ditto for numeric constants. */ - -#define isnumstart(c) (nasm_isdigit(c) || (c) == '$') -#define isnumchar(c) (nasm_isalnum(c) || (c) == '_') +/* TASM mode changes some properties */ +extern bool tasm_compatible_mode; /* * inline function to skip past an identifier; returns the first character past @@ -416,10 +405,10 @@ static inline char *nasm_skip_identifier(const char *str) { const char *p = str; - if (!isidstart(*p++)) { + if (!nasm_isidstart(*p++)) { p = NULL; } else { - while (isidchar(*p++)) + while (nasm_isidchar(*p++)) ; } return (char *)p; @@ -900,7 +889,7 @@ struct ofmt { * the segment, by setting `*bits' to 16 or 32. Or, if it * doesn't wish to define a default, it can leave `bits' alone. */ - int32_t (*section)(char *name, int pass, int *bits); + int32_t (*section)(char *name, int *bits); /* * This function is called when a label is defined @@ -945,8 +934,7 @@ struct ofmt { * This procedure is called to allow the output driver to * process its own specific directives. When called, it has the * directive word in `directive' and the parameter string in - * `value'. It is called in both assembly passes, and `pass' - * will be either 1 or 2. + * `value'. * * The following values are (currently) possible for * directive_result: @@ -958,7 +946,7 @@ struct ofmt { * "invalid parameter to [*] directive" */ enum directive_result - (*directive)(enum directive directive, char *value, int pass); + (*directive)(enum directive directive, char *value); /* * This procedure is called after assembly finishes, to allow @@ -1240,14 +1228,6 @@ enum decorator_tokens { * Global modes */ -/* - * This declaration passes the "pass" number to all other modules - * "pass0" assumes the values: 0, 0, ..., 0, 1, 2 - * where 0 = optimizing pass - * 1 = pass 1 - * 2 = pass 2 - */ - /* * flag to disable optimizations selectively * this is useful to turn-off certain optimizations @@ -1262,10 +1242,58 @@ struct optimization { int flag; }; -extern int pass0; -extern int64_t passn; /* Actual pass number */ +/* + * Various types of compiler passes we may execute. + */ +enum pass_type { + PASS_INIT, /* Initialization, not doing anything yet */ + PASS_FIRST, /* The very first pass over the code */ + PASS_OPT, /* Optimization pass */ + PASS_STAB, /* Stabilization pass (original pass 1) */ + PASS_FINAL /* Code generation pass (original pass 2) */ +}; +extern const char * const _pass_types[]; +extern enum pass_type _pass_type; +static inline enum pass_type pass_type(void) +{ + return _pass_type; +} +static inline const char *pass_type_name(void) +{ + return _pass_types[_pass_type]; +} +/* True during initialization, no code read yet */ +static inline bool not_started(void) +{ + return pass_type() == PASS_INIT; +} +/* True for the initial pass and setup (old "pass2 < 2") */ +static inline bool pass_first(void) +{ + return pass_type() <= PASS_FIRST; +} +/* At this point we better have stable definitions */ +static inline bool pass_stable(void) +{ + return pass_type() >= PASS_STAB; +} +/* True for the code generation pass only, (old "pass1 >= 2") */ +static inline bool pass_final(void) +{ + return pass_type() >= PASS_FINAL; +} + +/* + * The actual pass number. 0 is used during initialization, the very + * first pass is 1, and then it is simply increasing numbers until we are + * done. + */ +extern int64_t _passn; /* Actual pass number */ +static inline int64_t pass_count(void) +{ + return _passn; +} -extern bool tasm_compatible_mode; extern struct optimization optimizing; extern int globalbits; /* 16, 32 or 64-bit mode */ extern int globalrel; /* default to relative addressing? */ diff --git a/include/nasmlib.h b/include/nasmlib.h index e57d0e6d..d744a7b8 100644 --- a/include/nasmlib.h +++ b/include/nasmlib.h @@ -41,7 +41,6 @@ #include "compiler.h" #include "bytesex.h" -#include <ctype.h> #include <stdio.h> #include <string.h> #ifdef HAVE_STRINGS_H @@ -49,28 +48,11 @@ #endif /* - * tolower table -- avoids a function call on some platforms. - * NOTE: unlike the tolower() function in ctype, EOF is *NOT* - * a permitted value, for obvious reasons. - */ -void tolower_init(void); -extern unsigned char nasm_tolower_tab[256]; -#define nasm_tolower(x) nasm_tolower_tab[(unsigned char)(x)] - -/* Wrappers around <ctype.h> functions */ -/* These are only valid for values that cannot include EOF */ -#define nasm_isspace(x) isspace((unsigned char)(x)) -#define nasm_isalpha(x) isalpha((unsigned char)(x)) -#define nasm_isdigit(x) isdigit((unsigned char)(x)) -#define nasm_isalnum(x) isalnum((unsigned char)(x)) -#define nasm_isxdigit(x) isxdigit((unsigned char)(x)) - -/* - * Wrappers around malloc, realloc and free. nasm_malloc will - * fatal-error and die rather than return NULL; nasm_realloc will - * do likewise, and will also guarantee to work right on being - * passed a NULL pointer; nasm_free will do nothing if it is passed - * a NULL pointer. + * Wrappers around malloc, realloc, free and a few more. nasm_malloc + * will fatal-error and die rather than return NULL; nasm_realloc will + * do likewise, and will also guarantee to work right on being passed + * a NULL pointer; nasm_free will do nothing if it is passed a NULL + * pointer. */ void * safe_malloc(1) nasm_malloc(size_t); void * safe_malloc(1) nasm_zalloc(size_t); @@ -82,6 +64,27 @@ char * safe_alloc nasm_strndup(const char *, size_t); char * safe_alloc nasm_strcat(const char *one, const char *two); char * safe_alloc end_with_null nasm_strcatn(const char *one, ...); +/* + * nasm_[v]asprintf() are variants of the semi-standard [v]asprintf() + * functions, except that we return the pointer instead of a count. + * The size of the string (including the final NUL!) is available + * by calling nasm_aprintf_size() afterwards. + * + * nasm_[v]axprintf() are similar, but allocates a user-defined amount + * of storage before the string, and returns a pointer to the + * allocated buffer. + */ +char * safe_alloc printf_func(1, 2) nasm_asprintf(const char *fmt, ...); +char * safe_alloc nasm_vasprintf(const char *fmt, va_list ap); +void * safe_alloc printf_func(2, 3) nasm_axprintf(size_t extra, const char *fmt, ...); +void * safe_alloc nasm_vaxprintf(size_t extra, const char *fmt, va_list ap); + +extern size_t _nasm_aprintf_size; +static inline size_t nasm_aprintf_size(void) +{ + return _nasm_aprintf_size; +} + /* Assert the argument is a pointer without evaluating it */ #define nasm_assert_pointer(p) ((void)sizeof(*(p))) @@ -93,12 +96,12 @@ char * safe_alloc end_with_null nasm_strcatn(const char *one, ...); * loses any "const" part of the argument, although hopefully the * compiler will warn in that case. */ -#define nasm_delete(p) \ - do { \ - void **_pp = (void **)&(p); \ - nasm_assert_pointer(p); \ - nasm_free(*_pp); \ - *_pp = NULL; \ +#define nasm_delete(p) \ + do { \ + void **_pp = (void **)&(p); \ + nasm_assert_pointer(p); \ + nasm_free(*_pp); \ + *_pp = NULL; \ } while (0) #define nasm_zero(x) (memset(&(x), 0, sizeof(x))) #define nasm_zeron(p,n) (memset((p), 0, (n)*sizeof(*(p)))) @@ -111,33 +114,61 @@ void nasm_read(void *, size_t, FILE *); void nasm_write(const void *, size_t, FILE *); /* - * NASM assert failure + * NASM failure at build time if the argument is false */ -fatal_func nasm_assert_failed(const char *, int, const char *); -#define nasm_assert(x) \ - do { \ - if (unlikely(!(x))) \ - nasm_assert_failed(__FILE__,__LINE__,#x); \ +#ifdef static_assert +# define nasm_static_assert(x) static_assert((x), #x) +#elif defined(HAVE_FUNC_ATTRIBUTE_ERROR) && defined(__OPTIMIZE__) +# define nasm_static_assert(x) \ + do { \ + if (!(x)) { \ + extern void __attribute__((error("assertion " #x " failed"))) \ + _nasm_static_fail(void); \ + _nasm_static_fail(); \ + } \ } while (0) +#else +/* See http://www.drdobbs.com/compile-time-assertions/184401873 */ +# define nasm_static_assert(x) \ + do { enum { _static_assert_failed = 1/(!!(x)) }; } while (0) +#endif /* - * NASM failure at build time if the argument is false + * conditional static assert, if we know it is possible to determine + * the assert value at compile time. Since if_constant triggers + * pedantic warnings on gcc, turn them off explicitly around this code. */ #ifdef static_assert -# define nasm_static_assert(x) static_assert(x, #x) +# define nasm_try_static_assert(x) \ + do { \ + not_pedantic_start \ + static_assert(if_constant(x, true), #x); \ + not_pedantic_end \ + } while (0) #elif defined(HAVE_FUNC_ATTRIBUTE_ERROR) && defined(__OPTIMIZE__) -# define nasm_static_assert(x) \ - if (!(x)) { \ - extern void __attribute__((error("assertion " #x " failed"))) \ - _nasm_static_fail(void); \ - _nasm_static_fail(); \ - } +# define nasm_try_static_assert(x) \ + do { \ + if (!if_constant(x, true)) { \ + extern void __attribute__((error("assertion " #x " failed"))) \ + _nasm_static_fail(void); \ + _nasm_static_fail(); \ + } \ + } while (0) #else -/* See http://www.drdobbs.com/compile-time-assertions/184401873 */ -# define nasm_static_assert(x) \ - do { enum { _static_assert_failed = 1/(!!(x)) }; } while (0) +# define nasm_try_static_assert(x) ((void)0) #endif +/* + * NASM assert failure + */ +fatal_func nasm_assert_failed(const char *, int, const char *); +#define nasm_assert(x) \ + do { \ + nasm_try_static_assert(x); \ + if (unlikely(!(x))) \ + nasm_assert_failed(__FILE__,__LINE__,#x); \ + } while (0) + /* Utility function to generate a string for an invalid enum */ const char *invalid_enum_str(int); @@ -240,7 +271,7 @@ const char *filename_set_extension(const char *inname, const char *extension); /* * Power of 2 align helpers */ -#undef ALIGN_MASK /* Some BSD flavors define these in system headers */ +#undef ALIGN_MASK /* Some BSD flavors define these in system headers */ #undef ALIGN #define ALIGN_MASK(v, mask) (((v) + (mask)) & ~(mask)) #define ALIGN(v, a) ALIGN_MASK(v, (a) - 1) @@ -266,24 +297,8 @@ int bsi(const char *string, const char **array, int size); int bsii(const char *string, const char **array, int size); /* - * These functions are used to keep track of the source code file and name. + * Convenient string processing helper routines */ -void src_init(void); -void src_free(void); -const char *src_set_fname(const char *newname); -const char *src_get_fname(void); -int32_t src_set_linnum(int32_t newline); -int32_t src_get_linnum(void); -/* Can be used when there is no need for the old information */ -void src_set(int32_t line, const char *filename); -/* - * src_get gets both the source file name and line. - * It is also used if you maintain private status about the source location - * It return 0 if the information was the same as the last time you - * checked, -2 if the name changed and (new-old) if just the line changed. - */ -int32_t src_get(int32_t *xline, const char **xname); - char *nasm_skip_spaces(const char *p); char *nasm_skip_word(const char *p); char *nasm_zap_spaces_fwd(char *p); @@ -312,8 +327,8 @@ const char * pure_func prefix_name(int); * Wrappers around fopen()... for future change to a dedicated structure */ enum file_flags { - NF_BINARY = 0x00000000, /* Binary file (default) */ - NF_TEXT = 0x00000001, /* Text file */ + NF_BINARY = 0x00000000, /* Binary file (default) */ + NF_TEXT = 0x00000001, /* Text file */ NF_NONFATAL = 0x00000000, /* Don't die on open failure (default) */ NF_FATAL = 0x00000002, /* Die on open failure */ NF_FORMAP = 0x00000004 /* Intended to use nasm_map_file() */ diff --git a/include/nctype.h b/include/nctype.h new file mode 100644 index 00000000..ba594b97 --- /dev/null +++ b/include/nctype.h @@ -0,0 +1,127 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2018 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +/* + * ctype-like functions specific to NASM + */ +#ifndef NASM_NCTYPE_H +#define NASM_NCTYPE_H + +#include "compiler.h" + +void nasm_ctype_init(void); + +extern unsigned char nasm_tolower_tab[256]; +static inline char nasm_tolower(char x) +{ + return nasm_tolower_tab[(unsigned char)x]; +} + +/* + * NASM ctype table + */ +enum nasm_ctype { + NCT_CTRL = 0x0001, + NCT_SPACE = 0x0002, + NCT_ASCII = 0x0004, + NCT_LOWER = 0x0008, /* isalpha(x) && tolower(x) == x */ + NCT_UPPER = 0x0010, /* isalpha(x) && tolower(x) != x */ + NCT_DIGIT = 0x0020, + NCT_HEX = 0x0040, + NCT_ID = 0x0080, + NCT_IDSTART = 0x0100, + NCT_MINUS = 0x0200, /* - */ + NCT_DOLLAR = 0x0400, /* $ */ + NCT_UNDER = 0x0800, /* _ */ + NCT_QUOTE = 0x1000 /* " ' ` */ +}; + +extern uint16_t nasm_ctype_tab[256]; +static inline bool nasm_ctype(unsigned char x, enum nasm_ctype mask) +{ + return (nasm_ctype_tab[x] & mask) != 0; +} + +static inline bool nasm_isspace(char x) +{ + return nasm_ctype(x, NCT_SPACE); +} + +static inline bool nasm_isalpha(char x) +{ + return nasm_ctype(x, NCT_LOWER|NCT_UPPER); +} + +static inline bool nasm_isdigit(char x) +{ + return nasm_ctype(x, NCT_DIGIT); +} +static inline bool nasm_isalnum(char x) +{ + return nasm_ctype(x, NCT_LOWER|NCT_UPPER|NCT_DIGIT); +} +static inline bool nasm_isxdigit(char x) +{ + return nasm_ctype(x, NCT_HEX); +} +static inline bool nasm_isidstart(char x) +{ + return nasm_ctype(x, NCT_IDSTART); +} +static inline bool nasm_isidchar(char x) +{ + return nasm_ctype(x, NCT_ID); +} +static inline bool nasm_isbrcchar(char x) +{ + return nasm_ctype(x, NCT_ID|NCT_MINUS); +} +static inline bool nasm_isnumstart(char x) +{ + return nasm_ctype(x, NCT_DIGIT|NCT_DOLLAR); +} +static inline bool nasm_isnumchar(char x) +{ + return nasm_ctype(x, NCT_DIGIT|NCT_LOWER|NCT_UPPER|NCT_UNDER); +} +static inline bool nasm_isquote(char x) +{ + return nasm_ctype(x, NCT_QUOTE); +} + +static inline void nasm_ctype_tasm_mode(void) +{ + /* No differences at the present moment */ +} + +#endif /* NASM_NCTYPE_H */ diff --git a/include/raa.h b/include/raa.h index 445318a8..e08d90bc 100644 --- a/include/raa.h +++ b/include/raa.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2009 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -36,52 +36,14 @@ #include "compiler.h" -struct real_raa; struct RAA; -union intorptr { - int64_t i; - void *p; -}; - -struct real_raa * never_null real_raa_init(void); -static inline struct RAA *never_null raa_init(void) -{ - return (struct RAA *)real_raa_init(); -} -static inline struct RAAPTR *never_null raa_init_ptr(void) -{ - return (struct RAAPTR *)real_raa_init(); -} -void real_raa_free(struct real_raa *); -static inline void raa_free(struct RAA *raa) -{ - real_raa_free((struct real_raa *)raa); -} -static inline void raa_free_ptr(struct RAAPTR *raa) -{ - real_raa_free((struct real_raa *)raa); -} -int64_t raa_read(struct RAA *, int32_t); -void *raa_read_ptr(struct RAAPTR *, int32_t); -struct real_raa * never_null -real_raa_write(struct real_raa *r, int32_t posn, union intorptr value); - -static inline struct RAA * never_null -raa_write(struct RAA *r, int32_t posn, int64_t value) -{ - union intorptr ip; - - ip.i = value; - return (struct RAA *)real_raa_write((struct real_raa *)r, posn, ip); -} - -static inline struct RAAPTR * never_null -raa_write_ptr(struct RAAPTR *r, int32_t posn, void *value) -{ - union intorptr ip; - - ip.p = value; - return (struct RAAPTR *)real_raa_write((struct real_raa *)r, posn, ip); -} +typedef uint64_t raaindex; + +#define raa_init() NULL +void raa_free(struct RAA *); +int64_t raa_read(struct RAA *, raaindex); +void *raa_read_ptr(struct RAA *, raaindex); +struct RAA * never_null raa_write(struct RAA *r, raaindex posn, int64_t value); +struct RAA * never_null raa_write_ptr(struct RAA *r, raaindex posn, void *value); #endif /* NASM_RAA_H */ diff --git a/include/strlist.h b/include/strlist.h index e00fc1f6..610aad4d 100644 --- a/include/strlist.h +++ b/include/strlist.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -32,24 +32,55 @@ * ----------------------------------------------------------------------- */ /* - * strlist.h - simple linked list of strings + * strlist.h - list of unique, ordered strings */ #ifndef NASM_STRLIST_H #define NASM_STRLIST_H #include "compiler.h" - -#include <string.h> - #include "nasmlib.h" +#include "hashtbl.h" + +struct strlist_entry { + struct strlist_entry *next; + size_t offset; + size_t size; + char str[1]; +}; -typedef struct string_list { - struct string_list *next; - char str[1]; -} StrList; +struct strlist { + struct hash_table hash; + struct strlist_entry *head, **tailp; + size_t nstr, size; + bool uniq; +}; -bool nasm_add_to_strlist(StrList **head, StrList *entry); -bool nasm_add_string_to_strlist(StrList **head, const char *str); +static inline const struct strlist_entry * +strlist_head(const struct strlist *list) +{ + return list ? list->head : NULL; +} +static inline size_t strlist_count(const struct strlist *list) +{ + return list ? list->nstr : 0; +} +static inline size_t strlist_size(const struct strlist *list) +{ + return list ? list->size : 0; +} +struct strlist safe_alloc *strlist_alloc(bool uniq); +const struct strlist_entry * never_null strlist_add(struct strlist *list, const char *str); +const struct strlist_entry * printf_func(2, 3) never_null + strlist_printf(struct strlist *list, const char *fmt, ...); +const struct strlist_entry * never_null + strlist_vprintf(struct strlist *list, const char *fmt, va_list ap); +const struct strlist_entry * +strlist_find(const struct strlist *list, const char *str); +void * safe_alloc strlist_linearize(const struct strlist *list, char sep); +void strlist_write(const struct strlist *list, const char *sep, FILE *f); +void strlist_free(struct strlist **listp); +#define strlist_for_each(p,h) list_for_each((p), strlist_head(h)) + #endif /* NASM_STRLIST_H */ diff --git a/include/ver.h b/include/ver.h index 62d9c52d..dfc4c6ad 100644 --- a/include/ver.h +++ b/include/ver.h @@ -41,7 +41,13 @@ extern const char nasm_version[]; extern const char nasm_date[]; extern const char nasm_compile_options[]; -extern const char nasm_comment[]; -extern const char nasm_signature[]; + +extern const char *nasm_comment(void); +extern size_t nasm_comment_len(void); + +extern const char *nasm_signature(void); +extern size_t nasm_signature_len(void); + +extern int nasm_test_run(void); #endif /* NASM_VER_H */ diff --git a/misc/Nindent b/misc/Nindent index 0d75ccca..a6c806ca 100755 --- a/misc/Nindent +++ b/misc/Nindent @@ -1,5 +1,5 @@ #!/bin/sh -PARAM="-npro -kr -i4 -ts8 -nut -sob -l80 -ss -ncs -cp1" +PARAM="-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1" RES=`indent --version` V1=`echo $RES | cut -d' ' -f3 | cut -d'.' -f1` V2=`echo $RES | cut -d' ' -f3 | cut -d'.' -f2` diff --git a/nasmlib/malloc.c b/nasmlib/alloc.c index dbb7384a..ad2cff3d 100644 --- a/nasmlib/malloc.c +++ b/nasmlib/alloc.c @@ -36,13 +36,11 @@ */ #include "compiler.h" - -#include <stdlib.h> - #include "nasmlib.h" #include "error.h" +#include "alloc.h" -static no_return nasm_alloc_failed(void) +no_return nasm_alloc_failed(void) { /* If nasm_fatal() gets us back here, then croak hard */ static bool already_here = false; @@ -50,7 +48,7 @@ static no_return nasm_alloc_failed(void) if (likely(!already_here)) { already_here = true; - nasm_fatal(0, "out of memory!"); + nasm_fatal("out of memory!"); } errfile = error_file; @@ -63,13 +61,6 @@ static no_return nasm_alloc_failed(void) abort(); } -static inline void *validate_ptr(void *p) -{ - if (unlikely(!p)) - nasm_alloc_failed(); - return p; -} - void *nasm_malloc(size_t size) { return validate_ptr(malloc(size)); diff --git a/output/strtbl.h b/nasmlib/alloc.h index 12771e4e..c599d213 100644 --- a/output/strtbl.h +++ b/nasmlib/alloc.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 2017 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -31,27 +31,18 @@ * * ----------------------------------------------------------------------- */ -#ifndef NASM_STRTBL_H -#define NASM_STRTBL_H +#ifndef NASMLIB_ALLOC_H +#define NASMLIB_ALLOC_H #include "compiler.h" -#include "hashtbl.h" -struct nasm_strtbl { - size_t size; - struct hash_table hash; -}; +no_return nasm_alloc_failed(void); -#define STRTBL_NONE ((size_t)-1) - -void strtbl_init(struct nasm_strtbl *tbl); -void strtbl_free(struct nasm_strtbl *tbl); -size_t strtbl_find(struct nasm_strtbl *tbl, const char *str); -size_t strtbl_add(struct nasm_strtbl *tbl, const char *str); -static inline size_t strtbl_size(const struct nasm_strtbl *tbl) +static inline void *validate_ptr(void *p) { - return tbl->size; + if (unlikely(!p)) + nasm_alloc_failed(); + return p; } -void * safe_alloc strtbl_generate(const struct nasm_strtbl *tbl); -#endif /* NASM_STRTBL_H */ +#endif /* NASMLIB_ALLOC_H */ diff --git a/nasmlib/asprintf.c b/nasmlib/asprintf.c new file mode 100644 index 00000000..be88d491 --- /dev/null +++ b/nasmlib/asprintf.c @@ -0,0 +1,92 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2018 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +#include "compiler.h" +#include "nasmlib.h" +#include "alloc.h" + +/* + * nasm_[v]asprintf() are variants of the semi-standard [v]asprintf() + * functions, except that we return the pointer instead of a count. + * The size of the string (including the final NUL!) is available + * by calling nasm_aprintf_size() afterwards. + * + * nasm_[v]axprintf() are similar, but allocates a user-defined amount + * of storage before the string, and returns a pointer to the + * allocated buffer. + */ + +size_t _nasm_aprintf_size; + +void *nasm_vaxprintf(size_t extra, const char *fmt, va_list ap) +{ + char *strp; + va_list xap; + size_t bytes; + + va_copy(xap, ap); + _nasm_aprintf_size = bytes = vsnprintf(NULL, 0, fmt, xap) + 1; + va_end(xap); + strp = nasm_malloc(extra+bytes); + vsnprintf(strp+extra, bytes, fmt, ap); + return strp; +} + +char *nasm_vasprintf(const char *fmt, va_list ap) +{ + return nasm_vaxprintf(0, fmt, ap); +} + +void *nasm_axprintf(size_t extra, const char *fmt, ...) +{ + va_list ap; + void *strp; + + va_start(ap, fmt); + strp = nasm_vaxprintf(extra, fmt, ap); + va_end(ap); + + return strp; +} + +char *nasm_asprintf(const char *fmt, ...) +{ + va_list ap; + char *strp; + + va_start(ap, fmt); + strp = nasm_vaxprintf(0, fmt, ap); + va_end(ap); + + return strp; +} diff --git a/nasmlib/crc64.c b/nasmlib/crc64.c index 338e0be4..334cd307 100644 --- a/nasmlib/crc64.c +++ b/nasmlib/crc64.c @@ -32,7 +32,7 @@ * ----------------------------------------------------------------------- */ #include "compiler.h" -#include "nasmlib.h" +#include "nctype.h" #include "hashtbl.h" static const uint64_t crc64_tab[256] = { @@ -187,3 +187,25 @@ uint64_t crc64i(uint64_t crc, const char *str) return crc; } + +uint64_t crc64b(uint64_t crc, const void *data, size_t len) +{ + const uint8_t *str = data; + + while (len--) { + crc = crc64_tab[(uint8_t)crc ^ *str++] ^ (crc >> 8); + } + + return crc; +} + +uint64_t crc64ib(uint64_t crc, const void *data, size_t len) +{ + const uint8_t *str = data; + + while (len--) { + crc = crc64_tab[(uint8_t)crc ^ nasm_tolower(*str++)] ^ (crc >> 8); + } + + return crc; +} diff --git a/nasmlib/file.c b/nasmlib/file.c index c0b4e781..4902bb51 100644 --- a/nasmlib/file.c +++ b/nasmlib/file.c @@ -37,9 +37,9 @@ void nasm_read(void *ptr, size_t size, FILE *f) { size_t n = fread(ptr, 1, size, f); if (ferror(f)) { - nasm_fatal(0, "unable to read input: %s", strerror(errno)); + nasm_fatal("unable to read input: %s", strerror(errno)); } else if (n != size || feof(f)) { - nasm_fatal(0, "fatal short read on input"); + nasm_fatal("fatal short read on input"); } } @@ -47,7 +47,7 @@ void nasm_write(const void *ptr, size_t size, FILE *f) { size_t n = fwrite(ptr, 1, size, f); if (n != size || ferror(f) || feof(f)) - nasm_fatal(0, "unable to write output: %s", strerror(errno)); + nasm_fatal("unable to write output: %s", strerror(errno)); } void fwriteint16_t(uint16_t data, FILE * fp) @@ -119,8 +119,8 @@ FILE *nasm_open_read(const char *filename, enum file_flags flags) f = fopen(filename, (flags & NF_TEXT) ? "rt" : "rb"); if (!f && (flags & NF_FATAL)) - nasm_fatal(ERR_NOFILE, "unable to open input file: `%s': %s", - filename, strerror(errno)); + nasm_fatalf(ERR_NOFILE, "unable to open input file: `%s': %s", + filename, strerror(errno)); return f; } @@ -132,8 +132,8 @@ FILE *nasm_open_write(const char *filename, enum file_flags flags) f = fopen(filename, (flags & NF_TEXT) ? "wt" : "wb"); if (!f && (flags & NF_FATAL)) - nasm_fatal(ERR_NOFILE, "unable to open output file: `%s': %s", - filename, strerror(errno)); + nasm_fatalf(ERR_NOFILE, "unable to open output file: `%s': %s", + filename, strerror(errno)); return f; } diff --git a/nasmlib/hashtbl.c b/nasmlib/hashtbl.c index bc0776b8..b89b0200 100644 --- a/nasmlib/hashtbl.c +++ b/nasmlib/hashtbl.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -43,10 +43,11 @@ #include "nasm.h" #include "hashtbl.h" -#define HASH_MAX_LOAD 2 /* Higher = more memory-efficient, slower */ +#define HASH_MAX_LOAD 2 /* Higher = more memory-efficient, slower */ +#define HASH_INIT_SIZE 16 /* Initial size (power of 2, min 4) */ -#define hash_calc(key) crc64(CRC64_INIT, (key)) -#define hash_calci(key) crc64i(CRC64_INIT, (key)) +#define hash_calc(key,keylen) crc64b(CRC64_INIT, (key), (keylen)) +#define hash_calci(key,keylen) crc64ib(CRC64_INIT, (key), (keylen)) #define hash_max_load(size) ((size) * (HASH_MAX_LOAD - 1) / HASH_MAX_LOAD) #define hash_expand(size) ((size) << 1) #define hash_mask(size) ((size) - 1) @@ -54,129 +55,167 @@ #define hash_inc(hash, mask) ((((hash) >> 32) & (mask)) | 1) /* always odd */ #define hash_pos_next(pos, inc, mask) (((pos) + (inc)) & (mask)) -static struct hash_tbl_node *alloc_table(size_t newsize) +static void hash_init(struct hash_table *head) { - size_t bytes = newsize * sizeof(struct hash_tbl_node); - return nasm_zalloc(bytes); -} - -void hash_init(struct hash_table *head, size_t size) -{ - nasm_assert(is_power2(size)); - head->table = alloc_table(size); + head->size = HASH_INIT_SIZE; head->load = 0; - head->size = size; - head->max_load = hash_max_load(size); + head->max_load = hash_max_load(head->size); + nasm_newn(head->table, head->size); } /* - * Find an entry in a hash table. + * Find an entry in a hash table. The key can be any binary object. * * On failure, if "insert" is non-NULL, store data in that structure * which can be used to insert that node using hash_add(). - * - * WARNING: this data is only valid until the very next call of - * hash_add(); it cannot be "saved" to a later date. + * See hash_add() for constraints on the uses of the insert object. * * On success, return a pointer to the "data" element of the hash * structure. */ -void **hash_find(struct hash_table *head, const char *key, - struct hash_insert *insert) +void **hash_findb(struct hash_table *head, const void *key, + size_t keylen, struct hash_insert *insert) { - struct hash_tbl_node *np; - struct hash_tbl_node *tbl = head->table; - uint64_t hash = hash_calc(key); + struct hash_node *np = NULL; + struct hash_node *tbl = head->table; + uint64_t hash = hash_calc(key, keylen); size_t mask = hash_mask(head->size); size_t pos = hash_pos(hash, mask); size_t inc = hash_inc(hash, mask); - while ((np = &tbl[pos])->key) { - if (hash == np->hash && !strcmp(key, np->key)) - return &np->data; - pos = hash_pos_next(pos, inc, mask); + if (likely(tbl)) { + while ((np = &tbl[pos])->key) { + if (hash == np->hash && + keylen == np->keylen && + !memcmp(key, np->key, keylen)) + return &np->data; + pos = hash_pos_next(pos, inc, mask); + } } /* Not found. Store info for insert if requested. */ if (insert) { + insert->node.hash = hash; + insert->node.key = key; + insert->node.keylen = keylen; + insert->node.data = NULL; insert->head = head; - insert->hash = hash; insert->where = np; } return NULL; } /* - * Same as hash_find, but for case-insensitive hashing. + * Same as hash_findb(), but for a C string. */ -void **hash_findi(struct hash_table *head, const char *key, - struct hash_insert *insert) +void **hash_find(struct hash_table *head, const char *key, + struct hash_insert *insert) +{ + return hash_findb(head, key, strlen(key)+1, insert); +} + +/* + * Same as hash_findb(), but for case-insensitive hashing. + */ +void **hash_findib(struct hash_table *head, const void *key, size_t keylen, + struct hash_insert *insert) { - struct hash_tbl_node *np; - struct hash_tbl_node *tbl = head->table; - uint64_t hash = hash_calci(key); + struct hash_node *np = NULL; + struct hash_node *tbl = head->table; + uint64_t hash = hash_calci(key, keylen); size_t mask = hash_mask(head->size); size_t pos = hash_pos(hash, mask); size_t inc = hash_inc(hash, mask); - while ((np = &tbl[pos])->key) { - if (hash == np->hash && !nasm_stricmp(key, np->key)) - return &np->data; - pos = hash_pos_next(pos, inc, mask); + if (likely(tbl)) { + while ((np = &tbl[pos])->key) { + if (hash == np->hash && + keylen == np->keylen && + !nasm_memicmp(key, np->key, keylen)) + return &np->data; + pos = hash_pos_next(pos, inc, mask); + } } /* Not found. Store info for insert if requested. */ if (insert) { + insert->node.hash = hash; + insert->node.key = key; + insert->node.keylen = keylen; + insert->node.data = NULL; insert->head = head; - insert->hash = hash; insert->where = np; } return NULL; } /* + * Same as hash_find(), but for case-insensitive hashing. + */ +void **hash_findi(struct hash_table *head, const char *key, + struct hash_insert *insert) +{ + return hash_findib(head, key, strlen(key)+1, insert); +} + +/* * Insert node. Return a pointer to the "data" element of the newly * created hash node. + * + * The following constraints apply: + * 1. A call to hash_add() invalidates all other outstanding hash_insert + * objects; attempting to use them causes a wild pointer reference. + * 2. The key provided must exactly match the key passed to hash_find*(), + * but it does not have to point to the same storage address. The key + * buffer provided to this function must not be freed for the lifespan + * of the hash. NULL will use the same pointer that was passed to + * hash_find*(). */ -void **hash_add(struct hash_insert *insert, const char *key, void *data) +void **hash_add(struct hash_insert *insert, const void *key, void *data) { struct hash_table *head = insert->head; - struct hash_tbl_node *np = insert->where; + struct hash_node *np = insert->where; + + if (unlikely(!np)) { + hash_init(head); + /* The hash table is empty, so we don't need to iterate here */ + np = &head->table[hash_pos(insert->node.hash, hash_mask(head->size))]; + } /* * Insert node. We can always do this, even if we need to * rebalance immediately after. */ - np->hash = insert->hash; - np->key = key; + *np = insert->node; np->data = data; + if (key) + np->key = key; - if (++head->load > head->max_load) { + if (unlikely(++head->load > head->max_load)) { /* Need to expand the table */ - size_t newsize = hash_expand(head->size); - struct hash_tbl_node *newtbl = alloc_table(newsize); - size_t mask = hash_mask(newsize); + size_t newsize = hash_expand(head->size); + struct hash_node *newtbl; + size_t mask = hash_mask(newsize); + struct hash_node *op, *xp; + size_t i; - if (head->table) { - struct hash_tbl_node *op, *xp; - size_t i; + nasm_newn(newtbl, newsize); - /* Rebalance all the entries */ - for (i = 0, op = head->table; i < head->size; i++, op++) { - if (op->key) { - size_t pos = hash_pos(op->hash, mask); - size_t inc = hash_inc(op->hash, mask); + /* Rebalance all the entries */ + for (i = 0, op = head->table; i < head->size; i++, op++) { + if (op->key) { + size_t pos = hash_pos(op->hash, mask); + size_t inc = hash_inc(op->hash, mask); - while ((xp = &newtbl[pos])->key) - pos = hash_pos_next(pos, inc, mask); + while ((xp = &newtbl[pos])->key) + pos = hash_pos_next(pos, inc, mask); - *xp = *op; - if (op == np) - np = xp; - } + *xp = *op; + if (op == np) + np = xp; } - nasm_free(head->table); } + nasm_free(head->table); head->table = newtbl; head->size = newsize; @@ -187,36 +226,29 @@ void **hash_add(struct hash_insert *insert, const char *key, void *data) } /* - * Iterate over all members of a hash set. For the first call, - * iterator should be initialized to NULL. Returns the data pointer, - * or NULL on failure. + * Iterate over all members of a hash set. For the first call, iter + * should be as initialized by hash_iterator_init(). Returns a struct + * hash_node representing the current object, or NULL if we have + * reached the end of the hash table. + * + * Calling hash_add() will invalidate the iterator. */ -void *hash_iterate(const struct hash_table *head, - struct hash_tbl_node **iterator, - const char **key) +const struct hash_node *hash_iterate(struct hash_iterator *iter) { - struct hash_tbl_node *np = *iterator; - struct hash_tbl_node *ep = head->table + head->size; - - if (!np) { - np = head->table; - if (!np) - return NULL; /* Uninitialized table */ - } + const struct hash_table *head = iter->head; + const struct hash_node *cp = iter->next; + const struct hash_node *ep = head->table + head->size; - while (np < ep) { - if (np->key) { - *iterator = np + 1; - if (key) - *key = np->key; - return np->data; + /* For an empty table, cp == ep == NULL */ + while (cp < ep) { + if (cp->key) { + iter->next = cp+1; + return cp; } - np++; + cp++; } - *iterator = NULL; - if (key) - *key = NULL; + iter->next = head->table; return NULL; } @@ -229,7 +261,7 @@ void *hash_iterate(const struct hash_table *head, void hash_free(struct hash_table *head) { void *p = head->table; - head->table = NULL; + memset(head, 0, sizeof *head); nasm_free(p); } @@ -242,14 +274,13 @@ void hash_free(struct hash_table *head) */ void hash_free_all(struct hash_table *head, bool free_keys) { - struct hash_tbl_node *iter = NULL; - const char *keyp; - void *d; + struct hash_iterator it; + const struct hash_node *np; - while ((d = hash_iterate(head, &iter, &keyp))) { - nasm_free(d); + hash_for_each(head, it, np) { + nasm_free(np->data); if (free_keys) - nasm_free((void *)keyp); + nasm_free((void *)np->key); } hash_free(head); diff --git a/nasmlib/nctype.c b/nasmlib/nctype.c new file mode 100644 index 00000000..f30f37e0 --- /dev/null +++ b/nasmlib/nctype.c @@ -0,0 +1,116 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2018 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +#include "nctype.h" +#include <ctype.h> + +/* + * Table of tolower() results. This avoids function calls + * on some platforms. + */ +unsigned char nasm_tolower_tab[256]; + +static void tolower_tab_init(void) +{ + int i; + + for (i = 0; i < 256; i++) + nasm_tolower_tab[i] = tolower(i); +} + +/* + * Table of character type flags; some are simply <ctype.h>, + * some are NASM-specific. + */ + +uint16_t nasm_ctype_tab[256]; + +#if !defined(HAVE_ISCNTRL) && !defined(iscntrl) +# define iscntrl(x) ((x) < 32) +#endif +#if !defined(HAVE_ISASCII) && !defined(isascii) +# define isascii(x) ((x) < 128) +#endif + +static void ctype_tab_init(void) +{ + int i; + + for (i = 0; i < 256; i++) { + enum nasm_ctype ct = 0; + + if (iscntrl(i)) + ct |= NCT_CTRL; + + if (isascii(i)) + ct |= NCT_ASCII; + + if (isspace(i) && i != '\n') + ct |= NCT_SPACE; + + if (isalpha(i)) { + ct |= (nasm_tolower(i) == i) ? NCT_LOWER : NCT_UPPER; + ct |= NCT_ID|NCT_IDSTART; + } + + if (isdigit(i)) + ct |= NCT_DIGIT|NCT_ID; + + if (isxdigit(i)) + ct |= NCT_HEX; + + /* Non-ASCII character, but no ctype returned (e.g. Unicode) */ + if (!ct && !ispunct(i)) + ct |= NCT_ID|NCT_IDSTART; + + nasm_ctype_tab[i] = ct; + } + + nasm_ctype_tab['-'] |= NCT_MINUS; + nasm_ctype_tab['$'] |= NCT_DOLLAR|NCT_ID; + nasm_ctype_tab['_'] |= NCT_UNDER|NCT_ID|NCT_IDSTART; + nasm_ctype_tab['.'] |= NCT_ID|NCT_IDSTART; + nasm_ctype_tab['@'] |= NCT_ID|NCT_IDSTART; + nasm_ctype_tab['?'] |= NCT_ID|NCT_IDSTART; + nasm_ctype_tab['#'] |= NCT_ID; + nasm_ctype_tab['~'] |= NCT_ID; + nasm_ctype_tab['\''] |= NCT_QUOTE; + nasm_ctype_tab['\"'] |= NCT_QUOTE; + nasm_ctype_tab['`'] |= NCT_QUOTE; +} + +void nasm_ctype_init(void) +{ + tolower_tab_init(); + ctype_tab_init(); +} diff --git a/nasmlib/raa.c b/nasmlib/raa.c index 77329d3c..feb86970 100644 --- a/nasmlib/raa.c +++ b/nasmlib/raa.c @@ -33,6 +33,7 @@ #include "nasmlib.h" #include "raa.h" +#include "ilog2.h" /* * Routines to manage a dynamic random access array of int64_ts which @@ -40,151 +41,163 @@ * chunk. */ -#define RAA_BLKSHIFT 15 /* 2**this many longs allocated at once */ -#define RAA_BLKSIZE (1 << RAA_BLKSHIFT) -#define RAA_LAYERSHIFT 15 /* 2**this many _pointers_ allocated */ -#define RAA_LAYERSIZE (1 << RAA_LAYERSHIFT) +#define RAA_LAYERSHIFT 11 /* 2^this many items per layer */ +#define RAA_LAYERSIZE ((size_t)1 << RAA_LAYERSHIFT) +#define RAA_LAYERMASK (RAA_LAYERSIZE-1) +typedef struct RAA RAA; typedef union RAA_UNION RAA_UNION; typedef struct RAA_LEAF RAA_LEAF; typedef struct RAA_BRANCH RAA_BRANCH; -struct real_raa { +union intorptr { + int64_t i; + void *p; +}; + +struct RAA { + /* Last position in this RAA */ + raaindex endposn; + /* * Number of layers below this one to get to the real data. 0 - * means this structure is a leaf, holding RAA_BLKSIZE real + * means this structure is a leaf, holding RAA_LAYERSIZE real * data items; 1 and above mean it's a branch, holding * RAA_LAYERSIZE pointers to the next level branch or leaf * structures. */ - int layers; + unsigned int layers; /* * Number of real data items spanned by one position in the * `data' array at this level. This number is 0 trivially, for - * a leaf (level 0): for a level 1 branch it should be - * RAA_BLKSHIFT, and for a level 2 branch it's - * RAA_LAYERSHIFT+RAA_BLKSHIFT. + * a leaf (level 0): for a level n branch it should be + * n*RAA_LAYERSHIFT. */ - int shift; + unsigned int shift; + /* + * The actual data + */ union RAA_UNION { struct RAA_LEAF { - union intorptr data[RAA_BLKSIZE]; + union intorptr data[RAA_LAYERSIZE]; } l; struct RAA_BRANCH { - struct real_raa *data[RAA_LAYERSIZE]; + struct RAA *data[RAA_LAYERSIZE]; } b; } u; }; -struct RAA { - struct real_raa raa; -}; -struct RAAPTR { - struct real_raa raa; -}; - -#define LEAFSIZ (sizeof(struct real_raa)-sizeof(RAA_UNION)+sizeof(RAA_LEAF)) -#define BRANCHSIZ (sizeof(struct real_raa)-sizeof(RAA_UNION)+sizeof(RAA_BRANCH)) +#define LEAFSIZ (sizeof(RAA)-sizeof(RAA_UNION)+sizeof(RAA_LEAF)) +#define BRANCHSIZ (sizeof(RAA)-sizeof(RAA_UNION)+sizeof(RAA_BRANCH)) -#define LAYERSHIFT(r) ( (r)->layers==0 ? RAA_BLKSHIFT : RAA_LAYERSHIFT ) - -static struct real_raa *raa_init_layer(int layers) +static struct RAA *raa_init_layer(raaindex posn, unsigned int layers) { - struct real_raa *r; - - if (layers == 0) { - r = nasm_zalloc(LEAFSIZ); - r->shift = 0; - } else { - r = nasm_zalloc(BRANCHSIZ); - r->layers = layers; - r->shift = (RAA_BLKSHIFT - RAA_LAYERSHIFT) + layers * RAA_LAYERSHIFT; - } + struct RAA *r; + raaindex posmask; + + r = nasm_zalloc((layers == 0) ? LEAFSIZ : BRANCHSIZ); + r->shift = layers * RAA_LAYERSHIFT; + r->layers = layers; + posmask = ((raaindex)RAA_LAYERSIZE << r->shift) - 1; + r->endposn = posn | posmask; return r; } -struct real_raa *real_raa_init(void) +void raa_free(struct RAA *r) { - return raa_init_layer(0); -} + if (!r) + return; -void real_raa_free(struct real_raa *r) -{ if (r->layers) { - struct real_raa **p; - for (p = r->u.b.data; p - r->u.b.data < RAA_LAYERSIZE; p++) - if (*p) - real_raa_free(*p); + struct RAA **p = r->u.b.data; + size_t i; + for (i = 0; i < RAA_LAYERSIZE; i++) + raa_free(*p++); } nasm_free(r); } -static const union intorptr *real_raa_read(struct real_raa *r, int32_t posn) +static const union intorptr *real_raa_read(struct RAA *r, raaindex posn) { - if ((uint32_t) posn >= (UINT32_C(1) << (r->shift + LAYERSHIFT(r)))) + nasm_assert(posn <= (~(raaindex)0 >> 1)); + + if (unlikely(!r || posn > r->endposn)) return NULL; /* Beyond the end */ - while (r->layers > 0) { - int32_t l = posn >> r->shift; - posn &= (UINT32_C(1) << r->shift) - 1; + + while (r->layers) { + size_t l = (posn >> r->shift) & RAA_LAYERMASK; r = r->u.b.data[l]; if (!r) return NULL; /* Not present */ } - return &r->u.l.data[posn]; + return &r->u.l.data[posn & RAA_LAYERMASK]; } -int64_t raa_read(struct RAA *r, int32_t pos) +int64_t raa_read(struct RAA *r, raaindex pos) { const union intorptr *ip; - ip = real_raa_read((struct real_raa *)r, pos); + ip = real_raa_read(r, pos); return ip ? ip->i : 0; } -void *raa_read_ptr(struct RAAPTR *r, int32_t pos) +void *raa_read_ptr(struct RAA *r, raaindex pos) { const union intorptr *ip; - ip = real_raa_read((struct real_raa *)r, pos); + ip = real_raa_read(r, pos); return ip ? ip->p : NULL; } -struct real_raa * -real_raa_write(struct real_raa *r, int32_t posn, union intorptr value) +static struct RAA * +real_raa_write(struct RAA *r, raaindex posn, union intorptr value) { - struct real_raa *result; - - nasm_assert(posn >= 0); + struct RAA *result; - while ((UINT32_C(1) << (r->shift + LAYERSHIFT(r))) <= (uint32_t) posn) { - /* - * Must add a layer. - */ - struct real_raa *s; + nasm_assert(posn <= (~(raaindex)0 >> 1)); - s = nasm_zalloc(BRANCHSIZ); - s->layers = r->layers + 1; - s->shift = LAYERSHIFT(r) + r->shift; - s->u.b.data[0] = r; - r = s; + if (unlikely(!r)) { + /* Create a new top-level RAA */ + r = raa_init_layer(posn, ilog2_64(posn)/RAA_LAYERSHIFT); + } else { + while (unlikely(r->endposn < posn)) { + /* We need to add layers to an existing RAA */ + struct RAA *s = raa_init_layer(r->endposn, r->layers + 1); + s->u.b.data[0] = r; + r = s; + } } result = r; - while (r->layers > 0) { - struct real_raa **s; - int32_t l = posn >> r->shift; - posn &= (UINT32_C(1) << r->shift) - 1; + while (r->layers) { + struct RAA **s; + size_t l = (posn >> r->shift) & RAA_LAYERMASK; s = &r->u.b.data[l]; - if (!*s) - *s = raa_init_layer(r->layers - 1); + if (unlikely(!*s)) + *s = raa_init_layer(posn, r->layers - 1); r = *s; } - - r->u.l.data[posn] = value; + r->u.l.data[posn & RAA_LAYERMASK] = value; return result; } + +struct RAA *raa_write(struct RAA *r, raaindex posn, int64_t value) +{ + union intorptr ip; + + ip.i = value; + return real_raa_write(r, posn, ip); +} + +struct RAA *raa_write_ptr(struct RAA *r, raaindex posn, void *value) +{ + union intorptr ip; + + ip.p = value; + return real_raa_write(r, posn, ip); +} diff --git a/nasmlib/readnum.c b/nasmlib/readnum.c index 60d856e1..4e73c1a1 100644 --- a/nasmlib/readnum.c +++ b/nasmlib/readnum.c @@ -163,10 +163,16 @@ int64_t readnum(const char *str, bool *error) r++; } - if (warn) - nasm_error(ERR_WARNING | ERR_PASS1 | WARN_NOV, + if (warn) { + /*! + *!number-overflow [on] numeric constant does not fit + *! covers warnings about numeric constants which + *! don't fit in 64 bits. + */ + nasm_error(ERR_WARNING | ERR_PASS1 | WARN_NUMBER_OVERFLOW, "numeric constant %s does not fit in 64 bits", str); + } return result * sign; } diff --git a/nasmlib/string.c b/nasmlib/string.c index 907df32f..4ee3ecbb 100644 --- a/nasmlib/string.c +++ b/nasmlib/string.c @@ -36,26 +36,8 @@ */ #include "compiler.h" - -#include <stdlib.h> -#include <ctype.h> - #include "nasmlib.h" - -/* - * Prepare a table of tolower() results. This avoids function calls - * on some platforms. - */ - -unsigned char nasm_tolower_tab[256]; - -void tolower_init(void) -{ - int i; - - for (i = 0; i < 256; i++) - nasm_tolower_tab[i] = tolower(i); -} +#include "nctype.h" #ifndef nasm_stricmp int nasm_stricmp(const char *s1, const char *s2) diff --git a/nasmlib/strlist.c b/nasmlib/strlist.c index cf475278..a0687cce 100644 --- a/nasmlib/strlist.c +++ b/nasmlib/strlist.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -32,69 +32,175 @@ * ----------------------------------------------------------------------- */ /* - * strlist.c - simple linked list of strings + * strlist.c - list of ordered strings, optionally made unique */ -#include "compiler.h" +#include "strlist.h" -#include <string.h> +/* + * Create a string list. The list can be uniqizing or not. + */ +struct strlist *strlist_alloc(bool uniq) +{ + struct strlist *list = nasm_zalloc(sizeof(*list)); + list->tailp = &list->head; + list->uniq = uniq; + return list; +} -#include "strlist.h" +/* + * Append a string to a string list. Return the entry pointer, which + * may be a pre-existing entry for a uniqizing list. + */ + +static const struct strlist_entry * +strlist_add_common(struct strlist *list, struct strlist_entry *e, + struct hash_insert *hi) +{ + e->offset = list->size; + e->next = NULL; + + *list->tailp = e; + list->tailp = &e->next; + list->nstr++; + list->size += e->size; + + if (list->uniq) + hash_add(hi, e->str, (void *)e); + + return e; +} + +const struct strlist_entry * +strlist_add(struct strlist *list, const char *str) +{ + struct strlist_entry *e; + struct hash_insert hi; + size_t size; + + if (!list) + return NULL; + + size = strlen(str) + 1; + if (list->uniq) { + void **dp = hash_findb(&list->hash, str, size, &hi); + if (dp) + return *dp; + } + + /* Structure already has char[1] as EOS */ + e = nasm_malloc(sizeof(*e) - 1 + size); + e->size = size; + memcpy(e->str, str, size); + + return strlist_add_common(list, e, &hi); +} + +/* + * printf() to a string list + */ +const struct strlist_entry * +strlist_vprintf(struct strlist *list, const char *fmt, va_list ap) +{ + struct strlist_entry *e; + struct hash_insert hi; + + if (!list) + return NULL; + + e = nasm_vaxprintf(offsetin(*e, str), fmt, ap); + e->size = nasm_aprintf_size(); + + if (list->uniq) { + void **dp = hash_findb(&list->hash, e->str, e->size, &hi); + if (dp) { + nasm_free(e); + return *dp; + } + } + + return strlist_add_common(list, e, &hi); +} -static inline StrList *nasm_str_to_strlist(const char *str) +const struct strlist_entry * +strlist_printf(struct strlist *list, const char *fmt, ...) { - size_t l = strlen(str) + 1; - StrList *sl = nasm_malloc(l + sizeof sl->next); + va_list ap; + const struct strlist_entry *e; - memcpy(sl->str, str, l); - sl->next = NULL; + va_start(ap, fmt); + e = strlist_vprintf(list, fmt, ap); + va_end(ap); - return sl; + return e; } /* - * Append a string list entry to a string list if and only if it isn't - * already there. Return true if it was added. + * Free a string list. Sets the pointed to pointer to NULL. */ -bool nasm_add_to_strlist(StrList **head, StrList *entry) +void strlist_free(struct strlist **listp) { - StrList *list; - - if (!head) - return false; - - list = *head; - while (list) { - if (!strcmp(list->str, entry->str)) - return false; - head = &list->next; - list = list->next; - } - - *head = entry; - entry->next = NULL; - return true; + struct strlist *list = *listp; + struct strlist_entry *e, *tmp; + + if (!list) + return; + + if (list->uniq) + hash_free(&list->hash); + + list_for_each_safe(e, tmp, list->head) + nasm_free(e); + + nasm_free(list); + *listp = NULL; } /* - * Append a string to a string list if and only if it isn't - * already there. Return true if it was added. + * Search the string list for an entry. If found, return the entry pointer. + * Only possible on a uniqizing list. */ -bool nasm_add_string_to_strlist(StrList **head, const char *str) +const struct strlist_entry * +strlist_find(const struct strlist *list, const char *str) { - StrList *list; + void **hf; - if (!head) - return false; + nasm_assert(list->uniq); - list = *head; - while (list) { - if (!strcmp(list->str, str)) - return false; - head = &list->next; - list = list->next; - } + hf = hash_find((struct hash_table *)&list->hash, str, NULL); + return hf ? *hf : NULL; +} + +/* + * Produce a linearized buffer containing the whole list, in order; + * The character "sep" is the separator between strings; this is + * typically either 0 or '\n'. strlist_size() will give the size of + * the returned buffer. + */ +void *strlist_linearize(const struct strlist *list, char sep) +{ + const struct strlist_entry *sl; + char *buf = nasm_malloc(list->size); + char *p = buf; + + strlist_for_each(sl, list) { + p = mempcpy(p, sl->str, sl->size); + p[-1] = sep; + } + + return buf; +} + +/* + * Output a string list to a file. The separator can be any string. + */ +void strlist_write(const struct strlist *list, const char *sep, FILE *f) +{ + const struct strlist_entry *sl; + size_t seplen = strlen(sep); - *head = nasm_str_to_strlist(str); - return true; + strlist_for_each(sl, list) { + fwrite(sl->str, 1, sl->size - 1, f); + fwrite(sep, 1, seplen, f); + } } diff --git a/nasmlib/ver.c b/nasmlib/ver.c index 98362e35..b1638b7d 100644 --- a/nasmlib/ver.c +++ b/nasmlib/ver.c @@ -31,6 +31,9 @@ * * ----------------------------------------------------------------------- */ +#include <stdlib.h> +#include <string.h> + #include "ver.h" #include "version.h" @@ -44,8 +47,45 @@ const char nasm_compile_options[] = "" ; /* These are used by some backends. */ -const char nasm_comment[] = +static const char __nasm_comment[] = "The Netwide Assembler " NASM_VER; -const char nasm_signature[] = +static const char __nasm_signature[] = "NASM " NASM_VER; + +/* These are constant so we could pass regression tests */ +static const char __nasm_comment_const[] ="The Netwide Assembler CONST"; +static const char __nasm_signature_const[] = "NASM CONST"; + +int nasm_test_run(void) +{ + return getenv("NASM_TEST_RUN") ? 1 : 0; +} + +const char *nasm_comment(void) +{ + if (!nasm_test_run()) + return __nasm_comment; + return __nasm_comment_const; +} + +size_t nasm_comment_len(void) +{ + if (!nasm_test_run()) + return strlen(__nasm_comment); + return strlen(__nasm_comment_const); +} + +const char *nasm_signature(void) +{ + if (!nasm_test_run()) + return __nasm_signature; + return __nasm_signature_const; +} + +size_t nasm_signature_len(void) +{ + if (!nasm_test_run()) + return strlen(__nasm_signature); + return strlen(__nasm_signature_const); +} diff --git a/output/codeview.c b/output/codeview.c index 15561793..03fee590 100644 --- a/output/codeview.c +++ b/output/codeview.c @@ -177,7 +177,6 @@ static void cv8_init(void) cv8_state.source_files = NULL; cv8_state.source_files_tail = &cv8_state.source_files; - hash_init(&cv8_state.file_hash, HASH_MEDIUM); cv8_state.num_files = 0; cv8_state.total_filename_len = 0; @@ -369,9 +368,9 @@ done_0: fclose(f); done: if (!success) { - nasm_error(ERR_NONFATAL, "unable to hash file %s. " - "Debug information may be unavailable.\n", - filename); + nasm_nonfatal("unable to hash file %s. " + "Debug information may be unavailable.", + filename); } return; } @@ -480,7 +479,7 @@ static void register_reloc(struct coff_Section *const sect, return; } } - nasm_panic(0, "codeview: relocation for unregistered symbol: %s", sym); + nasm_panic("codeview: relocation for unregistered symbol: %s", sym); } static inline void section_write32(struct coff_Section *sect, uint32_t val) @@ -655,7 +654,7 @@ static uint16_t write_symbolinfo_properties(struct coff_Section *sect, else if (win32) section_write16(sect, 0x0006); /* machine */ else - nasm_assert(!"neither win32 nor win64 are set!"); + nasm_panic("neither win32 nor win64 are set!"); section_write16(sect, 0); /* verFEMajor */ section_write16(sect, 0); /* verFEMinor */ section_write16(sect, 0); /* verFEBuild */ @@ -712,7 +711,7 @@ static uint16_t write_symbolinfo_symbols(struct coff_Section *sect) section_write8(sect, 0); /* FLAG */ break; default: - nasm_assert(!"unknown symbol type"); + nasm_panic("unknown symbol type"); } section_wbytes(sect, sym->name, strlen(sym->name) + 1); diff --git a/output/dwarf.h b/output/dwarf.h index e672819c..f846b2be 100644 --- a/output/dwarf.h +++ b/output/dwarf.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -90,6 +90,7 @@ enum dwarf_tag { DW_TAG_variant_part = 0x33, DW_TAG_variable = 0x34, DW_TAG_volatile_type = 0x35, + /* DWARF 3 */ DW_TAG_dwarf_procedure = 0x36, DW_TAG_restrict_type = 0x37, DW_TAG_interface_type = 0x38, @@ -100,6 +101,12 @@ enum dwarf_tag { DW_TAG_imported_unit = 0x3d, DW_TAG_condition = 0x3f, DW_TAG_shared_type = 0x40, + /* DWARF 4 */ + DW_TAG_type_unit = 0x41, + DW_TAG_rvalue_reference_type = 0x42, + DW_TAG_template_alias = 0x43, + /* DWARF 5 */ + DW_TAG_atomic_type = 0x47, DW_TAG_lo_user = 0x4080, DW_TAG_hi_user = 0xffff @@ -131,7 +138,12 @@ enum dwarf_form { DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, - DW_FORM_indirect = 0x16 + DW_FORM_indirect = 0x16, + /* DWARF 4 */ + DW_FORM_sec_offset = 0x17, + DW_FORM_exprloc = 0x18, + DW_FORM_flag_present = 0x19, + DW_FORM_ref_sig8 = 0x20 }; enum dwarf_attribute { @@ -194,6 +206,7 @@ enum dwarf_attribute { DW_AT_variable_parameter = 0x4b, DW_AT_virtuality = 0x4c, DW_AT_vtable_elem_location = 0x4d, + /* DWARF 3 */ DW_AT_allocated = 0x4e, DW_AT_associated = 0x4f, DW_AT_data_location = 0x50, @@ -221,6 +234,15 @@ enum dwarf_attribute { DW_AT_elemental = 0x66, DW_AT_pure = 0x67, DW_AT_recursive = 0x68, + /* DWARF 4 */ + DW_AT_signature = 0x69, + DW_AT_main_subprogram = 0x6a, + DW_AT_data_bit_offset = 0x6b, + DW_AT_const_expr = 0x6c, + DW_AT_enum_class = 0x6d, + DW_AT_linkage_name = 0x6e, + /* DWARF 5 */ + DW_AT_noreturn = 0x87, DW_AT_lo_user = 0x2000, DW_AT_hi_user = 0x3fff @@ -372,6 +394,7 @@ enum dwarf_op { DW_OP_deref_size = 0x94, DW_OP_xderef_size = 0x95, DW_OP_nop = 0x96, + /* DWARF 3 */ DW_OP_push_object_address = 0x97, DW_OP_call2 = 0x98, DW_OP_call4 = 0x99, @@ -379,6 +402,9 @@ enum dwarf_op { DW_OP_form_tls_address = 0x9b, DW_OP_call_frame_cfa = 0x9c, DW_OP_bit_piece = 0x9d, + /* DWARF 4 */ + DW_OP_implicit_value = 0x9e, + DW_OP_stack_value = 0x9f, DW_OP_lo_user = 0xe0, DW_OP_hi_user = 0xff @@ -393,6 +419,7 @@ enum dwarf_base_type { DW_ATE_signed_char = 0x06, DW_ATE_unsigned = 0x07, DW_ATE_unsigned_char = 0x08, + /* DWARF 3 */ DW_ATE_imaginary_float = 0x09, DW_ATE_packed_decimal = 0x0a, DW_ATE_numeric_string = 0x0b, @@ -400,6 +427,8 @@ enum dwarf_base_type { DW_ATE_signed_fixed = 0x0d, DW_ATE_unsigned_fixed = 0x0e, DW_ATE_decimal_float = 0x0f, + /* DWARF 4 */ + DW_ATE_UTF = 0x10, DW_ATE_lo_user = 0x80, DW_ATE_hi_user = 0xff @@ -576,7 +605,8 @@ enum dwarf_call_frame { DW_CFA_def_cfa = 0x0c, DW_CFA_def_cfa_register = 0x0d, DW_CFA_def_cfa_offset = 0x0e, - DW_CFA_def_cfa_expression = 0x0f, + /* DWARF 3 */ + DW_CFA_def_cfa_expression = 0x0f, DW_CFA_expression = 0x10, DW_CFA_offset_extended_sf = 0x11, DW_CFA_def_cfa_sf = 0x12, diff --git a/output/elf.h b/output/elf.h index 32f5b47a..ab992cec 100644 --- a/output/elf.h +++ b/output/elf.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -42,367 +42,367 @@ #include "compiler.h" /* Segment types */ -#define PT_NULL 0 -#define PT_LOAD 1 -#define PT_DYNAMIC 2 -#define PT_INTERP 3 -#define PT_NOTE 4 -#define PT_SHLIB 5 -#define PT_PHDR 6 -#define PT_LOOS 0x60000000 -#define PT_HIOS 0x6fffffff -#define PT_LOPROC 0x70000000 -#define PT_HIPROC 0x7fffffff -#define PT_GNU_EH_FRAME 0x6474e550 /* Extension, eh? */ +#define PT_NULL 0 +#define PT_LOAD 1 +#define PT_DYNAMIC 2 +#define PT_INTERP 3 +#define PT_NOTE 4 +#define PT_SHLIB 5 +#define PT_PHDR 6 +#define PT_LOOS 0x60000000 +#define PT_HIOS 0x6fffffff +#define PT_LOPROC 0x70000000 +#define PT_HIPROC 0x7fffffff +#define PT_GNU_EH_FRAME 0x6474e550 /* Extension, eh? */ /* ELF file types */ -#define ET_NONE 0 -#define ET_REL 1 -#define ET_EXEC 2 -#define ET_DYN 3 -#define ET_CORE 4 -#define ET_LOPROC 0xff00 -#define ET_HIPROC 0xffff +#define ET_NONE 0 +#define ET_REL 1 +#define ET_EXEC 2 +#define ET_DYN 3 +#define ET_CORE 4 +#define ET_LOPROC 0xff00 +#define ET_HIPROC 0xffff /* ELF machine types */ -#define EM_NONE 0 -#define EM_M32 1 -#define EM_SPARC 2 -#define EM_386 3 -#define EM_68K 4 -#define EM_88K 5 -#define EM_486 6 /* Not used in Linux at least */ -#define EM_860 7 -#define EM_MIPS 8 /* R3k, bigendian(?) */ -#define EM_MIPS_RS4_BE 10 /* R4k BE */ -#define EM_PARISC 15 -#define EM_SPARC32PLUS 18 -#define EM_PPC 20 -#define EM_PPC64 21 -#define EM_S390 22 -#define EM_SH 42 -#define EM_SPARCV9 43 /* v9 = SPARC64 */ -#define EM_H8_300H 47 -#define EM_H8S 48 -#define EM_IA_64 50 -#define EM_X86_64 62 -#define EM_CRIS 76 -#define EM_V850 87 -#define EM_ALPHA 0x9026 /* Interrim Alpha that stuck around */ -#define EM_CYGNUS_V850 0x9080 /* Old v850 ID used by Cygnus */ -#define EM_S390_OLD 0xA390 /* Obsolete interrim value for S/390 */ +#define EM_NONE 0 +#define EM_M32 1 +#define EM_SPARC 2 +#define EM_386 3 +#define EM_68K 4 +#define EM_88K 5 +#define EM_486 6 /* Not used in Linux at least */ +#define EM_860 7 +#define EM_MIPS 8 /* R3k, bigendian(?) */ +#define EM_MIPS_RS4_BE 10 /* R4k BE */ +#define EM_PARISC 15 +#define EM_SPARC32PLUS 18 +#define EM_PPC 20 +#define EM_PPC64 21 +#define EM_S390 22 +#define EM_SH 42 +#define EM_SPARCV9 43 /* v9 = SPARC64 */ +#define EM_H8_300H 47 +#define EM_H8S 48 +#define EM_IA_64 50 +#define EM_X86_64 62 +#define EM_CRIS 76 +#define EM_V850 87 +#define EM_ALPHA 0x9026 /* Interrim Alpha that stuck around */ +#define EM_CYGNUS_V850 0x9080 /* Old v850 ID used by Cygnus */ +#define EM_S390_OLD 0xA390 /* Obsolete interrim value for S/390 */ /* Dynamic type values */ -#define DT_NULL 0 -#define DT_NEEDED 1 -#define DT_PLTRELSZ 2 -#define DT_PLTGOT 3 -#define DT_HASH 4 -#define DT_STRTAB 5 -#define DT_SYMTAB 6 -#define DT_RELA 7 -#define DT_RELASZ 8 -#define DT_RELAENT 9 -#define DT_STRSZ 10 -#define DT_SYMENT 11 -#define DT_INIT 12 -#define DT_FINI 13 -#define DT_SONAME 14 -#define DT_RPATH 15 -#define DT_SYMBOLIC 16 -#define DT_REL 17 -#define DT_RELSZ 18 -#define DT_RELENT 19 -#define DT_PLTREL 20 -#define DT_DEBUG 21 -#define DT_TEXTREL 22 -#define DT_JMPREL 23 -#define DT_LOPROC 0x70000000 -#define DT_HIPROC 0x7fffffff +#define DT_NULL 0 +#define DT_NEEDED 1 +#define DT_PLTRELSZ 2 +#define DT_PLTGOT 3 +#define DT_HASH 4 +#define DT_STRTAB 5 +#define DT_SYMTAB 6 +#define DT_RELA 7 +#define DT_RELASZ 8 +#define DT_RELAENT 9 +#define DT_STRSZ 10 +#define DT_SYMENT 11 +#define DT_INIT 12 +#define DT_FINI 13 +#define DT_SONAME 14 +#define DT_RPATH 15 +#define DT_SYMBOLIC 16 +#define DT_REL 17 +#define DT_RELSZ 18 +#define DT_RELENT 19 +#define DT_PLTREL 20 +#define DT_DEBUG 21 +#define DT_TEXTREL 22 +#define DT_JMPREL 23 +#define DT_LOPROC 0x70000000 +#define DT_HIPROC 0x7fffffff /* Auxilliary table entries */ -#define AT_NULL 0 /* end of vector */ -#define AT_IGNORE 1 /* entry should be ignored */ -#define AT_EXECFD 2 /* file descriptor of program */ -#define AT_PHDR 3 /* program headers for program */ -#define AT_PHENT 4 /* size of program header entry */ -#define AT_PHNUM 5 /* number of program headers */ -#define AT_PAGESZ 6 /* system page size */ -#define AT_BASE 7 /* base address of interpreter */ -#define AT_FLAGS 8 /* flags */ -#define AT_ENTRY 9 /* entry point of program */ -#define AT_NOTELF 10 /* program is not ELF */ -#define AT_UID 11 /* real uid */ -#define AT_EUID 12 /* effective uid */ -#define AT_GID 13 /* real gid */ -#define AT_EGID 14 /* effective gid */ -#define AT_PLATFORM 15 /* string identifying CPU for optimizations */ -#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */ -#define AT_CLKTCK 17 /* frequency at which times() increments */ +#define AT_NULL 0 /* end of vector */ +#define AT_IGNORE 1 /* entry should be ignored */ +#define AT_EXECFD 2 /* file descriptor of program */ +#define AT_PHDR 3 /* program headers for program */ +#define AT_PHENT 4 /* size of program header entry */ +#define AT_PHNUM 5 /* number of program headers */ +#define AT_PAGESZ 6 /* system page size */ +#define AT_BASE 7 /* base address of interpreter */ +#define AT_FLAGS 8 /* flags */ +#define AT_ENTRY 9 /* entry point of program */ +#define AT_NOTELF 10 /* program is not ELF */ +#define AT_UID 11 /* real uid */ +#define AT_EUID 12 /* effective uid */ +#define AT_GID 13 /* real gid */ +#define AT_EGID 14 /* effective gid */ +#define AT_PLATFORM 15 /* string identifying CPU for optimizations */ +#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */ +#define AT_CLKTCK 17 /* frequency at which times() increments */ /* 18..22 = ? */ -#define AT_SECURE 23 /* secure mode boolean */ +#define AT_SECURE 23 /* secure mode boolean */ /* Program header permission flags */ -#define PF_X 0x1 -#define PF_W 0x2 -#define PF_R 0x4 +#define PF_X 0x1 +#define PF_W 0x2 +#define PF_R 0x4 /* Section header types */ -#define SHT_NULL 0 -#define SHT_PROGBITS 1 -#define SHT_SYMTAB 2 -#define SHT_STRTAB 3 -#define SHT_RELA 4 -#define SHT_HASH 5 -#define SHT_DYNAMIC 6 -#define SHT_NOTE 7 -#define SHT_NOBITS 8 -#define SHT_REL 9 -#define SHT_SHLIB 10 -#define SHT_DYNSYM 11 -#define SHT_NUM 12 -#define SHT_LOPROC 0x70000000 -#define SHT_HIPROC 0x7fffffff -#define SHT_LOUSER 0x80000000 -#define SHT_HIUSER 0xffffffff +#define SHT_NULL 0 +#define SHT_PROGBITS 1 +#define SHT_SYMTAB 2 +#define SHT_STRTAB 3 +#define SHT_RELA 4 +#define SHT_HASH 5 +#define SHT_DYNAMIC 6 +#define SHT_NOTE 7 +#define SHT_NOBITS 8 +#define SHT_REL 9 +#define SHT_SHLIB 10 +#define SHT_DYNSYM 11 +#define SHT_NUM 12 +#define SHT_LOPROC 0x70000000 +#define SHT_HIPROC 0x7fffffff +#define SHT_LOUSER 0x80000000 +#define SHT_HIUSER 0xffffffff /* Section header flags */ -#define SHF_WRITE (1 << 0) /* Writable */ -#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ -#define SHF_EXECINSTR (1 << 2) /* Executable */ -#define SHF_MERGE (1 << 4) /* Might be merged */ -#define SHF_STRINGS (1 << 5) /* Contains nul-terminated strings */ -#define SHF_INFO_LINK (1 << 6) /* `sh_info' contains SHT index */ -#define SHF_LINK_ORDER (1 << 7) /* Preserve order after combining */ -#define SHF_OS_NONCONFORMING (1 << 8) /* Non-standard OS specific handling required */ -#define SHF_GROUP (1 << 9) /* Section is member of a group. */ -#define SHF_TLS (1 << 10) /* Section hold thread-local data. */ +#define SHF_WRITE (1 << 0) /* Writable */ +#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ +#define SHF_EXECINSTR (1 << 2) /* Executable */ +#define SHF_MERGE (1 << 4) /* Might be merged */ +#define SHF_STRINGS (1 << 5) /* Contains nul-terminated strings */ +#define SHF_INFO_LINK (1 << 6) /* `sh_info' contains SHT index */ +#define SHF_LINK_ORDER (1 << 7) /* Preserve order after combining */ +#define SHF_OS_NONCONFORMING (1 << 8) /* Non-standard OS specific handling required */ +#define SHF_GROUP (1 << 9) /* Section is member of a group */ +#define SHF_TLS (1 << 10) /* Section hold thread-local data */ /* Special section numbers */ -#define SHN_UNDEF 0 -#define SHN_LORESERVE 0xff00 -#define SHN_LOPROC 0xff00 -#define SHN_HIPROC 0xff1f -#define SHN_ABS 0xfff1 -#define SHN_COMMON 0xfff2 -#define SHN_HIRESERVE 0xffff +#define SHN_UNDEF 0 +#define SHN_LORESERVE 0xff00 +#define SHN_LOPROC 0xff00 +#define SHN_HIPROC 0xff1f +#define SHN_ABS 0xfff1 +#define SHN_COMMON 0xfff2 +#define SHN_HIRESERVE 0xffff /* Section align flag */ -#define SHA_ANY 1 /* No alignment constraint */ +#define SHA_ANY 1 /* No alignment constraint */ /* Lenght of magic at the start of a file */ -#define EI_NIDENT 16 +#define EI_NIDENT 16 /* Magic number constants... */ -#define EI_MAG0 0 /* e_ident[] indexes */ -#define EI_MAG1 1 -#define EI_MAG2 2 -#define EI_MAG3 3 -#define EI_CLASS 4 -#define EI_DATA 5 -#define EI_VERSION 6 -#define EI_OSABI 7 -#define EI_ABIVERSION 8 -#define EI_NINDENT 16 - -#define ELFMAG0 0x7f /* EI_MAG */ -#define ELFMAG1 'E' -#define ELFMAG2 'L' -#define ELFMAG3 'F' -#define ELFMAG "\177ELF" -#define SELFMAG 4 - -#define ELFCLASSNONE 0 /* EI_CLASS */ -#define ELFCLASS32 1 -#define ELFCLASS64 2 -#define ELFCLASSNUM 3 - -#define ELFDATANONE 0 /* e_ident[EI_DATA] */ -#define ELFDATA2LSB 1 -#define ELFDATA2MSB 2 - -#define EV_NONE 0 /* e_version, EI_VERSION */ -#define EV_CURRENT 1 -#define EV_NUM 2 - -#define ELFOSABI_NONE 0 -#define ELFOSABI_LINUX 3 - -/* Legal values for ST_BIND subfield of st_info (symbol binding). */ -#define STB_LOCAL 0 /* Local symbol */ -#define STB_GLOBAL 1 /* Global symbol */ -#define STB_WEAK 2 /* Weak symbol */ -#define STB_NUM 3 /* Number of defined types. */ -#define STB_LOOS 10 /* Start of OS-specific */ -#define STB_HIOS 12 /* End of OS-specific */ -#define STB_LOPROC 13 /* Start of processor-specific */ -#define STB_HIPROC 15 /* End of processor-specific */ +#define EI_MAG0 0 /* e_ident[] indexes */ +#define EI_MAG1 1 +#define EI_MAG2 2 +#define EI_MAG3 3 +#define EI_CLASS 4 +#define EI_DATA 5 +#define EI_VERSION 6 +#define EI_OSABI 7 +#define EI_ABIVERSION 8 +#define EI_NINDENT 16 + +#define ELFMAG0 0x7f /* EI_MAG */ +#define ELFMAG1 'E' +#define ELFMAG2 'L' +#define ELFMAG3 'F' +#define ELFMAG "\177ELF" +#define SELFMAG 4 + +#define ELFCLASSNONE 0 /* EI_CLASS */ +#define ELFCLASS32 1 +#define ELFCLASS64 2 +#define ELFCLASSNUM 3 + +#define ELFDATANONE 0 /* e_ident[EI_DATA] */ +#define ELFDATA2LSB 1 +#define ELFDATA2MSB 2 + +#define EV_NONE 0 /* e_version, EI_VERSION */ +#define EV_CURRENT 1 +#define EV_NUM 2 + +#define ELFOSABI_NONE 0 +#define ELFOSABI_LINUX 3 + +/* Legal values for ST_BIND subfield of st_info (symbol binding) */ +#define STB_LOCAL 0 /* Local symbol */ +#define STB_GLOBAL 1 /* Global symbol */ +#define STB_WEAK 2 /* Weak symbol */ +#define STB_NUM 3 /* Number of defined types */ +#define STB_LOOS 10 /* Start of OS-specific */ +#define STB_HIOS 12 /* End of OS-specific */ +#define STB_LOPROC 13 /* Start of processor-specific */ +#define STB_HIPROC 15 /* End of processor-specific */ /* Symbol types */ -#define STT_NOTYPE 0 /* Symbol type is unspecified */ -#define STT_OBJECT 1 /* Symbol is a data object */ -#define STT_FUNC 2 /* Symbol is a code object */ -#define STT_SECTION 3 /* Symbol associated with a section */ -#define STT_FILE 4 /* Symbol's name is file name */ -#define STT_COMMON 5 /* Symbol is a common data object */ -#define STT_TLS 6 /* Symbol is thread-local data object*/ -#define STT_NUM 7 /* Number of defined types. */ +#define STT_NOTYPE 0 /* Symbol type is unspecified */ +#define STT_OBJECT 1 /* Symbol is a data object */ +#define STT_FUNC 2 /* Symbol is a code object */ +#define STT_SECTION 3 /* Symbol associated with a section */ +#define STT_FILE 4 /* Symbol's name is file name */ +#define STT_COMMON 5 /* Symbol is a common data object */ +#define STT_TLS 6 /* Symbol is thread-local data object */ +#define STT_NUM 7 /* Number of defined types */ /* Symbol visibilities */ -#define STV_DEFAULT 0 /* Default symbol visibility rules */ -#define STV_INTERNAL 1 /* Processor specific hidden class */ -#define STV_HIDDEN 2 /* Sym unavailable in other modules */ -#define STV_PROTECTED 3 /* Not preemptible, not exported */ +#define STV_DEFAULT 0 /* Default symbol visibility rules */ +#define STV_INTERNAL 1 /* Processor specific hidden class */ +#define STV_HIDDEN 2 /* Sym unavailable in other modules */ +#define STV_PROTECTED 3 /* Not preemptible, not exported */ /* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field */ -#define ELF32_ST_BIND(i) ((i) >> 4) -#define ELF32_ST_MKBIND(i) ((i) << 4) /* just a helper */ -#define ELF32_ST_TYPE(i) ((i) & 0xf) -#define ELF32_ST_INFO(b, i) (ELF32_ST_MKBIND(b) + ELF32_ST_TYPE(i)) +#define ELF32_ST_BIND(i) ((i) >> 4) +#define ELF32_ST_MKBIND(i) ((i) << 4) /* just a helper */ +#define ELF32_ST_TYPE(i) ((i) & 0xf) +#define ELF32_ST_INFO(b, i) (ELF32_ST_MKBIND(b) + ELF32_ST_TYPE(i)) -#define ELF64_ST_BIND(i) ELF32_ST_BIND(i) -#define ELF64_ST_MKBIND(i) ELF32_ST_MKBIND(i) -#define ELF64_ST_TYPE(i) ELF32_ST_TYPE(i) -#define ELF64_ST_INFO(b, i) ELF32_ST_INFO(b, i) +#define ELF64_ST_BIND(i) ELF32_ST_BIND(i) +#define ELF64_ST_MKBIND(i) ELF32_ST_MKBIND(i) +#define ELF64_ST_TYPE(i) ELF32_ST_TYPE(i) +#define ELF64_ST_INFO(b, i) ELF32_ST_INFO(b, i) /* * ELF standard typedefs (yet more proof that <stdint.h> was way overdue) */ -typedef uint16_t Elf32_Half; -typedef int16_t Elf32_SHalf; -typedef uint32_t Elf32_Word; -typedef int32_t Elf32_Sword; -typedef uint64_t Elf32_Xword; -typedef int64_t Elf32_Sxword; +typedef uint16_t Elf32_Half; +typedef int16_t Elf32_SHalf; +typedef uint32_t Elf32_Word; +typedef int32_t Elf32_Sword; +typedef uint64_t Elf32_Xword; +typedef int64_t Elf32_Sxword; -typedef uint32_t Elf32_Off; -typedef uint32_t Elf32_Addr; -typedef uint16_t Elf32_Section; +typedef uint32_t Elf32_Off; +typedef uint32_t Elf32_Addr; +typedef uint16_t Elf32_Section; -typedef uint16_t Elf64_Half; -typedef int16_t Elf64_SHalf; -typedef uint32_t Elf64_Word; -typedef int32_t Elf64_Sword; -typedef uint64_t Elf64_Xword; -typedef int64_t Elf64_Sxword; +typedef uint16_t Elf64_Half; +typedef int16_t Elf64_SHalf; +typedef uint32_t Elf64_Word; +typedef int32_t Elf64_Sword; +typedef uint64_t Elf64_Xword; +typedef int64_t Elf64_Sxword; -typedef uint64_t Elf64_Off; -typedef uint64_t Elf64_Addr; -typedef uint16_t Elf64_Section; +typedef uint64_t Elf64_Off; +typedef uint64_t Elf64_Addr; +typedef uint16_t Elf64_Section; /* * Dynamic header */ typedef struct elf32_dyn { - Elf32_Sword d_tag; - union { - Elf32_Sword d_val; - Elf32_Addr d_ptr; - } d_un; + Elf32_Sword d_tag; + union { + Elf32_Sword d_val; + Elf32_Addr d_ptr; + } d_un; } Elf32_Dyn; typedef struct elf64_dyn { - Elf64_Sxword d_tag; - union { - Elf64_Xword d_val; - Elf64_Addr d_ptr; - } d_un; + Elf64_Sxword d_tag; + union { + Elf64_Xword d_val; + Elf64_Addr d_ptr; + } d_un; } Elf64_Dyn; /* * Relocations */ -#define ELF32_R_SYM(x) ((x) >> 8) -#define ELF32_R_TYPE(x) ((x) & 0xff) -#define ELF32_R_INFO(s,t) (((Elf32_Word)(s) << 8) + ELF32_R_TYPE(t)) +#define ELF32_R_SYM(x) ((x) >> 8) +#define ELF32_R_TYPE(x) ((x) & 0xff) +#define ELF32_R_INFO(s,t) (((Elf32_Word)(s) << 8) + ELF32_R_TYPE(t)) typedef struct elf32_rel { - Elf32_Addr r_offset; - Elf32_Word r_info; + Elf32_Addr r_offset; + Elf32_Word r_info; } Elf32_Rel; typedef struct elf32_rela { - Elf32_Addr r_offset; - Elf32_Word r_info; - Elf32_Sword r_addend; + Elf32_Addr r_offset; + Elf32_Word r_info; + Elf32_Sword r_addend; } Elf32_Rela; enum reloc32_type { - R_386_32 = 1, /* ordinary absolute relocation */ - R_386_PC32 = 2, /* PC-relative relocation */ - R_386_GOT32 = 3, /* an offset into GOT */ - R_386_PLT32 = 4, /* a PC-relative offset into PLT */ - R_386_COPY = 5, /* ??? */ - R_386_GLOB_DAT = 6, /* ??? */ - R_386_JUMP_SLOT = 7, /* ??? */ - R_386_RELATIVE = 8, /* ??? */ - R_386_GOTOFF = 9, /* an offset from GOT base */ - R_386_GOTPC = 10, /* a PC-relative offset _to_ GOT */ - R_386_TLS_TPOFF = 14, /* Offset in static TLS block */ - R_386_TLS_IE = 15, /* Address of GOT entry for static TLS block offset */ - /* These are GNU extensions, but useful */ - R_386_16 = 20, /* A 16-bit absolute relocation */ - R_386_PC16 = 21, /* A 16-bit PC-relative relocation */ - R_386_8 = 22, /* An 8-bit absolute relocation */ - R_386_PC8 = 23 /* An 8-bit PC-relative relocation */ + R_386_32 = 1, /* ordinary absolute relocation */ + R_386_PC32 = 2, /* PC-relative relocation */ + R_386_GOT32 = 3, /* an offset into GOT */ + R_386_PLT32 = 4, /* a PC-relative offset into PLT */ + R_386_COPY = 5, /* ??? */ + R_386_GLOB_DAT = 6, /* ??? */ + R_386_JUMP_SLOT = 7, /* ??? */ + R_386_RELATIVE = 8, /* ??? */ + R_386_GOTOFF = 9, /* an offset from GOT base */ + R_386_GOTPC = 10, /* a PC-relative offset _to_ GOT */ + R_386_TLS_TPOFF = 14, /* Offset in static TLS block */ + R_386_TLS_IE = 15, /* Address of GOT entry for static TLS block offset */ + /* These are GNU extensions, but useful */ + R_386_16 = 20, /* A 16-bit absolute relocation */ + R_386_PC16 = 21, /* A 16-bit PC-relative relocation */ + R_386_8 = 22, /* An 8-bit absolute relocation */ + R_386_PC8 = 23 /* An 8-bit PC-relative relocation */ }; -#define ELF64_R_SYM(x) ((x) >> 32) -#define ELF64_R_TYPE(x) ((x) & 0xffffffff) -#define ELF64_R_INFO(s,t) (((Elf64_Xword)(s) << 32) + ELF64_R_TYPE(t)) +#define ELF64_R_SYM(x) ((x) >> 32) +#define ELF64_R_TYPE(x) ((x) & 0xffffffff) +#define ELF64_R_INFO(s,t) (((Elf64_Xword)(s) << 32) + ELF64_R_TYPE(t)) typedef struct elf64_rel { - Elf64_Addr r_offset; - Elf64_Xword r_info; + Elf64_Addr r_offset; + Elf64_Xword r_info; } Elf64_Rel; typedef struct elf64_rela { - Elf64_Addr r_offset; - Elf64_Xword r_info; - Elf64_Sxword r_addend; + Elf64_Addr r_offset; + Elf64_Xword r_info; + Elf64_Sxword r_addend; } Elf64_Rela; enum reloc64_type { - R_X86_64_NONE = 0, /* No reloc */ - R_X86_64_64 = 1, /* Direct 64 bit */ - R_X86_64_PC32 = 2, /* PC relative 32 bit signed */ - R_X86_64_GOT32 = 3, /* 32 bit GOT entry */ - R_X86_64_PLT32 = 4, /* 32 bit PLT address */ - R_X86_64_COPY = 5, /* Copy symbol at runtime */ - R_X86_64_GLOB_DAT = 6, /* Create GOT entry */ - R_X86_64_JUMP_SLOT = 7, /* Create PLT entry */ - R_X86_64_RELATIVE = 8, /* Adjust by program base */ - R_X86_64_GOTPCREL = 9, /* 32 bit signed PC relative offset to GOT */ - R_X86_64_32 = 10, /* Direct 32 bit zero extended */ - R_X86_64_32S = 11, /* Direct 32 bit sign extended */ - R_X86_64_16 = 12, /* Direct 16 bit zero extended */ - R_X86_64_PC16 = 13, /* 16 bit sign extended pc relative */ - R_X86_64_8 = 14, /* Direct 8 bit sign extended */ - R_X86_64_PC8 = 15, /* 8 bit sign extended pc relative */ - R_X86_64_DTPMOD64 = 16, /* ID of module containing symbol */ - R_X86_64_DTPOFF64 = 17, /* Offset in module's TLS block */ - R_X86_64_TPOFF64 = 18, /* Offset in initial TLS block */ - R_X86_64_TLSGD = 19, /* 32 bit signed PC relative offset to two GOT entries for GD symbol */ - R_X86_64_TLSLD = 20, /* 32 bit signed PC relative offset to two GOT entries for LD symbol */ - R_X86_64_DTPOFF32 = 21, /* Offset in TLS block */ - R_X86_64_GOTTPOFF = 22, /* 32 bit signed PC relative offset to GOT entry for IE symbol */ - R_X86_64_TPOFF32 = 23, /* Offset in initial TLS block */ - R_X86_64_PC64 = 24, /* word64 S + A - P */ - R_X86_64_GOTOFF64 = 25, /* word64 S + A - GOT */ - R_X86_64_GOTPC32 = 26, /* word32 GOT + A - P */ - R_X86_64_GOT64 = 27, /* word64 G + A */ - R_X86_64_GOTPCREL64 = 28, /* word64 G + GOT - P + A */ - R_X86_64_GOTPC64 = 29, /* word64 GOT - P + A */ - R_X86_64_GOTPLT64 = 30, /* word64 G + A */ - R_X86_64_PLTOFF64 = 31, /* word64 L - GOT + A */ - R_X86_64_SIZE32 = 32, /* word32 Z + A */ - R_X86_64_SIZE64 = 33, /* word64 Z + A */ - R_X86_64_GOTPC32_TLSDESC = 34, /* word32 */ - R_X86_64_TLSDESC_CALL = 35, /* none */ - R_X86_64_TLSDESC = 36 /* word64?2 */ + R_X86_64_NONE = 0, /* No reloc */ + R_X86_64_64 = 1, /* Direct 64 bit */ + R_X86_64_PC32 = 2, /* PC relative 32 bit signed */ + R_X86_64_GOT32 = 3, /* 32 bit GOT entry */ + R_X86_64_PLT32 = 4, /* 32 bit PLT address */ + R_X86_64_COPY = 5, /* Copy symbol at runtime */ + R_X86_64_GLOB_DAT = 6, /* Create GOT entry */ + R_X86_64_JUMP_SLOT = 7, /* Create PLT entry */ + R_X86_64_RELATIVE = 8, /* Adjust by program base */ + R_X86_64_GOTPCREL = 9, /* 32 bit signed PC relative offset to GOT */ + R_X86_64_32 = 10, /* Direct 32 bit zero extended */ + R_X86_64_32S = 11, /* Direct 32 bit sign extended */ + R_X86_64_16 = 12, /* Direct 16 bit zero extended */ + R_X86_64_PC16 = 13, /* 16 bit sign extended pc relative */ + R_X86_64_8 = 14, /* Direct 8 bit sign extended */ + R_X86_64_PC8 = 15, /* 8 bit sign extended pc relative */ + R_X86_64_DTPMOD64 = 16, /* ID of module containing symbol */ + R_X86_64_DTPOFF64 = 17, /* Offset in module's TLS block */ + R_X86_64_TPOFF64 = 18, /* Offset in initial TLS block */ + R_X86_64_TLSGD = 19, /* 32 bit signed PC relative offset to two GOT entries for GD symbol */ + R_X86_64_TLSLD = 20, /* 32 bit signed PC relative offset to two GOT entries for LD symbol */ + R_X86_64_DTPOFF32 = 21, /* Offset in TLS block */ + R_X86_64_GOTTPOFF = 22, /* 32 bit signed PC relative offset to GOT entry for IE symbol */ + R_X86_64_TPOFF32 = 23, /* Offset in initial TLS block */ + R_X86_64_PC64 = 24, /* word64 S + A - P */ + R_X86_64_GOTOFF64 = 25, /* word64 S + A - GOT */ + R_X86_64_GOTPC32 = 26, /* word32 GOT + A - P */ + R_X86_64_GOT64 = 27, /* word64 G + A */ + R_X86_64_GOTPCREL64 = 28, /* word64 G + GOT - P + A */ + R_X86_64_GOTPC64 = 29, /* word64 GOT - P + A */ + R_X86_64_GOTPLT64 = 30, /* word64 G + A */ + R_X86_64_PLTOFF64 = 31, /* word64 L - GOT + A */ + R_X86_64_SIZE32 = 32, /* word32 Z + A */ + R_X86_64_SIZE64 = 33, /* word64 Z + A */ + R_X86_64_GOTPC32_TLSDESC= 34, /* word32 */ + R_X86_64_TLSDESC_CALL = 35, /* none */ + R_X86_64_TLSDESC = 36 /* word64?2 */ }; /* @@ -410,21 +410,21 @@ enum reloc64_type { */ typedef struct elf32_sym { - Elf32_Word st_name; - Elf32_Addr st_value; - Elf32_Word st_size; - unsigned char st_info; - unsigned char st_other; - Elf32_Half st_shndx; + Elf32_Word st_name; + Elf32_Addr st_value; + Elf32_Word st_size; + unsigned char st_info; + unsigned char st_other; + Elf32_Half st_shndx; } Elf32_Sym; typedef struct elf64_sym { - Elf64_Word st_name; - unsigned char st_info; - unsigned char st_other; - Elf64_Half st_shndx; - Elf64_Addr st_value; - Elf64_Xword st_size; + Elf64_Word st_name; + unsigned char st_info; + unsigned char st_other; + Elf64_Half st_shndx; + Elf64_Addr st_value; + Elf64_Xword st_size; } Elf64_Sym; /* @@ -432,37 +432,37 @@ typedef struct elf64_sym { */ typedef struct elf32_hdr { - unsigned char e_ident[EI_NIDENT]; - Elf32_Half e_type; - Elf32_Half e_machine; - Elf32_Word e_version; - Elf32_Addr e_entry; - Elf32_Off e_phoff; - Elf32_Off e_shoff; - Elf32_Word e_flags; - Elf32_Half e_ehsize; - Elf32_Half e_phentsize; - Elf32_Half e_phnum; - Elf32_Half e_shentsize; - Elf32_Half e_shnum; - Elf32_Half e_shstrndx; + unsigned char e_ident[EI_NIDENT]; + Elf32_Half e_type; + Elf32_Half e_machine; + Elf32_Word e_version; + Elf32_Addr e_entry; + Elf32_Off e_phoff; + Elf32_Off e_shoff; + Elf32_Word e_flags; + Elf32_Half e_ehsize; + Elf32_Half e_phentsize; + Elf32_Half e_phnum; + Elf32_Half e_shentsize; + Elf32_Half e_shnum; + Elf32_Half e_shstrndx; } Elf32_Ehdr; typedef struct elf64_hdr { - unsigned char e_ident[EI_NIDENT]; - Elf64_Half e_type; - Elf64_Half e_machine; - Elf64_Word e_version; - Elf64_Addr e_entry; - Elf64_Off e_phoff; - Elf64_Off e_shoff; - Elf64_Word e_flags; - Elf64_Half e_ehsize; - Elf64_Half e_phentsize; - Elf64_Half e_phnum; - Elf64_Half e_shentsize; - Elf64_Half e_shnum; - Elf64_Half e_shstrndx; + unsigned char e_ident[EI_NIDENT]; + Elf64_Half e_type; + Elf64_Half e_machine; + Elf64_Word e_version; + Elf64_Addr e_entry; + Elf64_Off e_phoff; + Elf64_Off e_shoff; + Elf64_Word e_flags; + Elf64_Half e_ehsize; + Elf64_Half e_phentsize; + Elf64_Half e_phnum; + Elf64_Half e_shentsize; + Elf64_Half e_shnum; + Elf64_Half e_shstrndx; } Elf64_Ehdr; /* @@ -470,25 +470,25 @@ typedef struct elf64_hdr { */ typedef struct elf32_phdr { - Elf32_Word p_type; - Elf32_Off p_offset; - Elf32_Addr p_vaddr; - Elf32_Addr p_paddr; - Elf32_Word p_filesz; - Elf32_Word p_memsz; - Elf32_Word p_flags; - Elf32_Word p_align; + Elf32_Word p_type; + Elf32_Off p_offset; + Elf32_Addr p_vaddr; + Elf32_Addr p_paddr; + Elf32_Word p_filesz; + Elf32_Word p_memsz; + Elf32_Word p_flags; + Elf32_Word p_align; } Elf32_Phdr; typedef struct elf64_phdr { - Elf64_Word p_type; - Elf64_Word p_flags; - Elf64_Off p_offset; - Elf64_Addr p_vaddr; - Elf64_Addr p_paddr; - Elf64_Xword p_filesz; - Elf64_Xword p_memsz; - Elf64_Xword p_align; + Elf64_Word p_type; + Elf64_Word p_flags; + Elf64_Off p_offset; + Elf64_Addr p_vaddr; + Elf64_Addr p_paddr; + Elf64_Xword p_filesz; + Elf64_Xword p_memsz; + Elf64_Xword p_align; } Elf64_Phdr; /* @@ -496,44 +496,44 @@ typedef struct elf64_phdr { */ typedef struct elf32_shdr { - Elf32_Word sh_name; - Elf32_Word sh_type; - Elf32_Word sh_flags; - Elf32_Addr sh_addr; - Elf32_Off sh_offset; - Elf32_Word sh_size; - Elf32_Word sh_link; - Elf32_Word sh_info; - Elf32_Word sh_addralign; - Elf32_Word sh_entsize; + Elf32_Word sh_name; + Elf32_Word sh_type; + Elf32_Word sh_flags; + Elf32_Addr sh_addr; + Elf32_Off sh_offset; + Elf32_Word sh_size; + Elf32_Word sh_link; + Elf32_Word sh_info; + Elf32_Word sh_addralign; + Elf32_Word sh_entsize; } Elf32_Shdr; typedef struct elf64_shdr { - Elf64_Word sh_name; - Elf64_Word sh_type; - Elf64_Xword sh_flags; - Elf64_Addr sh_addr; - Elf64_Off sh_offset; - Elf64_Xword sh_size; - Elf64_Word sh_link; - Elf64_Word sh_info; - Elf64_Xword sh_addralign; - Elf64_Xword sh_entsize; + Elf64_Word sh_name; + Elf64_Word sh_type; + Elf64_Xword sh_flags; + Elf64_Addr sh_addr; + Elf64_Off sh_offset; + Elf64_Xword sh_size; + Elf64_Word sh_link; + Elf64_Word sh_info; + Elf64_Xword sh_addralign; + Elf64_Xword sh_entsize; } Elf64_Shdr; /* * Note header */ typedef struct elf32_note { - Elf32_Word n_namesz; /* Name size */ - Elf32_Word n_descsz; /* Content size */ - Elf32_Word n_type; /* Content type */ + Elf32_Word n_namesz; /* Name size */ + Elf32_Word n_descsz; /* Content size */ + Elf32_Word n_type; /* Content type */ } Elf32_Nhdr; typedef struct elf64_note { - Elf64_Word n_namesz; /* Name size */ - Elf64_Word n_descsz; /* Content size */ - Elf64_Word n_type; /* Content type */ + Elf64_Word n_namesz; /* Name size */ + Elf64_Word n_descsz; /* Content size */ + Elf64_Word n_type; /* Content type */ } Elf64_Nhdr; #endif /* OUTPUT_ELF_H */ diff --git a/output/macho.h b/output/macho.h new file mode 100644 index 00000000..538c531e --- /dev/null +++ b/output/macho.h @@ -0,0 +1,282 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2018 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +#ifndef OUTPUT_MACHO_H +#define OUTPUT_MACHO_H + +#include "compiler.h" + +/* Magics */ +#define MH_MAGIC 0xfeedface +#define MH_MAGIC_64 0xfeedfacf + +/* File types */ +#define MH_OBJECT 0x1 + +/* CPUs */ +#define CPU_ARCH_MASK 0xff000000 +#define CPU_ARCH_ABI64 0x01000000 +#define CPU_TYPE_X86 7 +#define CPU_TYPE_I386 CPU_TYPE_X86 +#define CPU_TYPE_X86_64 (CPU_TYPE_X86 | CPU_ARCH_ABI64) + +#define CPU_SUBTYPE_MASK 0xff000000 +#define CPU_SUBTYPE_I386_ALL 3 + +/* Header flags */ +#define MH_SUBSECTIONS_VIA_SYMBOLS 0x00002000 + +/* Load commands */ +#define LC_SEGMENT 0x1 +#define LC_SEGMENT_64 0x19 +#define LC_SYMTAB 0x2 + +/* Symbol type bits */ +#define N_STAB 0xe0 +#define N_PEXT 0x10 +#define N_TYPE 0x0e +#define N_EXT 0x01 + +/* To mask with N_TYPE */ +#define N_UNDF 0x00 +#define N_ABS 0x02 +#define N_INDR 0x0a +#define N_PBUD 0x0c +#define N_SECT 0x0e + +/* Section ordinals */ +#define NO_SECT 0x00 +#define MAX_SECT 0xff + +/* Section bits */ +#define SECTION_TYPE 0x000000ff +#define SECTION_ATTRIBUTES 0xffffff00 +#define SECTION_ATTRIBUTES_USR 0xff000000 +#define SECTION_ATTRIBUTES_SYS 0x00ffff00 + +#define S_REGULAR 0x00 +#define S_ZEROFILL 0x01 +#define S_CSTRING_LITERALS 0x02 +#define S_4BYTE_LITERALS 0x03 +#define S_8BYTE_LITERALS 0x04 +#define S_LITERAL_POINTERS 0x05 +#define S_NON_LAZY_SYMBOL_POINTERS 0x06 +#define S_LAZY_SYMBOL_POINTERS 0x07 +#define S_SYMBOL_STUBS 0x08 +#define S_MOD_INIT_FUNC_POINTERS 0x09 +#define S_MOD_TERM_FUNC_POINTERS 0x0a +#define S_COALESCED 0x0b +#define S_GB_ZEROFILL 0x0c +#define S_INTERPOSING 0x0d +#define S_16BYTE_LITERALS 0x0e +#define S_DTRACE_DOF 0x0f +#define S_LAZY_DYLIB_SYMBOL_POINTERS 0x10 +#define S_THREAD_LOCAL_REGULAR 0x11 +#define S_THREAD_LOCAL_ZEROFILL 0x12 +#define S_THREAD_LOCAL_VARIABLES 0x13 +#define S_THREAD_LOCAL_VARIABLE_POINTERS 0x14 +#define S_THREAD_LOCAL_INIT_FUNCTION_POINTERS 0x15 + +#define S_ATTR_PURE_INSTRUCTIONS 0x80000000 +#define S_ATTR_NO_TOC 0x40000000 +#define S_ATTR_STRIP_STATIC_SYMS 0x20000000 +#define S_ATTR_NO_DEAD_STRIP 0x10000000 +#define S_ATTR_LIVE_SUPPORT 0x08000000 +#define S_ATTR_SELF_MODIFYING_CODE 0x04000000 +#define S_ATTR_DEBUG 0x02000000 + +#define S_ATTR_SOME_INSTRUCTIONS 0x00000400 +#define S_ATTR_EXT_RELOC 0x00000200 +#define S_ATTR_LOC_RELOC 0x00000100 +#define INDIRECT_SYMBOL_LOCAL 0x80000000 +#define INDIRECT_SYMBOL_ABS 0x40000000 + +/* Relocation info type */ +#define GENERIC_RELOC_VANILLA 0 +#define GENERIC_RELOC_PAIR 1 +#define GENERIC_RELOC_SECTDIFF 2 +#define GENERIC_RELOC_PB_LA_PTR 3 +#define GENERIC_RELOC_LOCAL_SECTDIFF 4 +#define GENERIC_RELOC_TLV 5 + +#define X86_64_RELOC_UNSIGNED 0 +#define X86_64_RELOC_SIGNED 1 +#define X86_64_RELOC_BRANCH 2 +#define X86_64_RELOC_GOT_LOAD 3 +#define X86_64_RELOC_GOT 4 +#define X86_64_RELOC_SUBTRACTOR 5 +#define X86_64_RELOC_SIGNED_1 6 +#define X86_64_RELOC_SIGNED_2 7 +#define X86_64_RELOC_SIGNED_4 8 +#define X86_64_RELOC_TLV 9 + +/* Relocation info */ +#define R_ABS 0 +#define R_SCATTERED 0x80000000 + +/* VM permission constants */ +#define VM_PROT_NONE 0x00 +#define VM_PROT_READ 0x01 +#define VM_PROT_WRITE 0x02 +#define VM_PROT_EXECUTE 0x04 + +typedef struct { + uint32_t magic; + uint32_t cputype; + uint32_t cpusubtype; + uint32_t filetype; + uint32_t ncmds; + uint32_t sizeofcmds; + uint32_t flags; +} macho_header_t; + +typedef struct { + uint32_t magic; + uint32_t cputype; + uint32_t cpusubtype; + uint32_t filetype; + uint32_t ncmds; + uint32_t sizeofcmds; + uint32_t flags; + uint32_t reserved; +} macho_header_64_t; + +typedef struct { + uint32_t cmd; + uint32_t cmdsize; +} macho_load_command_t; + +typedef struct { + uint32_t cmd; + uint32_t cmdsize; + char segname[16]; + uint32_t vmaddr; + uint32_t vmsize; + uint32_t fileoff; + uint32_t filesize; + uint32_t maxprot; + uint32_t initprot; + uint32_t nsects; + uint32_t flags; +} macho_segment_command_t; + +typedef struct { + uint32_t cmd; + uint32_t cmdsize; + char segname[16]; + uint64_t vmaddr; + uint64_t vmsize; + uint64_t fileoff; + uint64_t filesize; + uint32_t maxprot; + uint32_t initprot; + uint32_t nsects; + uint32_t flags; +} macho_segment_command_64_t; + +typedef struct { + char sectname[16]; + char segname[16]; + uint32_t addr; + uint32_t size; + uint32_t offset; + uint32_t align; + uint32_t reloff; + uint32_t nreloc; + uint32_t flags; + uint32_t reserved1; + uint32_t reserved2; +} macho_section_t; + +typedef struct { + char sectname[16]; + char segname[16]; + uint64_t addr; + uint64_t size; + uint32_t offset; + uint32_t align; + uint32_t reloff; + uint32_t nreloc; + uint32_t flags; + uint32_t reserved1; + uint32_t reserved2; + uint32_t reserved3; +} macho_section_64_t; + +typedef struct { + uint32_t cmd; + uint32_t cmdsize; + uint32_t symoff; + uint32_t nsyms; + uint32_t stroff; + uint32_t strsize; +} macho_symtab_command_t; + +typedef struct { + int32_t r_address; + union { + struct { + uint32_t r_symbolnum: 24, + r_pcrel: 1, + r_length: 2, + r_extern: 1, + r_type: 4; + } s; + uint32_t r_raw; + } u; +} macho_relocation_info_t; + +typedef struct nlist_base { + uint32_t n_strx; + uint8_t n_type; + uint8_t n_sect; + uint16_t n_desc; +} macho_nlist_base_t; + +typedef struct nlist { + uint32_t n_strx; + uint8_t n_type; + uint8_t n_sect; + int16_t n_desc; + uint32_t n_value; +} macho_nlist_t; + +typedef struct { + uint32_t n_strx; + uint8_t n_type; + uint8_t n_sect; + uint16_t n_desc; + uint64_t n_value; +} macho_nlist_64_t; + +#endif /* OUTPUT_MACHO_H */ diff --git a/output/nullout.c b/output/nullout.c index daf24f53..121fe70b 100644 --- a/output/nullout.c +++ b/output/nullout.c @@ -36,11 +36,10 @@ #include "outlib.h" enum directive_result -null_directive(enum directive directive, char *value, int pass) +null_directive(enum directive directive, char *value) { (void)directive; (void)value; - (void)pass; return DIRR_UNKNOWN; } @@ -54,3 +53,8 @@ void null_reset(void) { /* Nothing to do */ } + +int32_t null_segbase(int32_t segment) +{ + return segment; +} diff --git a/output/outaout.c b/output/outaout.c index ba2dbd5e..61f21119 100644 --- a/output/outaout.c +++ b/output/outaout.c @@ -236,11 +236,8 @@ static void aout_cleanup(void) saa_free(strs); } -static int32_t aout_section_names(char *name, int pass, int *bits) +static int32_t aout_section_names(char *name, int *bits) { - - (void)pass; - /* * Default to 32 bits. */ @@ -275,7 +272,7 @@ static void aout_deflabel(char *name, int32_t segment, int64_t offset, if (strcmp(name, "..gotpc") && strcmp(name, "..gotoff") && strcmp(name, "..got") && strcmp(name, "..plt") && strcmp(name, "..sym")) - nasm_error(ERR_NONFATAL, "unrecognised special symbol `%s'", name); + nasm_nonfatal("unrecognised special symbol `%s'", name); return; } @@ -298,8 +295,8 @@ static void aout_deflabel(char *name, int32_t segment, int64_t offset, e = evaluate(stdscan, NULL, &tokval, NULL, 1, NULL); if (e) { if (!is_simple(e)) - nasm_error(ERR_NONFATAL, "cannot use relocatable" - " expression as symbol size"); + nasm_nonfatal("cannot use relocatable" + " expression as symbol size"); else (*s)->size = reloc_value(e); } @@ -367,8 +364,8 @@ static void aout_deflabel(char *name, int32_t segment, int64_t offset, !nasm_strnicmp(special, "object", n)) sym->type |= SYM_DATA; else - nasm_error(ERR_NONFATAL, "unrecognised symbol type `%.*s'", - n, special); + nasm_nonfatal("unrecognised symbol type `%.*s'", + n, special); if (special[n]) { struct tokenval tokval; expr *e; @@ -376,8 +373,8 @@ static void aout_deflabel(char *name, int32_t segment, int64_t offset, char *saveme = stdscan_get(); if (!bsd) { - nasm_error(ERR_NONFATAL, "Linux a.out does not support" - " symbol size information"); + nasm_nonfatal("Linux a.out does not support" + " symbol size information"); } else { while (special[n] && nasm_isspace(special[n])) n++; @@ -396,8 +393,8 @@ static void aout_deflabel(char *name, int32_t segment, int64_t offset, sym->name = nasm_strdup(name); } else if (e) { if (!is_simple(e)) - nasm_error(ERR_NONFATAL, "cannot use relocatable" - " expression as symbol size"); + nasm_nonfatal("cannot use relocatable" + " expression as symbol size"); else sym->size = reloc_value(e); } @@ -422,7 +419,7 @@ static void aout_deflabel(char *name, int32_t segment, int64_t offset, nsyms++; /* and another for the size */ if (special && !special_used) - nasm_error(ERR_NONFATAL, "no special symbol features supported here"); + nasm_nonfatal("no special symbol features supported here"); } static void aout_add_reloc(struct Section *sect, int32_t segment, @@ -490,8 +487,8 @@ static int32_t aout_add_gsym_reloc(struct Section *sect, shead = sbss.gsyms; if (!shead) { if (exact && offset != 0) - nasm_error(ERR_NONFATAL, "unable to find a suitable global symbol" - " for this reference"); + nasm_nonfatal("unable to find a suitable global symbol" + " for this reference"); else aout_add_reloc(sect, segment, type, bytes); return offset; @@ -514,8 +511,8 @@ static int32_t aout_add_gsym_reloc(struct Section *sect, sym = sm; } if (!sym && exact) { - nasm_error(ERR_NONFATAL, "unable to find a suitable global symbol" - " for this reference"); + nasm_nonfatal("unable to find a suitable global symbol" + " for this reference"); return 0; } @@ -561,8 +558,8 @@ static int32_t aout_add_gotoff_reloc(struct Section *sect, int32_t segment, else if (segment == sbss.index) asym = sbss.asym; if (!asym) - nasm_error(ERR_NONFATAL, "`..gotoff' relocations require a non-global" - " symbol in the section"); + nasm_nonfatal("`..gotoff' relocations require a non-global" + " symbol in the section"); r = *sect->tail = nasm_malloc(sizeof(struct Reloc)); sect->tail = &r->next; @@ -586,16 +583,6 @@ static void aout_out(int32_t segto, const void *data, int32_t addr; uint8_t mydata[4], *p; - /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; - } - if (segto == stext.index) s = &stext; else if (segto == sdata.index) @@ -603,14 +590,14 @@ static void aout_out(int32_t segto, const void *data, else if (segto == sbss.index) s = NULL; else { - nasm_error(ERR_WARNING, "attempt to assemble code in" - " segment %d: defaulting to `.text'", segto); + nasm_warn(WARN_OTHER, "attempt to assemble code in" + " segment %d: defaulting to `.text'", segto); s = &stext; } if (!s && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in the" - " BSS section: ignored"); + nasm_warn(WARN_OTHER, "attempt to initialize memory in the" + " BSS section: ignored"); sbss.len += realsize(type, size); return; } @@ -619,30 +606,27 @@ static void aout_out(int32_t segto, const void *data, if (type == OUT_RESERVE) { if (s) { - nasm_error(ERR_WARNING, "uninitialized space declared in" - " %s section: zeroing", - (segto == stext.index ? "code" : "data")); + nasm_warn(WARN_OTHER, "uninitialized space declared in" + " %s section: zeroing", + (segto == stext.index ? "code" : "data")); aout_sect_write(s, NULL, size); } else sbss.len += size; } else if (type == OUT_RAWDATA) { - if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); aout_sect_write(s, data, size); } else if (type == OUT_ADDRESS) { int asize = abs((int)size); addr = *(int64_t *)data; if (segment != NO_SEG) { if (segment % 2) { - nasm_error(ERR_NONFATAL, "a.out format does not support" - " segment base references"); + nasm_nonfatal("a.out format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { aout_add_reloc(s, segment, RELTYPE_ABSOLUTE, asize); } else if (!bsd) { - nasm_error(ERR_NONFATAL, - "Linux a.out format does not support" - " any use of WRT"); + nasm_nonfatal("Linux a.out format does not support" + " any use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } else if (wrt == aout_gotpc_sect + 1) { is_pic = 0x40; @@ -660,13 +644,11 @@ static void aout_out(int32_t segto, const void *data, false); } else if (wrt == aout_plt_sect + 1) { is_pic = 0x40; - nasm_error(ERR_NONFATAL, - "a.out format cannot produce non-PC-" - "relative PLT references"); + nasm_nonfatal("a.out format cannot produce non-PC-" + "relative PLT references"); } else { - nasm_error(ERR_NONFATAL, - "a.out format does not support this" - " use of WRT"); + nasm_nonfatal("a.out format does not support this" + " use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } } @@ -678,17 +660,15 @@ static void aout_out(int32_t segto, const void *data, WRITELONG(p, addr); aout_sect_write(s, mydata, asize); } else if (type == OUT_REL2ADR) { - if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL2ADR"); if (segment != NO_SEG && segment % 2) { - nasm_error(ERR_NONFATAL, "a.out format does not support" - " segment base references"); + nasm_nonfatal("a.out format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { aout_add_reloc(s, segment, RELTYPE_RELATIVE, 2); } else if (!bsd) { - nasm_error(ERR_NONFATAL, "Linux a.out format does not support" - " any use of WRT"); + nasm_nonfatal("Linux a.out format does not support" + " any use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } else if (wrt == aout_plt_sect + 1) { is_pic = 0x40; @@ -696,11 +676,11 @@ static void aout_out(int32_t segto, const void *data, } else if (wrt == aout_gotpc_sect + 1 || wrt == aout_gotoff_sect + 1 || wrt == aout_got_sect + 1) { - nasm_error(ERR_NONFATAL, "a.out format cannot produce PC-" - "relative GOT references"); + nasm_nonfatal("a.out format cannot produce PC-" + "relative GOT references"); } else { - nasm_error(ERR_NONFATAL, "a.out format does not support this" - " use of WRT"); + nasm_nonfatal("a.out format does not support this" + " use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } } @@ -708,17 +688,15 @@ static void aout_out(int32_t segto, const void *data, WRITESHORT(p, *(int64_t *)data - (size + s->len)); aout_sect_write(s, mydata, 2L); } else if (type == OUT_REL4ADR) { - if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL4ADR"); if (segment != NO_SEG && segment % 2) { - nasm_error(ERR_NONFATAL, "a.out format does not support" - " segment base references"); + nasm_nonfatal("a.out format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { aout_add_reloc(s, segment, RELTYPE_RELATIVE, 4); } else if (!bsd) { - nasm_error(ERR_NONFATAL, "Linux a.out format does not support" - " any use of WRT"); + nasm_nonfatal("Linux a.out format does not support" + " any use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } else if (wrt == aout_plt_sect + 1) { is_pic = 0x40; @@ -726,11 +704,11 @@ static void aout_out(int32_t segto, const void *data, } else if (wrt == aout_gotpc_sect + 1 || wrt == aout_gotoff_sect + 1 || wrt == aout_got_sect + 1) { - nasm_error(ERR_NONFATAL, "a.out format cannot produce PC-" - "relative GOT references"); + nasm_nonfatal("a.out format cannot produce PC-" + "relative GOT references"); } else { - nasm_error(ERR_NONFATAL, "a.out format does not support this" - " use of WRT"); + nasm_nonfatal("a.out format does not support this" + " use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } } @@ -889,11 +867,6 @@ static void aout_sect_write(struct Section *sect, sect->len += len; } -static int32_t aout_segbase(int32_t segment) -{ - return segment; -} - extern macros_t aout_stdmac[]; #endif /* OF_AOUT || OF_AOUTB */ @@ -917,7 +890,7 @@ const struct ofmt of_aout = { aout_section_names, NULL, null_sectalign, - aout_segbase, + null_segbase, null_directive, aout_cleanup, NULL /* pragma list */ @@ -944,7 +917,7 @@ const struct ofmt of_aoutb = { aout_section_names, NULL, null_sectalign, - aout_segbase, + null_segbase, null_directive, aout_cleanup, NULL /* pragma list */ diff --git a/output/outas86.c b/output/outas86.c index 3f9867b9..eed0396d 100644 --- a/output/outas86.c +++ b/output/outas86.c @@ -159,11 +159,8 @@ static void as86_cleanup(void) saa_free(strs); } -static int32_t as86_section_names(char *name, int pass, int *bits) +static int32_t as86_section_names(char *name, int *bits) { - - (void)pass; - /* * Default is 16 bits. */ @@ -200,13 +197,13 @@ static void as86_deflabel(char *name, int32_t segment, int64_t offset, struct Symbol *sym; if (special) - nasm_error(ERR_NONFATAL, "as86 format does not support any" - " special symbol types"); + nasm_nonfatal("as86 format does not support any" + " special symbol types"); if (name[0] == '.' && name[1] == '.' && name[2] != '@') { if (strcmp(name, "..start")) { - nasm_error(ERR_NONFATAL, "unrecognised special symbol `%s'", name); + nasm_nonfatal("unrecognised special symbol `%s'", name); return; } else { is_start = true; @@ -294,17 +291,7 @@ static void as86_out(int32_t segto, const void *data, if (wrt != NO_SEG) { wrt = NO_SEG; /* continue to do _something_ */ - nasm_error(ERR_NONFATAL, "WRT not supported by as86 output format"); - } - - /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; + nasm_nonfatal("WRT not supported by as86 output format"); } if (segto == stext.index) @@ -314,14 +301,14 @@ static void as86_out(int32_t segto, const void *data, else if (segto == bssindex) s = NULL; else { - nasm_error(ERR_WARNING, "attempt to assemble code in" - " segment %d: defaulting to `.text'", segto); + nasm_warn(WARN_OTHER, "attempt to assemble code in" + " segment %d: defaulting to `.text'", segto); s = &stext; } if (!s && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in the" - " BSS section: ignored"); + nasm_warn(WARN_OTHER, "attempt to initialize memory in the" + " BSS section: ignored"); bsslen += realsize(type, size); return; } @@ -330,24 +317,22 @@ static void as86_out(int32_t segto, const void *data, if (type == OUT_RESERVE) { if (s) { - nasm_error(ERR_WARNING, "uninitialized space declared in" - " %s section: zeroing", - (segto == stext.index ? "code" : "data")); + nasm_warn(WARN_OTHER, "uninitialized space declared in" + " %s section: zeroing", + (segto == stext.index ? "code" : "data")); as86_sect_write(s, NULL, size); as86_add_piece(s, 0, 0L, 0L, size, 0); } else bsslen += size; } else if (type == OUT_RAWDATA) { - if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); as86_sect_write(s, data, size); as86_add_piece(s, 0, 0L, 0L, size, 0); } else if (type == OUT_ADDRESS) { int asize = abs((int)size); if (segment != NO_SEG) { if (segment % 2) { - nasm_error(ERR_NONFATAL, "as86 format does not support" - " segment base references"); + nasm_nonfatal("as86 format does not support" + " segment base references"); } else { offset = *(int64_t *)data; as86_add_piece(s, 1, offset, segment, asize, 0); @@ -359,12 +344,10 @@ static void as86_out(int32_t segto, const void *data, as86_add_piece(s, 0, 0L, 0L, asize, 0); } } else if (type == OUT_REL2ADR) { - if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL2ADR"); if (segment != NO_SEG) { if (segment % 2) { - nasm_error(ERR_NONFATAL, "as86 format does not support" - " segment base references"); + nasm_nonfatal("as86 format does not support" + " segment base references"); } else { offset = *(int64_t *)data; as86_add_piece(s, 1, offset - size + 2, segment, 2L, @@ -372,12 +355,10 @@ static void as86_out(int32_t segto, const void *data, } } } else if (type == OUT_REL4ADR) { - if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL4ADR"); if (segment != NO_SEG) { if (segment % 2) { - nasm_error(ERR_NONFATAL, "as86 format does not support" - " segment base references"); + nasm_nonfatal("as86 format does not support" + " segment base references"); } else { offset = *(int64_t *)data; as86_add_piece(s, 1, offset - size + 4, segment, 4L, @@ -514,7 +495,7 @@ static void as86_set_rsize(int size) fputc(0x03, ofile); break; default: - nasm_panic(0, "bizarre relocation size %d", size); + nasm_panic("bizarre relocation size %d", size); break; } } @@ -605,11 +586,6 @@ static void as86_sect_write(struct Section *sect, sect->datalen += len; } -static int32_t as86_segbase(int32_t segment) -{ - return segment; -} - extern macros_t as86_stdmac[]; const struct ofmt of_as86 = { @@ -629,7 +605,7 @@ const struct ofmt of_as86 = { as86_section_names, NULL, null_sectalign, - as86_segbase, + null_segbase, null_directive, as86_cleanup, NULL /* pragma list */ diff --git a/output/outbin.c b/output/outbin.c index 28535f99..4bf13fa4 100644 --- a/output/outbin.c +++ b/output/outbin.c @@ -232,8 +232,7 @@ static void bin_cleanup(void) int h; #ifdef DEBUG - nasm_error(ERR_DEBUG, - "bin_cleanup: Sections were initially referenced in this order:\n"); + nasm_debug("bin_cleanup: Sections were initially referenced in this order:\n"); for (h = 0, s = sections; s; h++, s = s->next) fprintf(stdout, "%i. %s\n", h, s->name); #endif @@ -267,9 +266,8 @@ static void bin_cleanup(void) if (s->flags & (START_DEFINED | ALIGN_DEFINED | FOLLOWS_DEFINED)) { /* Check for a mixture of real and virtual section attributes. */ if (s->flags & (VSTART_DEFINED | VALIGN_DEFINED | VFOLLOWS_DEFINED)) - nasm_fatal(ERR_NOFILE, - "cannot mix real and virtual attributes" - " in nobits section (%s)", s->name); + nasm_fatal("cannot mix real and virtual attributes" + " in nobits section (%s)", s->name); /* Real and virtual attributes mean the same thing for nobits sections. */ if (s->flags & START_DEFINED) { s->vstart = s->start; @@ -338,11 +336,11 @@ static void bin_cleanup(void) s && strcmp(s->name, g->follows); sp = &s->next, s = s->next) ; if (!s) - nasm_fatal(ERR_NOFILE, "section %s follows an invalid or" + nasm_fatal("section %s follows an invalid or" " unknown section (%s)", g->name, g->follows); if (s->next && (s->next->flags & FOLLOWS_DEFINED) && !strcmp(s->name, s->next->follows)) - nasm_fatal(ERR_NOFILE, "sections %s and %s can't both follow" + nasm_fatal("sections %s and %s can't both follow" " section %s", g->name, s->next->name, s->name); /* Find the end of the current follows group (gs). */ for (gsp = &g->next, gs = g->next; @@ -386,7 +384,7 @@ static void bin_cleanup(void) if (sections->flags & START_DEFINED) { /* Make sure this section doesn't begin before the origin. */ if (sections->start < origin) - nasm_fatal(ERR_NOFILE, "section %s begins" + nasm_fatal("section %s begins" " before program origin", sections->name); } else if (sections->flags & ALIGN_DEFINED) { sections->start = ALIGN(origin, sections->align); @@ -442,13 +440,13 @@ static void bin_cleanup(void) /* Check for section overlap. */ if (s) { if (s->start < origin) - nasm_fatal(ERR_NOFILE, "section %s beings before program origin", + nasm_fatal("section %s beings before program origin", s->name); if (g->start > s->start) - nasm_fatal(ERR_NOFILE, "sections %s ~ %s and %s overlap!", + nasm_fatal("sections %s ~ %s and %s overlap!", gs->name, g->name, s->name); if (pend > s->start) - nasm_fatal(ERR_NOFILE, "sections %s and %s overlap!", + nasm_fatal("sections %s and %s overlap!", g->name, s->name); } /* Remember this section as the latest >0 length section. */ @@ -477,9 +475,8 @@ static void bin_cleanup(void) for (s = sections; s && strcmp(g->vfollows, s->name); s = s->next) ; if (!s) - nasm_fatal(ERR_NOFILE, - "section %s vfollows unknown section (%s)", - g->name, g->vfollows); + nasm_fatal("section %s vfollows unknown section (%s)", + g->name, g->vfollows); } else if (g->prev != NULL) for (s = sections; s && (s != g->prev); s = s->next) ; /* The .bss section is the only one with prev = NULL. @@ -510,17 +507,15 @@ static void bin_cleanup(void) for (h = 0, s = sections; s; s = s->next) { if (!(s->flags & VSTART_DEFINED)) { /* Non-fatal errors after assembly has completed are generally a * no-no, but we'll throw a fatal one eventually so it's ok. */ - nasm_error(ERR_NONFATAL, "cannot compute vstart for section %s", - s->name); + nasm_nonfatal("cannot compute vstart for section %s", s->name); h++; } } if (h) - nasm_fatal(ERR_NOFILE, "circular vfollows path detected"); + nasm_fatal("circular vfollows path detected"); #ifdef DEBUG - nasm_error(ERR_DEBUG, - "bin_cleanup: Confirm final section order for output file:\n"); + nasm_debug("bin_cleanup: Confirm final section order for output file:\n"); for (h = 0, s = sections; s && (s->flags & TYPE_PROGBITS); h++, s = s->next) fprintf(stdout, "%i. %s\n", h, s->name); @@ -734,21 +729,13 @@ static void bin_out(int32_t segto, const void *data, if (wrt != NO_SEG) { wrt = NO_SEG; /* continue to do _something_ */ - nasm_error(ERR_NONFATAL, "WRT not supported by binary output format"); - } - - /* Handle absolute-assembly (structure definitions). */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in" - " [ABSOLUTE] space"); - return; + nasm_nonfatal("WRT not supported by binary output format"); } /* Find the segment we are targeting. */ s = find_section_by_index(segto); if (!s) - nasm_panic(0, "code directed to nonexistent segment?"); + nasm_panic("code directed to nonexistent segment?"); /* "Smart" section-type adaptation code. */ if (!(s->flags & TYPE_DEFINED)) { @@ -759,8 +746,8 @@ static void bin_out(int32_t segto, const void *data, } if ((s->flags & TYPE_NOBITS) && (type != OUT_RESERVE)) - nasm_error(ERR_WARNING, "attempt to initialize memory in a" - " nobits section: ignored"); + nasm_warn(WARN_OTHER, "attempt to initialize memory in a" + " nobits section: ignored"); switch (type) { case OUT_ADDRESS: @@ -769,11 +756,11 @@ static void bin_out(int32_t segto, const void *data, if (segment != NO_SEG && !find_section_by_index(segment)) { if (segment % 2) - nasm_error(ERR_NONFATAL, "binary output format does not support" - " segment base references"); + nasm_nonfatal("binary output format does not support" + " segment base references"); else - nasm_error(ERR_NONFATAL, "binary output format does not support" - " external references"); + nasm_nonfatal("binary output format does not support" + " external references"); segment = NO_SEG; } if (s->flags & TYPE_PROGBITS) { @@ -799,8 +786,8 @@ static void bin_out(int32_t segto, const void *data, case OUT_RESERVE: if (s->flags & TYPE_PROGBITS) { - nasm_error(ERR_WARNING, "uninitialized space declared in" - " %s section: zeroing", s->name); + nasm_warn(WARN_OTHER, "uninitialized space declared in" + " %s section: zeroing", s->name); saa_wbytes(s->contents, NULL, size); } break; @@ -814,11 +801,11 @@ static void bin_out(int32_t segto, const void *data, size = realsize(type, size); if (segment != NO_SEG && !find_section_by_index(segment)) { if (segment % 2) - nasm_error(ERR_NONFATAL, "binary output format does not support" - " segment base references"); + nasm_nonfatal("binary output format does not support" + " segment base references"); else - nasm_error(ERR_NONFATAL, "binary output format does not support" - " external references"); + nasm_nonfatal("binary output format does not support" + " external references"); segment = NO_SEG; } if (s->flags & TYPE_PROGBITS) { @@ -831,7 +818,7 @@ static void bin_out(int32_t segto, const void *data, } default: - nasm_error(ERR_NONFATAL, "unsupported relocation type %d\n", type); + nasm_nonfatal("unsupported relocation type %d\n", type); break; } @@ -845,13 +832,13 @@ static void bin_deflabel(char *name, int32_t segment, int64_t offset, (void)offset; /* Don't warn that this parameter is unused */ if (special) - nasm_error(ERR_NONFATAL, "binary format does not support any" - " special symbol types"); + nasm_nonfatal("binary format does not support any" + " special symbol types"); else if (name[0] == '.' && name[1] == '.' && name[2] != '@') - nasm_error(ERR_NONFATAL, "unrecognised special symbol `%s'", name); + nasm_nonfatal("unrecognised special symbol `%s'", name); else if (is_global == 2) - nasm_error(ERR_NONFATAL, "binary output format does not support common" - " variables"); + nasm_nonfatal("binary output format does not support common" + " variables"); else { struct Section *s; struct bin_label ***ltp; @@ -965,14 +952,13 @@ static int bin_read_attribute(char **line, int *attribute, break; } if (!**line) { - nasm_error(ERR_NONFATAL, - "invalid syntax in `section' directive"); + nasm_nonfatal("invalid syntax in `section' directive"); return -1; } ++(*line); } if (!**line) { - nasm_error(ERR_NONFATAL, "expecting `)'"); + nasm_nonfatal("expecting `)'"); return -1; } } @@ -981,8 +967,8 @@ static int bin_read_attribute(char **line, int *attribute, /* Check for no value given. */ if (!*exp) { - nasm_error(ERR_WARNING, "No value given to attribute in" - " `section' directive"); + nasm_warn(WARN_OTHER, "No value given to attribute in" + " `section' directive"); return -1; } @@ -993,13 +979,13 @@ static int bin_read_attribute(char **line, int *attribute, e = evaluate(stdscan, NULL, &tokval, NULL, 1, NULL); if (e) { if (!is_really_simple(e)) { - nasm_error(ERR_NONFATAL, "section attribute value must be" - " a critical expression"); + nasm_nonfatal("section attribute value must be" + " a critical expression"); return -1; } } else { - nasm_error(ERR_NONFATAL, "Invalid attribute value" - " specified in `section' directive."); + nasm_nonfatal("Invalid attribute value" + " specified in `section' directive."); return -1; } *value = (uint64_t)reloc_value(e); @@ -1043,8 +1029,7 @@ static void bin_assign_attributes(struct Section *sec, char *astring) *astring = '\0'; astring++; } - nasm_error(ERR_WARNING, "ignoring unknown section attribute:" - " \"%s\"", p); + nasm_warn(WARN_OTHER, "ignoring unknown section attribute: \"%s\"", p); } continue; } @@ -1053,9 +1038,8 @@ static void bin_assign_attributes(struct Section *sec, char *astring) case ATTRIB_NOBITS: if ((sec->flags & TYPE_DEFINED) && (sec->flags & TYPE_PROGBITS)) - nasm_error(ERR_NONFATAL, - "attempt to change section type" - " from progbits to nobits"); + nasm_nonfatal("attempt to change section type" + " from progbits to nobits"); else sec->flags |= TYPE_DEFINED | TYPE_NOBITS; continue; @@ -1063,8 +1047,8 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Handle progbits attribute. */ case ATTRIB_PROGBITS: if ((sec->flags & TYPE_DEFINED) && (sec->flags & TYPE_NOBITS)) - nasm_error(ERR_NONFATAL, "attempt to change section type" - " from nobits to progbits"); + nasm_nonfatal("attempt to change section type" + " from nobits to progbits"); else sec->flags |= TYPE_DEFINED | TYPE_PROGBITS; continue; @@ -1072,8 +1056,7 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Handle align attribute. */ case ATTRIB_ALIGN: if (!value || ((value - 1) & value)) { - nasm_error(ERR_NONFATAL, - "argument to `align' is not a power of two"); + nasm_nonfatal("argument to `align' is not a power of two"); } else { /* * Alignment is already satisfied if @@ -1084,8 +1067,7 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Don't allow a conflicting align value. */ if ((sec->flags & START_DEFINED) && (sec->start & (value - 1))) { - nasm_error(ERR_NONFATAL, - "`align' value conflicts with section start address"); + nasm_nonfatal("`align' value conflicts with section start address"); } else { sec->align = value; sec->flags |= ALIGN_DEFINED; @@ -1096,8 +1078,7 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Handle valign attribute. */ case ATTRIB_VALIGN: if (!value || ((value - 1) & value)) - nasm_error(ERR_NONFATAL, "argument to `valign' is not a" - " power of two"); + nasm_nonfatal("argument to `valign' is not a power of two"); else { /* Alignment is already satisfied if the previous * align value is greater. */ if ((sec->flags & VALIGN_DEFINED) && (value < sec->valign)) @@ -1106,9 +1087,7 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Don't allow a conflicting valign value. */ if ((sec->flags & VSTART_DEFINED) && (sec->vstart & (value - 1))) - nasm_error(ERR_NONFATAL, - "`valign' value conflicts " - "with `vstart' address"); + nasm_nonfatal("`valign' value conflicts with `vstart' address"); else { sec->valign = value; sec->flags |= VALIGN_DEFINED; @@ -1119,17 +1098,17 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Handle start attribute. */ case ATTRIB_START: if (sec->flags & FOLLOWS_DEFINED) - nasm_error(ERR_NONFATAL, "cannot combine `start' and `follows'" - " section attributes"); + nasm_nonfatal("cannot combine `start' and `follows'" + " section attributes"); else if ((sec->flags & START_DEFINED) && (value != sec->start)) - nasm_error(ERR_NONFATAL, "section start address redefined"); + nasm_nonfatal("section start address redefined"); else { sec->start = value; sec->flags |= START_DEFINED; if (sec->flags & ALIGN_DEFINED) { if (sec->start & (sec->align - 1)) - nasm_error(ERR_NONFATAL, "`start' address conflicts" - " with section alignment"); + nasm_nonfatal("`start' address conflicts" + " with section alignment"); sec->flags ^= ALIGN_DEFINED; } } @@ -1138,21 +1117,19 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Handle vstart attribute. */ case ATTRIB_VSTART: if (sec->flags & VFOLLOWS_DEFINED) - nasm_error(ERR_NONFATAL, - "cannot combine `vstart' and `vfollows'" - " section attributes"); + nasm_nonfatal("cannot combine `vstart' and `vfollows'" + " section attributes"); else if ((sec->flags & VSTART_DEFINED) && (value != sec->vstart)) - nasm_error(ERR_NONFATAL, - "section virtual start address" - " (vstart) redefined"); + nasm_nonfatal("section virtual start address" + " (vstart) redefined"); else { sec->vstart = value; sec->flags |= VSTART_DEFINED; if (sec->flags & VALIGN_DEFINED) { if (sec->vstart & (sec->valign - 1)) - nasm_error(ERR_NONFATAL, "`vstart' address conflicts" - " with `valign' value"); + nasm_nonfatal("`vstart' address conflicts" + " with `valign' value"); sec->flags ^= VALIGN_DEFINED; } } @@ -1163,14 +1140,13 @@ static void bin_assign_attributes(struct Section *sec, char *astring) p = astring; astring += strcspn(astring, " \t"); if (astring == p) - nasm_error(ERR_NONFATAL, "expecting section name for `follows'" - " attribute"); + nasm_nonfatal("expecting section name for `follows'" + " attribute"); else { *(astring++) = '\0'; if (sec->flags & START_DEFINED) - nasm_error(ERR_NONFATAL, - "cannot combine `start' and `follows'" - " section attributes"); + nasm_nonfatal("cannot combine `start' and `follows'" + " section attributes"); sec->follows = nasm_strdup(p); sec->flags |= FOLLOWS_DEFINED; } @@ -1179,16 +1155,14 @@ static void bin_assign_attributes(struct Section *sec, char *astring) /* Handle vfollows attribute. */ case ATTRIB_VFOLLOWS: if (sec->flags & VSTART_DEFINED) - nasm_error(ERR_NONFATAL, - "cannot combine `vstart' and `vfollows'" - " section attributes"); + nasm_nonfatal("cannot combine `vstart' and `vfollows'" + " section attributes"); else { p = astring; astring += strcspn(astring, " \t"); if (astring == p) - nasm_error(ERR_NONFATAL, - "expecting section name for `vfollows'" - " attribute"); + nasm_nonfatal("expecting section name for `vfollows'" + " attribute"); else { *(astring++) = '\0'; sec->vfollows = nasm_strdup(p); @@ -1228,7 +1202,7 @@ static void bin_define_section_labels(void) labels_defined = 1; } -static int32_t bin_secname(char *name, int pass, int *bits) +static int32_t bin_secname(char *name, int *bits) { char *p; struct Section *sec; @@ -1237,14 +1211,15 @@ static int32_t bin_secname(char *name, int pass, int *bits) * pass. Use this opportunity to establish the default section * (default is BITS-16 ".text" segment). */ - if (!name) { /* Reset ORG and section attributes at the start of each pass. */ + if (!name) { + /* Reset ORG and section attributes at the start of each pass. */ origin_defined = 0; list_for_each(sec, sections) sec->flags &= ~(START_DEFINED | VSTART_DEFINED | ALIGN_DEFINED | VALIGN_DEFINED); /* Define section start and vstart labels. */ - if (pass != 1) + if (!pass_first()) bin_define_section_labels(); /* Establish the default (.text) section. */ @@ -1273,14 +1248,14 @@ static int32_t bin_secname(char *name, int pass, int *bits) } /* Handle attribute assignments. */ - if (pass != 1) + if (!pass_first()) bin_assign_attributes(sec, p); #ifndef ABIN_SMART_ADAPT /* The following line disables smart adaptation of * PROGBITS/NOBITS section types (it forces sections to * default to PROGBITS). */ - if ((pass != 1) && !(sec->flags & TYPE_DEFINED)) + if (!pass_first() && !(sec->flags & TYPE_DEFINED)) sec->flags |= TYPE_DEFINED | TYPE_PROGBITS; #endif @@ -1288,7 +1263,7 @@ static int32_t bin_secname(char *name, int pass, int *bits) } static enum directive_result -bin_directive(enum directive directive, char *args, int pass) +bin_directive(enum directive directive, char *args) { switch (directive) { case D_ORG: @@ -1303,21 +1278,21 @@ bin_directive(enum directive directive, char *args, int pass) e = evaluate(stdscan, NULL, &tokval, NULL, 1, NULL); if (e) { if (!is_really_simple(e)) - nasm_error(ERR_NONFATAL, "org value must be a critical" + nasm_nonfatal("org value must be a critical" " expression"); else { value = reloc_value(e); /* Check for ORG redefinition. */ if (origin_defined && (value != origin)) - nasm_error(ERR_NONFATAL, "program origin redefined"); + nasm_nonfatal("program origin redefined"); else { origin = value; origin_defined = 1; } } } else - nasm_error(ERR_NONFATAL, "No or invalid offset specified" - " in ORG directive."); + nasm_nonfatal("No or invalid offset specified" + " in ORG directive."); return DIRR_OK; } case D_MAP: @@ -1326,7 +1301,7 @@ bin_directive(enum directive directive, char *args, int pass) * and symbol information to stdout, stderr, or to a file. */ char *p; - if (pass != 1) + if (!pass_first()) return DIRR_OK; args += strspn(args, " \t"); while (*args) { @@ -1353,14 +1328,13 @@ bin_directive(enum directive directive, char *args, int pass) else { /* Must be a filename. */ rf = nasm_open_write(p, NF_TEXT); if (!rf) { - nasm_error(ERR_WARNING, "unable to open map file `%s'", - p); + nasm_warn(WARN_OTHER, "unable to open map file `%s'", p); map_control = 0; return DIRR_OK; } } } else - nasm_error(ERR_WARNING, "map file already specified"); + nasm_warn(WARN_OTHER, "map file already specified"); } if (map_control == 0) map_control |= MAP_ORIGIN | MAP_SUMMARY; @@ -1373,11 +1347,6 @@ bin_directive(enum directive directive, char *args, int pass) } } -static int32_t bin_segbase(int32_t segment) -{ - return segment; -} - const struct ofmt of_bin, of_ith, of_srec; static void binfmt_init(void); static void do_output_bin(void); @@ -1539,7 +1508,7 @@ static void write_srecord(unsigned int len, unsigned int alen, case 4: break; default: - nasm_assert(0); + panic(); break; } @@ -1645,7 +1614,7 @@ const struct ofmt of_bin = { bin_secname, NULL, bin_sectalign, - bin_segbase, + null_segbase, bin_directive, bin_cleanup, NULL /* pragma list */ @@ -1668,7 +1637,7 @@ const struct ofmt of_ith = { bin_secname, NULL, bin_sectalign, - bin_segbase, + null_segbase, bin_directive, bin_cleanup, NULL /* pragma list */ @@ -1691,7 +1660,7 @@ const struct ofmt of_srec = { bin_secname, NULL, bin_sectalign, - bin_segbase, + null_segbase, bin_directive, bin_cleanup, NULL /* pragma list */ diff --git a/output/outcoff.c b/output/outcoff.c index a2fd302c..a90e355e 100644 --- a/output/outcoff.c +++ b/output/outcoff.c @@ -291,7 +291,7 @@ static inline int32_t coff_sectalign_flags(unsigned int align) return (ilog2_32(align) + 1) << 20; } -static int32_t coff_section_names(char *name, int pass, int *bits) +static int32_t coff_section_names(char *name, int *bits) { char *p; uint32_t flags, align_and = ~0L, align_or = 0L; @@ -316,8 +316,7 @@ static int32_t coff_section_names(char *name, int pass, int *bits) *p++ = '\0'; if (strlen(name) > 8) { if (!win32 && !win64) { - nasm_error(ERR_WARNING, - "COFF section names limited to 8 characters: truncating"); + nasm_warn(WARN_OTHER, "COFF section names limited to 8 characters: truncating"); name[8] = '\0'; } } @@ -343,8 +342,8 @@ static int32_t coff_section_names(char *name, int pass, int *bits) flags = RDATA_FLAGS; else { flags = DATA_FLAGS; /* gotta do something */ - nasm_error(ERR_NONFATAL, "standard COFF does not support" - " read-only data sections"); + nasm_nonfatal("standard COFF does not support" + " read-only data sections"); } } else if (!nasm_stricmp(q, "bss")) { flags = BSS_FLAGS; @@ -353,25 +352,24 @@ static int32_t coff_section_names(char *name, int pass, int *bits) flags = INFO_FLAGS; else { flags = DATA_FLAGS; /* gotta do something */ - nasm_error(ERR_NONFATAL, "standard COFF does not support" - " informational sections"); + nasm_nonfatal("standard COFF does not support" + " informational sections"); } } else if (!nasm_strnicmp(q, "align=", 6)) { if (!(win32 | win64)) - nasm_error(ERR_NONFATAL, "standard COFF does not support" - " section alignment specification"); + nasm_nonfatal("standard COFF does not support" + " section alignment specification"); else { if (q[6 + strspn(q + 6, "0123456789")]) - nasm_error(ERR_NONFATAL, - "argument to `align' is not numeric"); + nasm_nonfatal("argument to `align' is not numeric"); else { unsigned int align = atoi(q + 6); if (!align || ((align - 1) & align)) - nasm_error(ERR_NONFATAL, "argument to `align' is not a" - " power of two"); + nasm_nonfatal("argument to `align' is not a" + " power of two"); else if (align > 64) - nasm_error(ERR_NONFATAL, "Win32 cannot align sections" - " to better than 64-byte boundaries"); + nasm_nonfatal("Win32 cannot align sections" + " to better than 64-byte boundaries"); else { align_and = ~0x00F00000L; align_or = coff_sectalign_flags(align); @@ -404,15 +402,15 @@ static int32_t coff_section_names(char *name, int pass, int *bits) coff_sects[i]->flags = flags; coff_sects[i]->flags &= align_and; coff_sects[i]->flags |= align_or; - } else if (pass == 1) { + } else if (pass_first()) { /* Check if any flags are specified */ if (flags) { unsigned int align_flags = flags & IMAGE_SCN_ALIGN_MASK; /* Warn if non-alignment flags differ */ if ((flags ^ coff_sects[i]->flags) & ~IMAGE_SCN_ALIGN_MASK) { - nasm_error(ERR_WARNING, "section attributes ignored on" - " redeclaration of section `%s'", name); + nasm_warn(WARN_OTHER, "section attributes ignored on" + " redeclaration of section `%s'", name); } /* Check if alignment might be needed */ if (align_flags > IMAGE_SCN_ALIGN_1BYTES) { @@ -453,12 +451,12 @@ static void coff_deflabel(char *name, int32_t segment, int64_t offset, struct coff_Symbol *sym; if (special) - nasm_error(ERR_NONFATAL, "COFF format does not support any" - " special symbol types"); + nasm_nonfatal("COFF format does not support any" + " special symbol types"); if (name[0] == '.' && name[1] == '.' && name[2] != '@') { if (strcmp(name,WRT_IMAGEBASE)) - nasm_error(ERR_NONFATAL, "unrecognized special symbol `%s'", name); + nasm_nonfatal("unrecognized special symbol `%s'", name); return; } @@ -556,17 +554,7 @@ static void coff_out(int32_t segto, const void *data, if (wrt != NO_SEG && !win64) { wrt = NO_SEG; /* continue to do _something_ */ - nasm_error(ERR_NONFATAL, "WRT not supported by COFF output formats"); - } - - /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; + nasm_nonfatal("WRT not supported by COFF output formats"); } s = NULL; @@ -578,8 +566,8 @@ static void coff_out(int32_t segto, const void *data, } if (!s) { int tempint; /* ignored */ - if (segto != coff_section_names(".text", 2, &tempint)) - nasm_panic(0, "strange segment conditions in COFF driver"); + if (segto != coff_section_names(".text", &tempint)) + nasm_panic("strange segment conditions in COFF driver"); else s = coff_sects[coff_nsects - 1]; } @@ -591,8 +579,8 @@ static void coff_out(int32_t segto, const void *data, } if (!s->data && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in" - " BSS section `%s': ignored", s->name); + nasm_warn(WARN_OTHER, "attempt to initialize memory in" + " BSS section `%s': ignored", s->name); s->len += realsize(type, size); return; } @@ -615,30 +603,27 @@ static void coff_out(int32_t segto, const void *data, if (type == OUT_RESERVE) { if (s->data) { - nasm_error(ERR_WARNING, "uninitialised space declared in" - " non-BSS section `%s': zeroing", s->name); + nasm_warn(WARN_OTHER, "uninitialised space declared in" + " non-BSS section `%s': zeroing", s->name); coff_sect_write(s, NULL, size); } else s->len += size; } else if (type == OUT_RAWDATA) { - if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); coff_sect_write(s, data, size); } else if (type == OUT_ADDRESS) { int asize = abs((int)size); if (!win64) { if (asize != 4 && (segment != NO_SEG || wrt != NO_SEG)) { - nasm_error(ERR_NONFATAL, "COFF format does not support non-32-bit" - " relocations"); + nasm_nonfatal("COFF format does not support non-32-bit" + " relocations"); } else { int32_t fix = 0; if (segment != NO_SEG || wrt != NO_SEG) { if (wrt != NO_SEG) { - nasm_error(ERR_NONFATAL, "COFF format does not support" - " WRT types"); + nasm_nonfatal("COFF format does not support WRT types"); } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "COFF format does not support" - " segment base references"); + nasm_nonfatal("COFF format does not support" + " segment base references"); } else fix = coff_add_reloc(s, segment, IMAGE_REL_I386_DIR32); } @@ -651,8 +636,8 @@ static void coff_out(int32_t segto, const void *data, p = mydata; if (asize == 8) { if (wrt == imagebase_sect) { - nasm_error(ERR_NONFATAL, "operand size mismatch: 'wrt " - WRT_IMAGEBASE "' is a 32-bit operand"); + nasm_nonfatal("operand size mismatch: 'wrt " + WRT_IMAGEBASE "' is a 32-bit operand"); } fix = coff_add_reloc(s, segment, IMAGE_REL_AMD64_ADDR64); WRITEDLONG(p, *(int64_t *)data + fix); @@ -666,19 +651,18 @@ static void coff_out(int32_t segto, const void *data, } } } else if (type == OUT_REL2ADR) { - nasm_error(ERR_NONFATAL, "COFF format does not support 16-bit" - " relocations"); + nasm_nonfatal("COFF format does not support 16-bit relocations"); } else if (type == OUT_REL4ADR) { if (segment == segto && !(win64)) /* Acceptable for RIP-relative */ - nasm_panic(0, "intra-segment OUT_REL4ADR"); + nasm_panic("intra-segment OUT_REL4ADR"); else if (segment == NO_SEG && win32) - nasm_error(ERR_NONFATAL, "Win32 COFF does not correctly support" - " relative references to absolute addresses"); + nasm_nonfatal("Win32 COFF does not correctly support" + " relative references to absolute addresses"); else { int32_t fix = 0; if (segment != NO_SEG && segment % 2) { - nasm_error(ERR_NONFATAL, "COFF format does not support" - " segment base references"); + nasm_nonfatal("COFF format does not support" + " segment base references"); } else fix = coff_add_reloc(s, segment, win64 ? IMAGE_REL_AMD64_REL32 : IMAGE_REL_I386_REL32); @@ -767,14 +751,21 @@ static void BuildExportTable(STRING **rvp) } static enum directive_result -coff_directives(enum directive directive, char *value, int pass) +coff_directives(enum directive directive, char *value) { switch (directive) { case D_EXPORT: { char *q, *name; - if (pass == 2) + /* + * XXX: pass_first() is really wrong here, but AddExport() + * needs to be modified to handle duplicate calls for the + * same value in order to change that. The right thing to do + * is probably to mark a label as an export in the label + * structure, in case the label doesn't actually exist. + */ + if (!pass_first()) return DIRR_OK; /* ignore in pass two */ name = q = value; while (*q && !nasm_isspace(*q)) @@ -786,11 +777,11 @@ coff_directives(enum directive directive, char *value, int pass) } if (!*name) { - nasm_error(ERR_NONFATAL, "`export' directive requires export name"); + nasm_nonfatal("`export' directive requires export name"); return DIRR_ERROR; } if (*q) { - nasm_error(ERR_NONFATAL, "unrecognized export qualifier `%s'", q); + nasm_nonfatal("unrecognized export qualifier `%s'", q); return DIRR_ERROR; } AddExport(name); @@ -814,10 +805,10 @@ coff_directives(enum directive directive, char *value, int pass) sxseg = i; } /* - * pass0 == 2 is the only time when the full set of symbols are - * guaranteed to be present; it is the final output pass. + * pass_final() is the only time when the full set of symbols are + * guaranteed to be present as it is the final output pass. */ - if (pass0 == 2) { + if (pass_final()) { uint32_t n; saa_rewind(coff_syms); for (n = 0; n < coff_nsyms; n++) { @@ -852,8 +843,7 @@ coff_directives(enum directive directive, char *value, int pass) } } if (n == coff_nsyms) { - nasm_error(ERR_NONFATAL, - "`safeseh' directive requires valid symbol"); + nasm_nonfatal("`safeseh' directive requires valid symbol"); return DIRR_ERROR; } } @@ -873,8 +863,7 @@ static inline void coff_adjust_relocs(struct coff_Section *s) else { if (ofmt == &of_coff) - nasm_fatal(0, - "Too many relocations (%d) for section `%s'", + nasm_fatal("Too many relocations (%d) for section `%s'", s->nrelocs, s->name); } #endif @@ -1135,11 +1124,6 @@ static void coff_sectalign(int32_t seg, unsigned int value) s->flags = (s->flags & ~IMAGE_SCN_ALIGN_MASK) | value; } -static int32_t coff_segbase(int32_t segment) -{ - return segment; -} - extern macros_t coff_stdmac[]; #endif /* defined(OF_COFF) || defined(OF_WIN32) */ @@ -1163,7 +1147,7 @@ const struct ofmt of_coff = { coff_section_names, NULL, coff_sectalign, - coff_segbase, + null_segbase, coff_directives, coff_cleanup, NULL /* pragma list */ @@ -1194,7 +1178,7 @@ const struct ofmt of_win32 = { coff_section_names, NULL, coff_sectalign, - coff_segbase, + null_segbase, coff_directives, coff_cleanup, NULL /* pragma list */ @@ -1223,7 +1207,7 @@ const struct ofmt of_win64 = { coff_section_names, NULL, coff_sectalign, - coff_segbase, + null_segbase, coff_directives, coff_cleanup, NULL /* pragma list */ diff --git a/output/outdbg.c b/output/outdbg.c index fdf35aa2..e5f15ef7 100644 --- a/output/outdbg.c +++ b/output/outdbg.c @@ -75,8 +75,8 @@ static void dbg_init(void) static void dbg_reset(void) { - fprintf(ofile, "*** pass reset: pass0 = %d, passn = %"PRId64"\n", - pass0, passn); + fprintf(ofile, "*** pass reset: pass = %"PRId64" (%s)\n", + pass_count(), pass_type_name()); } static void dbg_cleanup(void) @@ -90,8 +90,7 @@ static void dbg_cleanup(void) } } -static int32_t dbg_add_section(char *name, int pass, int *bits, - const char *whatwecallit) +static int32_t dbg_add_section(char *name, int *bits, const char *whatwecallit) { int seg; @@ -121,8 +120,8 @@ static int32_t dbg_add_section(char *name, int pass, int *bits, s->number = seg = seg_alloc(); s->next = dbgsect; dbgsect = s; - fprintf(ofile, "%s %s (%s) pass %d: returning %d\n", - whatwecallit, name, tail, pass, seg); + fprintf(ofile, "%s %s (%s) pass %"PRId64" (%s) : returning %d\n", + whatwecallit, name, tail, pass_count(), pass_type_name(), seg); if (section_labels) backend_label(s->name, s->number + 1, 0); @@ -131,9 +130,9 @@ static int32_t dbg_add_section(char *name, int pass, int *bits, return seg; } -static int32_t dbg_section_names(char *name, int pass, int *bits) +static int32_t dbg_section_names(char *name, int *bits) { - return dbg_add_section(name, pass, bits, "section_names"); + return dbg_add_section(name, bits, "section_names"); } static int32_t dbg_herelabel(const char *name, enum label_type type, @@ -322,13 +321,8 @@ static void dbg_sectalign(int32_t seg, unsigned int value) seg, value); } -static int32_t dbg_segbase(int32_t segment) -{ - return segment; -} - static enum directive_result -dbg_directive(enum directive directive, char *value, int pass) +dbg_directive(enum directive directive, char *value) { switch (directive) { /* @@ -339,7 +333,7 @@ dbg_directive(enum directive directive, char *value, int pass) case D_GROUP: { int dummy; - dbg_add_section(value, pass, &dummy, "directive:group"); + dbg_add_section(value, &dummy, "directive:group"); break; } @@ -347,8 +341,8 @@ dbg_directive(enum directive directive, char *value, int pass) break; } - fprintf(ofile, "directive [%s] value [%s] (pass %d)\n", - directive_dname(directive), value, pass); + fprintf(ofile, "directive [%s] value [%s] pass %"PRId64" (%s)\n", + directive_dname(directive), value, pass_count(), pass_type_name()); return DIRR_OK; } @@ -484,7 +478,7 @@ const struct ofmt of_dbg = { dbg_section_names, dbg_herelabel, dbg_sectalign, - dbg_segbase, + null_segbase, dbg_directive, dbg_cleanup, dbg_pragma_list diff --git a/output/outelf.c b/output/outelf.c index de99d076..cd77901f 100644 --- a/output/outelf.c +++ b/output/outelf.c @@ -209,7 +209,7 @@ const struct elf_known_section elf_known_sections[] = { }; /* parse section attributes */ -static void elf_section_attrib(char *name, char *attr, int pass, +static void elf_section_attrib(char *name, char *attr, uint32_t *flags_and, uint32_t *flags_or, uint64_t *align, int *type) { @@ -222,16 +222,14 @@ static void elf_section_attrib(char *name, char *attr, int pass, while ((opt = nasm_opt_val(opt, &val, &next))) { if (!nasm_stricmp(opt, "align")) { if (!val) { - nasm_error(ERR_NONFATAL, - "section align without value specified"); + nasm_nonfatal("section align without value specified"); } else { *align = atoi(val); if (*align == 0) { *align = SHA_ANY; } else if (!is_power2(*align)) { - nasm_error(ERR_NONFATAL, - "section alignment %"PRId64" is not a power of two", - *align); + nasm_nonfatal("section alignment %"PRId64" is not a power of two", + *align); *align = SHA_ANY; } } @@ -260,17 +258,16 @@ static void elf_section_attrib(char *name, char *attr, int pass, *type = SHT_PROGBITS; } else if (!nasm_stricmp(opt, "nobits")) { *type = SHT_NOBITS; - } else if (pass == 1) { - nasm_error(ERR_WARNING, - "Unknown section attribute '%s' ignored on" - " declaration of section `%s'", opt, name); + } else if (pass_first()) { + nasm_warn(WARN_OTHER, "Unknown section attribute '%s' ignored on" + " declaration of section `%s'", opt, name); } opt = next; } } static enum directive_result -elf_directive(enum directive directive, char *value, int pass) +elf_directive(enum directive directive, char *value) { int64_t n; bool err; @@ -278,17 +275,17 @@ elf_directive(enum directive directive, char *value, int pass) switch (directive) { case D_OSABI: - if (pass == 2) - return DIRR_OK; /* ignore in pass 2 */ + if (!pass_first()) /* XXX: Why? */ + return DIRR_OK; n = readnum(value, &err); if (err) { - nasm_error(ERR_NONFATAL, "`osabi' directive requires a parameter"); + nasm_nonfatal("`osabi' directive requires a parameter"); return DIRR_ERROR; } if (n < 0 || n > 255) { - nasm_error(ERR_NONFATAL, "valid osabi numbers are 0 to 255"); + nasm_nonfatal("valid osabi numbers are 0 to 255"); return DIRR_ERROR; } @@ -301,7 +298,7 @@ elf_directive(enum directive directive, char *value, int pass) n = readnum(p + 1, &err); if (err || n < 0 || n > 255) { - nasm_error(ERR_NONFATAL, "invalid ABI version number (valid: 0 to 255)"); + nasm_nonfatal("invalid ABI version number (valid: 0 to 255)"); return DIRR_ERROR; } @@ -416,7 +413,7 @@ static int elf_make_section(char *name, int type, int flags, int align) return nsects - 1; } -static int32_t elf_section_names(char *name, int pass, int *bits) +static int32_t elf_section_names(char *name, int *bits) { char *p; uint32_t flags, flags_and, flags_or; @@ -433,14 +430,14 @@ static int32_t elf_section_names(char *name, int pass, int *bits) *p++ = '\0'; flags_and = flags_or = type = align = 0; - elf_section_attrib(name, p, pass, &flags_and, + elf_section_attrib(name, p, &flags_and, &flags_or, &align, &type); if (!strcmp(name, ".shstrtab") || !strcmp(name, ".symtab") || !strcmp(name, ".strtab")) { - nasm_error(ERR_NONFATAL, "attempt to redefine reserved section" - "name `%s'", name); + nasm_nonfatal("attempt to redefine reserved section" + "name `%s'", name); return NO_SEG; } @@ -461,12 +458,12 @@ static int32_t elf_section_names(char *name, int pass, int *bits) flags = (ks->flags & ~flags_and) | flags_or; i = elf_make_section(name, type, flags, align); - } else if (pass == 1) { + } else if (pass_first()) { if ((type && sects[i]->type != type) || (align && sects[i]->align != align) || (flags_and && ((sects[i]->flags & flags_and) != flags_or))) - nasm_error(ERR_WARNING, "incompatible section attributes ignored on" - " redeclaration of section `%s'", name); + nasm_warn(WARN_OTHER, "incompatible section attributes ignored on" + " redeclaration of section `%s'", name); } return sects[i]->index; @@ -480,9 +477,8 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, bool special_used = false; #if defined(DEBUG) && DEBUG>2 - nasm_error(ERR_DEBUG, - " elf_deflabel: %s, seg=%"PRIx32", off=%"PRIx64", is_global=%d, %s\n", - name, segment, offset, is_global, special); + nasm_debug(" elf_deflabel: %s, seg=%"PRIx32", off=%"PRIx64", is_global=%d, %s\n", + name, segment, offset, is_global, special); #endif if (name[0] == '.' && name[1] == '.' && name[2] != '@') { /* @@ -496,7 +492,7 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, strcmp(name, "..got") && strcmp(name, "..plt") && strcmp(name, "..sym") && strcmp(name, "..gottpoff") && strcmp(name, "..tlsie")) - nasm_error(ERR_NONFATAL, "unrecognised special symbol `%s'", name); + nasm_nonfatal("unrecognised special symbol `%s'", name); return; } @@ -518,8 +514,8 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, e = evaluate(stdscan, NULL, &tokval, NULL, 1, NULL); if (e) { if (!is_simple(e)) - nasm_error(ERR_NONFATAL, "cannot use relocatable" - " expression as symbol size"); + nasm_nonfatal("cannot use relocatable" + " expression as symbol size"); else (*s)->size = reloc_value(e); } @@ -553,8 +549,8 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, if (segment == def_seg) { /* we have to be sure at least text section is there */ int tempint; - if (segment != elf_section_names(".text", 2, &tempint)) - nasm_panic(0, "strange segment conditions in ELF driver"); + if (segment != elf_section_names(".text", &tempint)) + nasm_panic("strange segment conditions in ELF driver"); } for (i = 0; i < nsects; i++) { if (segment == sects[i]->index) { @@ -577,11 +573,11 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, bool err; sym->symv.key = readnum(special, &err); if (err) - nasm_error(ERR_NONFATAL, "alignment constraint `%s' is not a" - " valid number", special); + nasm_nonfatal("alignment constraint `%s' is not a" + " valid number", special); else if ((sym->symv.key | (sym->symv.key - 1)) != 2 * sym->symv.key - 1) - nasm_error(ERR_NONFATAL, "alignment constraint `%s' is not a" - " power of two", special); + nasm_nonfatal("alignment constraint `%s' is not a" + " power of two", special); } special_used = true; } else @@ -622,8 +618,8 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, else if (!nasm_strnicmp(special, "notype", n)) sym->type |= STT_NOTYPE; else - nasm_error(ERR_NONFATAL, "unrecognised symbol type `%.*s'", - n, special); + nasm_nonfatal("unrecognised symbol type `%.*s'", + n, special); special += n; special = nasm_skip_spaces(special); @@ -664,8 +660,8 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, sym->name = nasm_strdup(name); } else if (e) { if (!is_simple(e)) - nasm_error(ERR_NONFATAL, "cannot use relocatable" - " expression as symbol size"); + nasm_nonfatal("cannot use relocatable" + " expression as symbol size"); else sym->size = reloc_value(e); } @@ -687,7 +683,7 @@ static void elf_deflabel(char *name, int32_t segment, int64_t offset, nlocals++; if (special && !special_used) - nasm_error(ERR_NONFATAL, "no special symbol features supported here"); + nasm_nonfatal("no special symbol features supported here"); } static void elf_add_reloc(struct elf_section *sect, int32_t segment, @@ -762,7 +758,7 @@ static int64_t elf_add_gsym_reloc(struct elf_section *sect, if (!s) { if (exact && offset) - nasm_error(ERR_NONFATAL, "invalid access to an external symbol"); + nasm_nonfatal("invalid access to an external symbol"); else elf_add_reloc(sect, segment, offset - pcrel, type); return 0; @@ -770,8 +766,8 @@ static int64_t elf_add_gsym_reloc(struct elf_section *sect, srb = rb_search(s->gsyms, offset); if (!srb || (exact && srb->key != offset)) { - nasm_error(ERR_NONFATAL, "unable to find a suitable global symbol" - " for this reference"); + nasm_nonfatal("unable to find a suitable global symbol" + " for this reference"); return 0; } sym = container_of(srb, struct elf_symbol, symv); @@ -799,16 +795,6 @@ static void elf32_out(int32_t segto, const void *data, int i; static struct symlininfo sinfo; - /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; - } - s = NULL; for (i = 0; i < nsects; i++) if (segto == sects[i]->index) { @@ -817,8 +803,8 @@ static void elf32_out(int32_t segto, const void *data, } if (!s) { int tempint; /* ignored */ - if (segto != elf_section_names(".text", 2, &tempint)) - nasm_panic(0, "strange segment conditions in ELF driver"); + if (segto != elf_section_names(".text", &tempint)) + nasm_panic("strange segment conditions in ELF driver"); else { s = sects[nsects - 1]; i = nsects - 1; @@ -834,8 +820,8 @@ static void elf32_out(int32_t segto, const void *data, /* end of debugging stuff */ if (s->type == SHT_NOBITS && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in" - " BSS section `%s': ignored", s->name); + nasm_warn(WARN_OTHER, "attempt to initialize memory in" + " BSS section `%s': ignored", s->name); s->len += realsize(type, size); return; } @@ -843,16 +829,14 @@ static void elf32_out(int32_t segto, const void *data, switch (type) { case OUT_RESERVE: if (s->type == SHT_PROGBITS) { - nasm_error(ERR_WARNING, "uninitialized space declared in" - " non-BSS section `%s': zeroing", s->name); + nasm_warn(WARN_OTHER, "uninitialized space declared in" + " non-BSS section `%s': zeroing", s->name); elf_sect_write(s, NULL, size); } else s->len += size; break; case OUT_RAWDATA: - if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); elf_sect_write(s, data, size); break; @@ -864,8 +848,8 @@ static void elf32_out(int32_t segto, const void *data, addr = *(int64_t *)data; if (segment != NO_SEG) { if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { /* @@ -924,21 +908,26 @@ static void elf32_out(int32_t segto, const void *data, break; } } else if (wrt == elf_plt_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF format cannot produce non-PC-" - "relative PLT references"); + nasm_nonfatal("ELF format cannot produce non-PC-" + "relative PLT references"); } else { - nasm_error(ERR_NONFATAL, "ELF format does not support this" - " use of WRT"); + nasm_nonfatal("ELF format does not support this" + " use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } } } if (gnu16) { - nasm_error(ERR_WARNING | WARN_GNUELF, - "8- or 16-bit relocations in ELF32 is a GNU extension"); + /*! + *!gnu-elf-extensions [off] using 8- or 16-bit relocation in ELF32, a GNU extension + *! warns if 8-bit or 16-bit relocations are used in the \c{elf32} output format. + *! The GNU extensions allow this. + */ + nasm_warn(WARN_GNU_ELF_EXTENSIONS, "8- or 16-bit relocations " + "in ELF32 is a GNU extension"); } else if (asize != 4 && segment != NO_SEG) { - nasm_error(ERR_NONFATAL, "Unsupported non-32-bit ELF relocation"); + nasm_nonfatal("Unsupported non-32-bit ELF relocation"); } elf_sect_writeaddr(s, addr, asize); break; @@ -957,16 +946,15 @@ rel12adr: addr = *(int64_t *)data - size; nasm_assert(segment != segto); if (segment != NO_SEG && segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { - nasm_error(ERR_WARNING | WARN_GNUELF, - "8- or 16-bit relocations in ELF is a GNU extension"); + nasm_warn(WARN_GNU_ELF_EXTENSIONS, "8- or 16-bit relocations " + "in ELF is a GNU extension"); elf_add_reloc(s, segment, 0, reltype); } else { - nasm_error(ERR_NONFATAL, - "Unsupported non-32-bit ELF relocation"); + nasm_nonfatal("Unsupported non-32-bit ELF relocation"); } } elf_sect_writeaddr(s, addr, bytes); @@ -975,10 +963,10 @@ rel12adr: case OUT_REL4ADR: addr = *(int64_t *)data - size; if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL4ADR"); + nasm_panic("intra-segment OUT_REL4ADR"); if (segment != NO_SEG && segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { elf_add_reloc(s, segment, 0, R_386_PC32); @@ -987,11 +975,11 @@ rel12adr: } else if (wrt == elf_gotpc_sect + 1 || wrt == elf_gotoff_sect + 1 || wrt == elf_got_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF format cannot produce PC-" - "relative GOT references"); + nasm_nonfatal("ELF format cannot produce PC-" + "relative GOT references"); } else { - nasm_error(ERR_NONFATAL, "ELF format does not support this" - " use of WRT"); + nasm_nonfatal("ELF format does not support this" + " use of WRT"); wrt = NO_SEG; /* we can at least _try_ to continue */ } } @@ -999,7 +987,7 @@ rel12adr: break; case OUT_REL8ADR: - nasm_error(ERR_NONFATAL, "32-bit ELF format does not support 64-bit relocations"); + nasm_nonfatal("32-bit ELF format does not support 64-bit relocations"); addr = 0; elf_sect_writeaddr(s, addr, 8); break; @@ -1018,16 +1006,6 @@ static void elf64_out(int32_t segto, const void *data, int i; static struct symlininfo sinfo; - /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; - } - s = NULL; for (i = 0; i < nsects; i++) if (segto == sects[i]->index) { @@ -1036,8 +1014,8 @@ static void elf64_out(int32_t segto, const void *data, } if (!s) { int tempint; /* ignored */ - if (segto != elf_section_names(".text", 2, &tempint)) - nasm_panic(0, "strange segment conditions in ELF driver"); + if (segto != elf_section_names(".text", &tempint)) + nasm_panic("strange segment conditions in ELF driver"); else { s = sects[nsects - 1]; i = nsects - 1; @@ -1053,8 +1031,8 @@ static void elf64_out(int32_t segto, const void *data, /* end of debugging stuff */ if (s->type == SHT_NOBITS && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in" - " BSS section `%s': ignored", s->name); + nasm_warn(WARN_OTHER, "attempt to initialize memory in" + " BSS section `%s': ignored", s->name); s->len += realsize(type, size); return; } @@ -1062,8 +1040,8 @@ static void elf64_out(int32_t segto, const void *data, switch (type) { case OUT_RESERVE: if (s->type == SHT_PROGBITS) { - nasm_error(ERR_WARNING, "uninitialized space declared in" - " non-BSS section `%s': zeroing", s->name); + nasm_warn(WARN_OTHER, "uninitialized space declared in" + " non-BSS section `%s': zeroing", s->name); elf_sect_write(s, NULL, size); } else s->len += size; @@ -1071,7 +1049,7 @@ static void elf64_out(int32_t segto, const void *data, case OUT_RAWDATA: if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); + nasm_panic("OUT_RAWDATA with other than NO_SEG"); elf_sect_write(s, data, size); break; @@ -1084,8 +1062,8 @@ static void elf64_out(int32_t segto, const void *data, if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { switch (isize) { @@ -1108,7 +1086,7 @@ static void elf64_out(int32_t segto, const void *data, elf_add_reloc(s, segment, addr, R_X86_64_64); break; default: - nasm_panic(0, "internal error elf64-hpa-871"); + nasm_panic("internal error elf64-hpa-871"); break; } addr = 0; @@ -1123,8 +1101,8 @@ static void elf64_out(int32_t segto, const void *data, addr = 0; } else if (wrt == elf_gotoff_sect + 1) { if (asize != 8) { - nasm_error(ERR_NONFATAL, "ELF64 requires ..gotoff " - "references to be qword"); + nasm_nonfatal("ELF64 requires ..gotoff " + "references to be qword"); } else { elf_add_reloc(s, segment, addr, R_X86_64_GOTOFF64); addr = 0; @@ -1142,7 +1120,7 @@ static void elf64_out(int32_t segto, const void *data, addr = 0; break; default: - nasm_error(ERR_NONFATAL, "invalid ..got reference"); + nasm_nonfatal("invalid ..got reference"); break; } } else if (wrt == elf_sym_sect + 1) { @@ -1176,15 +1154,15 @@ static void elf64_out(int32_t segto, const void *data, addr = 0; break; default: - nasm_panic(0, "internal error elf64-hpa-903"); + nasm_panic("internal error elf64-hpa-903"); break; } } else if (wrt == elf_plt_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF format cannot produce non-PC-" - "relative PLT references"); + nasm_nonfatal("ELF format cannot produce non-PC-" + "relative PLT references"); } else { - nasm_error(ERR_NONFATAL, "ELF format does not support this" - " use of WRT"); + nasm_nonfatal("ELF format does not support this" + " use of WRT"); } } elf_sect_writeaddr(s, addr, asize); @@ -1204,20 +1182,18 @@ static void elf64_out(int32_t segto, const void *data, rel12adr: addr = *(int64_t *)data - size; if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL1ADR"); + nasm_panic("intra-segment OUT_REL1ADR"); if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { elf_add_reloc(s, segment, addr, reltype); addr = 0; - } else { - nasm_error(ERR_NONFATAL, - "Unsupported non-32-bit ELF relocation"); - } + } else + nasm_nonfatal("Unsupported non-32-bit ELF relocation"); } elf_sect_writeaddr(s, addr, bytes); break; @@ -1225,12 +1201,12 @@ rel12adr: case OUT_REL4ADR: addr = *(int64_t *)data - size; if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL4ADR"); + nasm_panic("intra-segment OUT_REL4ADR"); if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF64 format does not support" - " segment base references"); + nasm_nonfatal("ELF64 format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { elf_add_reloc(s, segment, addr, R_X86_64_PC32); @@ -1246,15 +1222,15 @@ rel12adr: addr = 0; } else if (wrt == elf_gotoff_sect + 1 || wrt == elf_got_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF64 requires ..gotoff references to be " - "qword absolute"); + nasm_nonfatal("ELF64 requires ..gotoff references to be " + "qword absolute"); } else if (wrt == elf_gottpoff_sect + 1) { elf_add_gsym_reloc(s, segment, addr+size, size, R_X86_64_GOTTPOFF, true); addr = 0; } else { - nasm_error(ERR_NONFATAL, "ELF64 format does not support this" - " use of WRT"); + nasm_nonfatal("ELF64 format does not support this" + " use of WRT"); } } elf_sect_writeaddr(s, addr, 4); @@ -1263,12 +1239,12 @@ rel12adr: case OUT_REL8ADR: addr = *(int64_t *)data - size; if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL8ADR"); + nasm_panic("intra-segment OUT_REL8ADR"); if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF64 format does not support" - " segment base references"); + nasm_nonfatal("ELF64 format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { elf_add_reloc(s, segment, addr, R_X86_64_PC64); @@ -1280,14 +1256,14 @@ rel12adr: addr = 0; } else if (wrt == elf_gotoff_sect + 1 || wrt == elf_got_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF64 requires ..gotoff references to be " - "absolute"); + nasm_nonfatal("ELF64 requires ..gotoff references to be " + "absolute"); } else if (wrt == elf_gottpoff_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF64 requires ..gottpoff references to be " - "dword"); + nasm_nonfatal("ELF64 requires ..gottpoff references to be " + "dword"); } else { - nasm_error(ERR_NONFATAL, "ELF64 format does not support this" - " use of WRT"); + nasm_nonfatal("ELF64 format does not support this" + " use of WRT"); } } elf_sect_writeaddr(s, addr, 8); @@ -1308,16 +1284,6 @@ static void elfx32_out(int32_t segto, const void *data, int i; static struct symlininfo sinfo; - /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; - } - s = NULL; for (i = 0; i < nsects; i++) if (segto == sects[i]->index) { @@ -1326,8 +1292,8 @@ static void elfx32_out(int32_t segto, const void *data, } if (!s) { int tempint; /* ignored */ - if (segto != elf_section_names(".text", 2, &tempint)) - nasm_panic(0, "strange segment conditions in ELF driver"); + if (segto != elf_section_names(".text", &tempint)) + nasm_panic("strange segment conditions in ELF driver"); else { s = sects[nsects - 1]; i = nsects - 1; @@ -1343,8 +1309,8 @@ static void elfx32_out(int32_t segto, const void *data, /* end of debugging stuff */ if (s->type == SHT_NOBITS && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in" - " BSS section `%s': ignored", s->name); + nasm_warn(WARN_OTHER, "attempt to initialize memory in" + " BSS section `%s': ignored", s->name); s->len += realsize(type, size); return; } @@ -1352,8 +1318,8 @@ static void elfx32_out(int32_t segto, const void *data, switch (type) { case OUT_RESERVE: if (s->type == SHT_PROGBITS) { - nasm_error(ERR_WARNING, "uninitialized space declared in" - " non-BSS section `%s': zeroing", s->name); + nasm_warn(WARN_OTHER, "uninitialized space declared in" + " non-BSS section `%s': zeroing", s->name); elf_sect_write(s, NULL, size); } else s->len += size; @@ -1361,7 +1327,7 @@ static void elfx32_out(int32_t segto, const void *data, case OUT_RAWDATA: if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); + nasm_panic("OUT_RAWDATA with other than NO_SEG"); elf_sect_write(s, data, size); break; @@ -1374,8 +1340,8 @@ static void elfx32_out(int32_t segto, const void *data, if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { switch (isize) { @@ -1398,7 +1364,7 @@ static void elfx32_out(int32_t segto, const void *data, elf_add_reloc(s, segment, addr, R_X86_64_64); break; default: - nasm_panic(0, "internal error elfx32-hpa-871"); + nasm_panic("internal error elfx32-hpa-871"); break; } addr = 0; @@ -1412,8 +1378,8 @@ static void elfx32_out(int32_t segto, const void *data, elf_add_reloc(s, segment, addr, R_X86_64_GOTPC32); addr = 0; } else if (wrt == elf_gotoff_sect + 1) { - nasm_error(ERR_NONFATAL, "ELFX32 doesn't support " - "R_X86_64_GOTOFF64"); + nasm_nonfatal("ELFX32 doesn't support " + "R_X86_64_GOTOFF64"); } else if (wrt == elf_got_sect + 1) { switch (asize) { case 4: @@ -1422,7 +1388,7 @@ static void elfx32_out(int32_t segto, const void *data, addr = 0; break; default: - nasm_error(ERR_NONFATAL, "invalid ..got reference"); + nasm_nonfatal("invalid ..got reference"); break; } } else if (wrt == elf_sym_sect + 1) { @@ -1456,15 +1422,15 @@ static void elfx32_out(int32_t segto, const void *data, addr = 0; break; default: - nasm_panic(0, "internal error elfx32-hpa-903"); + nasm_panic("internal error elfx32-hpa-903"); break; } } else if (wrt == elf_plt_sect + 1) { - nasm_error(ERR_NONFATAL, "ELF format cannot produce non-PC-" - "relative PLT references"); + nasm_nonfatal("ELF format cannot produce non-PC-" + "relative PLT references"); } else { - nasm_error(ERR_NONFATAL, "ELF format does not support this" - " use of WRT"); + nasm_nonfatal("ELF format does not support this" + " use of WRT"); } } elf_sect_writeaddr(s, addr, asize); @@ -1484,20 +1450,18 @@ static void elfx32_out(int32_t segto, const void *data, rel12adr: addr = *(int64_t *)data - size; if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL1ADR"); + nasm_panic("intra-segment OUT_REL1ADR"); if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELF format does not support" - " segment base references"); + nasm_nonfatal("ELF format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { elf_add_reloc(s, segment, addr, reltype); addr = 0; - } else { - nasm_error(ERR_NONFATAL, - "Unsupported non-32-bit ELF relocation"); - } + } else + nasm_nonfatal("Unsupported non-32-bit ELF relocation"); } elf_sect_writeaddr(s, addr, bytes); break; @@ -1505,12 +1469,12 @@ rel12adr: case OUT_REL4ADR: addr = *(int64_t *)data - size; if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL4ADR"); + nasm_panic("intra-segment OUT_REL4ADR"); if (segment == NO_SEG) { /* Do nothing */ } else if (segment % 2) { - nasm_error(ERR_NONFATAL, "ELFX32 format does not support" - " segment base references"); + nasm_nonfatal("ELFX32 format does not support" + " segment base references"); } else { if (wrt == NO_SEG) { elf_add_reloc(s, segment, addr, R_X86_64_PC32); @@ -1526,21 +1490,20 @@ rel12adr: addr = 0; } else if (wrt == elf_gotoff_sect + 1 || wrt == elf_got_sect + 1) { - nasm_error(ERR_NONFATAL, "invalid ..gotoff reference"); + nasm_nonfatal("invalid ..gotoff reference"); } else if (wrt == elf_gottpoff_sect + 1) { elf_add_gsym_reloc(s, segment, addr+size, size, R_X86_64_GOTTPOFF, true); addr = 0; } else { - nasm_error(ERR_NONFATAL, "ELFX32 format does not support this" - " use of WRT"); + nasm_nonfatal("ELFX32 format does not support this use of WRT"); } } elf_sect_writeaddr(s, addr, 4); break; case OUT_REL8ADR: - nasm_error(ERR_NONFATAL, "32-bit ELF format does not support 64-bit relocations"); + nasm_nonfatal("32-bit ELF format does not support 64-bit relocations"); addr = 0; elf_sect_writeaddr(s, addr, 8); break; @@ -2220,11 +2183,6 @@ static void elf_sectalign(int32_t seg, unsigned int value) s->align = value; } -static int32_t elf_segbase(int32_t segment) -{ - return segment; -} - extern macros_t elf_stdmac[]; /* Claim "elf" as a pragma namespace, for the future */ @@ -2281,7 +2239,7 @@ const struct ofmt of_elf32 = { elf_section_names, NULL, elf_sectalign, - elf_segbase, + null_segbase, elf_directive, elf_cleanup, elf_pragma_list, @@ -2333,7 +2291,7 @@ const struct ofmt of_elf64 = { elf_section_names, NULL, elf_sectalign, - elf_segbase, + null_segbase, elf_directive, elf_cleanup, elf_pragma_list, @@ -2385,7 +2343,7 @@ const struct ofmt of_elfx32 = { elf_section_names, NULL, elf_sectalign, - elf_segbase, + null_segbase, elf_directive, elf_cleanup, NULL /* pragma list */ @@ -3033,7 +2991,7 @@ static void dwarf_generate(void) saa_write32(pinforel, 0); saa_write32(pinfo,0); /* DW_AT_stmt_list */ saa_wbytes(pinfo, elf_module, strlen(elf_module)+1); - saa_wbytes(pinfo, nasm_signature, strlen(nasm_signature)+1); + saa_wbytes(pinfo, nasm_signature(), nasm_signature_len()+1); saa_write16(pinfo,DW_LANG_Mips_Assembler); saa_write8(pinfo,2); /* abbrviation number LEB128u */ saa_write32(pinforel, pinfo->datalen + 4); @@ -3072,7 +3030,7 @@ static void dwarf_generate(void) saa_write32(pinforel, 0); saa_write32(pinfo,0); /* DW_AT_stmt_list */ saa_wbytes(pinfo, elf_module, strlen(elf_module)+1); - saa_wbytes(pinfo, nasm_signature, strlen(nasm_signature)+1); + saa_wbytes(pinfo, nasm_signature(), nasm_signature_len()+1); saa_write16(pinfo,DW_LANG_Mips_Assembler); saa_write8(pinfo,2); /* abbrviation number LEB128u */ saa_write32(pinforel, pinfo->datalen + 4); @@ -3112,7 +3070,7 @@ static void dwarf_generate(void) saa_write64(pinforel, 0); saa_write32(pinfo,0); /* DW_AT_stmt_list */ saa_wbytes(pinfo, elf_module, strlen(elf_module)+1); - saa_wbytes(pinfo, nasm_signature, strlen(nasm_signature)+1); + saa_wbytes(pinfo, nasm_signature(), nasm_signature_len()+1); saa_write16(pinfo,DW_LANG_Mips_Assembler); saa_write8(pinfo,2); /* abbrviation number LEB128u */ saa_write64(pinforel, pinfo->datalen + 4); diff --git a/output/outieee.c b/output/outieee.c index 3a28942d..1247077e 100644 --- a/output/outieee.c +++ b/output/outieee.c @@ -146,7 +146,7 @@ static struct ieeeSection { struct ieeeObjData *data, *datacurr; struct ieeeFixupp *fptr, *flptr; int32_t index; /* the NASM segment id */ - int32_t ieee_index; /* the OBJ-file segment index */ + int32_t ieee_index; /* the IEEE-file segment index */ int32_t currentpos; int32_t align; /* can be SEG_ABS + absolute addr */ int32_t startpos; @@ -193,7 +193,7 @@ static void ieee_data_new(struct ieeeSection *); static void ieee_write_fixup(int32_t, int32_t, struct ieeeSection *, int, uint64_t, int32_t); static void ieee_install_fixup(struct ieeeSection *, struct ieeeFixupp *); -static int32_t ieee_segment(char *, int, int *); +static int32_t ieee_segment(char *, int *); static void ieee_write_file(void); static void ieee_write_byte(struct ieeeSection *, int); static void ieee_write_word(struct ieeeSection *, int); @@ -294,9 +294,8 @@ static void ieee_deflabel(char *name, int32_t segment, struct ieeeSection *seg; int i; - if (special) { - nasm_error(ERR_NONFATAL, "unrecognised symbol type `%s'", special); - } + if (special) + nasm_nonfatal("unrecognised symbol type `%s'", special); /* * First check for the double-period, signifying something * unusual. @@ -399,23 +398,13 @@ static void ieee_out(int32_t segto, const void *data, struct ieeeSection *seg; /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; - } - - /* * If `any_segs' is still false, we must define a default * segment. */ if (!any_segs) { int tempint; /* ignored */ - if (segto != ieee_segment("__NASMDEFSEG", 2, &tempint)) - nasm_panic(0, "strange segment conditions in IEEE driver"); + if (segto != ieee_segment("__NASMDEFSEG", &tempint)) + nasm_panic("strange segment conditions in IEEE driver"); } /* @@ -425,7 +414,7 @@ static void ieee_out(int32_t segto, const void *data, if (seg->index == segto) break; if (!seg) - nasm_panic(0, "code directed to nonexistent segment?"); + nasm_panic("code directed to nonexistent segment?"); if (type == OUT_RAWDATA) { ucdata = data; @@ -436,8 +425,8 @@ static void ieee_out(int32_t segto, const void *data, if (type == OUT_ADDRESS) size = abs((int)size); else if (segment == NO_SEG) - nasm_error(ERR_NONFATAL, "relative call to absolute address not" - " supported by IEEE format"); + nasm_nonfatal("relative call to absolute address not" + " supported by IEEE format"); ldata = *(int64_t *)data; if (type == OUT_REL2ADR) ldata += (size - 2); @@ -526,15 +515,13 @@ static void ieee_write_fixup(int32_t segment, int32_t wrt, s.addend = 0; s.id2 = eb->index[i]; } else - nasm_error(ERR_NONFATAL, - "Source of WRT must be an offset"); + nasm_nonfatal("source of WRT must be an offset"); } } else - nasm_panic(0, - "unrecognised WRT value in ieee_write_fixup"); + nasm_panic("unrecognised WRT value in ieee_write_fixup"); } else - nasm_error(ERR_NONFATAL, "target of WRT must be a section "); + nasm_nonfatal("target of WRT must be a section"); } s.size = size; ieee_install_fixup(segto, &s); @@ -573,8 +560,7 @@ static void ieee_write_fixup(int32_t segment, int32_t wrt, */ if (eb) { if (realtype == OUT_REL2ADR || realtype == OUT_REL4ADR) { - nasm_panic(0, - "Segment of a rel not supported in ieee_write_fixup"); + nasm_panic("Segment of a rel not supported in ieee_write_fixup"); } else { /* If we want the segment */ s.ftype = FT_EXTSEG; @@ -584,8 +570,7 @@ static void ieee_write_fixup(int32_t segment, int32_t wrt, } else /* If we get here the seg value doesn't make sense */ - nasm_panic(0, - "unrecognised segment value in ieee_write_fixup"); + nasm_panic("unrecognised segment value in ieee_write_fixup"); } } else { @@ -639,13 +624,12 @@ static void ieee_write_fixup(int32_t segment, int32_t wrt, } else /* If we get here the seg value doesn't make sense */ - nasm_panic(0, - "unrecognised segment value in ieee_write_fixup"); + nasm_panic("unrecognised segment value in ieee_write_fixup"); } } if (size != 2 && s.ftype == FT_SEG) - nasm_error(ERR_NONFATAL, "IEEE format can only handle 2-byte" - " segment base references"); + nasm_nonfatal("IEEE format can only handle 2-byte" + " segment base references"); s.size = size; ieee_install_fixup(segto, &s); return; @@ -671,7 +655,7 @@ static void ieee_install_fixup(struct ieeeSection *seg, /* * segment registry */ -static int32_t ieee_segment(char *name, int pass, int *bits) +static int32_t ieee_segment(char *name, int *bits) { /* * We call the label manager here to define a name for the new @@ -721,9 +705,9 @@ static int32_t ieee_segment(char *name, int pass, int *bits) for (seg = seghead; seg; seg = seg->next) { ieee_idx++; if (!strcmp(seg->name, name)) { - if (attrs > 0 && pass == 1) - nasm_error(ERR_WARNING, "segment attributes specified on" - " redeclaration of segment: ignoring"); + if (attrs > 0 && pass_first()) + nasm_warn(WARN_OTHER, "segment attributes specified on" + " redeclaration of segment: ignoring"); if (seg->use32) *bits = 32; else @@ -778,8 +762,7 @@ static int32_t ieee_segment(char *name, int pass, int *bits) seg->align = 1; if (rn_error) { seg->align = 1; - nasm_error(ERR_NONFATAL, "segment alignment should be" - " numeric"); + nasm_nonfatal("segment alignment should be numeric"); } switch (seg->align) { case 1: /* BYTE */ @@ -793,16 +776,15 @@ static int32_t ieee_segment(char *name, int pass, int *bits) case 128: break; default: - nasm_error(ERR_NONFATAL, "invalid alignment value %d", - seg->align); + nasm_nonfatal("invalid alignment value %d", seg->align); seg->align = 1; break; } } else if (!nasm_strnicmp(p, "absolute=", 9)) { seg->align = SEG_ABS + readnum(p + 9, &rn_error); if (rn_error) - nasm_error(ERR_NONFATAL, "argument to `absolute' segment" - " attribute should be numeric"); + nasm_nonfatal("argument to `absolute' segment" + " attribute should be numeric"); } } @@ -825,11 +807,9 @@ static int32_t ieee_segment(char *name, int pass, int *bits) * directives supported */ static enum directive_result -ieee_directive(enum directive directive, char *value, int pass) +ieee_directive(enum directive directive, char *value) { - (void)value; - (void)pass; switch (directive) { case D_UPPERCASE: @@ -907,7 +887,7 @@ static void ieee_write_file(void) /* * Write the NASM boast comment. */ - ieee_putascii("CO0,%02X%s.\n", strlen(nasm_comment), nasm_comment); + ieee_putascii("CO0,%02X%s.\n", nasm_comment_len(), nasm_comment()); /* * write processor-specific information @@ -979,7 +959,7 @@ static void ieee_write_file(void) if (seg->index == ieee_entry_seg) break; if (!seg) - nasm_panic(0, "Start address records are incorrect"); + nasm_panic("Start address records are incorrect"); else ieee_putascii("ASG,R%X,%lX,+.\n", seg->ieee_index, ieee_entry_ofs); @@ -1293,7 +1273,7 @@ static void dbgls_init(void) arrindex = ARRAY_BOT; arrhead = NULL; arrtail = &arrhead; - ieee_segment("??LINE", 2, &tempint); + ieee_segment("??LINE", &tempint); any_segs = false; } static void dbgls_cleanup(void) @@ -1341,8 +1321,8 @@ static void dbgls_linnum(const char *lnfname, int32_t lineno, int32_t segto) */ if (!any_segs) { int tempint; /* ignored */ - if (segto != ieee_segment("__NASMDEFSEG", 2, &tempint)) - nasm_panic(0, "strange segment conditions in OBJ driver"); + if (segto != ieee_segment("__NASMDEFSEG", &tempint)) + nasm_panic("strange segment conditions in IEEE driver"); } /* @@ -1352,7 +1332,7 @@ static void dbgls_linnum(const char *lnfname, int32_t lineno, int32_t segto) if (seg->index == segto) break; if (!seg) - nasm_panic(0, "lineno directed to nonexistent segment?"); + nasm_panic("lineno directed to nonexistent segment?"); for (fn = fnhead; fn; fn = fn->next) { if (!nasm_stricmp(lnfname, fn->name)) diff --git a/output/outlib.h b/output/outlib.h index 664ca389..30f2c0b2 100644 --- a/output/outlib.h +++ b/output/outlib.h @@ -41,9 +41,10 @@ uint64_t realsize(enum out_type type, uint64_t size); /* Do-nothing versions of some output routines */ enum directive_result -null_directive(enum directive directive, char *value, int pass); +null_directive(enum directive directive, char *value); void null_sectalign(int32_t seg, unsigned int value); void null_reset(void); +int32_t null_segbase(int32_t seg); /* Do-nothing versions of all the debug routines */ void null_debug_init(void); diff --git a/output/outmacho.c b/output/outmacho.c index e78623e3..6482be09 100644 --- a/output/outmacho.c +++ b/output/outmacho.c @@ -56,6 +56,7 @@ #include "outlib.h" #include "ver.h" #include "dwarf.h" +#include "macho.h" #if defined(OF_MACHO) || defined(OF_MACHO64) @@ -72,45 +73,8 @@ #define MACHO_SECTCMD64_SIZE 80 #define MACHO_NLIST64_SIZE 16 -/* Mach-O file header values */ -#define MH_MAGIC 0xfeedface -#define MH_MAGIC_64 0xfeedfacf -#define CPU_TYPE_I386 7 /* x86 platform */ -#define CPU_TYPE_X86_64 0x01000007 /* x86-64 platform */ -#define CPU_SUBTYPE_I386_ALL 3 /* all-x86 compatible */ -#define MH_OBJECT 0x1 /* object file */ - -/* Mach-O header flags */ -#define MH_SUBSECTIONS_VIA_SYMBOLS 0x2000 - -/* Mach-O load commands */ -#define LC_SEGMENT 0x1 /* 32-bit segment load cmd */ -#define LC_SEGMENT_64 0x19 /* 64-bit segment load cmd */ -#define LC_SYMTAB 0x2 /* symbol table load command */ - /* Mach-O relocations numbers */ -/* Generic relocs, used by i386 Mach-O */ -#define GENERIC_RELOC_VANILLA 0 /* Generic relocation */ -#define GENERIC_RELOC_TLV 5 /* Thread local */ - -#define X86_64_RELOC_UNSIGNED 0 /* Absolute address */ -#define X86_64_RELOC_SIGNED 1 /* Signed 32-bit disp */ -#define X86_64_RELOC_BRANCH 2 /* CALL/JMP with 32-bit disp */ -#define X86_64_RELOC_GOT_LOAD 3 /* MOVQ of GOT entry */ -#define X86_64_RELOC_GOT 4 /* Different GOT entry */ -#define X86_64_RELOC_SUBTRACTOR 5 /* Subtracting two symbols */ -#define X86_64_RELOC_SIGNED_1 6 /* SIGNED with -1 addend */ -#define X86_64_RELOC_SIGNED_2 7 /* SIGNED with -2 addend */ -#define X86_64_RELOC_SIGNED_4 8 /* SIGNED with -4 addend */ -#define X86_64_RELOC_TLV 9 /* Thread local */ - -/* Mach-O VM permission constants */ -#define VM_PROT_NONE (0x00) -#define VM_PROT_READ (0x01) -#define VM_PROT_WRITE (0x02) -#define VM_PROT_EXECUTE (0x04) - #define VM_PROT_DEFAULT (VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE) #define VM_PROT_ALL (VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE) @@ -175,25 +139,6 @@ struct section { uint32_t extreloc; /* external relocations */ }; -#define SECTION_TYPE 0x000000ff /* section type mask */ - -#define S_REGULAR (0x0) /* standard section */ -#define S_ZEROFILL (0x1) /* zerofill, in-memory only */ - -#define SECTION_ATTRIBUTES_SYS 0x00ffff00 /* system setable attributes */ -#define S_ATTR_SOME_INSTRUCTIONS 0x00000400 /* section contains some - machine instructions */ -#define S_ATTR_EXT_RELOC 0x00000200 /* section has external relocation entries */ -#define S_ATTR_LOC_RELOC 0x00000100 /* section has local relocation entries */ -#define S_ATTR_DEBUG 0x02000000 -#define S_ATTR_SELF_MODIFYING_CODE 0x04000000 -#define S_ATTR_LIVE_SUPPORT 0x08000000 -#define S_ATTR_NO_DEAD_STRIP 0x10000000 /* no dead stripping */ -#define S_ATTR_STRIP_STATIC_SYMS 0x20000000 -#define S_ATTR_NO_TOC 0x40000000 -#define S_ATTR_PURE_INSTRUCTIONS 0x80000000 /* section uses pure machine instructions */ -#define S_ATTR_DEBUG 0x02000000 /* debug section */ - #define S_NASM_TYPE_MASK 0x800004ff /* we consider these bits "section type" */ /* fake section for absolute symbols, *not* part of the section linked list */ @@ -214,10 +159,6 @@ struct reloc { type:4; /* reloc type */ }; -#define R_ABS 0 /* absolute relocation */ -#define R_SCATTERED 0x80000000 /* reloc entry is scattered if - ** highest bit == 1 */ - struct symbol { /* nasm internal data */ struct rbtree symv[2]; /* All/global symbol rbtrees; "key" contains the @@ -234,23 +175,8 @@ struct symbol { uint16_t desc; /* for stab debugging, 0 for us */ }; -/* symbol type bits */ -#define N_EXT 0x01 /* global or external symbol */ -#define N_PEXT 0x10 /* private external symbol */ - -#define N_UNDF 0x0 /* undefined symbol | n_sect == */ -#define N_ABS 0x2 /* absolute symbol | NO_SECT */ -#define N_SECT 0xe /* defined symbol, n_sect holds - ** section number */ - -#define N_TYPE 0x0e /* type bit mask */ - #define DEFAULT_SECTION_ALIGNMENT 0 /* byte (i.e. no) alignment */ -/* special section number values */ -#define NO_SECT 0 /* no section, invalid */ -#define MAX_SECT 255 /* maximum number of sections */ - static struct section *sects, **sectstail, **sectstab; static struct symbol *syms, **symstail; static uint32_t nsyms; @@ -313,7 +239,7 @@ static uint64_t rel_padcnt = 0; ALIGN(x, fmt.ptrsize) /* align x to output format width */ static struct hash_table section_by_name; -static struct RAAPTR *section_by_index; +static struct RAA *section_by_index; static struct section * never_null find_or_add_section(const char *segname, const char *sectname) @@ -436,8 +362,7 @@ static void macho_init(void) extsyms = raa_init(); strs = saa_init(1L); - section_by_index = raa_init_ptr(); - hash_init(§ion_by_name, HASH_MEDIUM); + section_by_index = raa_init(); /* string table starts with a zero byte so index 0 is an empty string */ saa_wbytes(strs, zero_buffer, 1); @@ -547,7 +472,7 @@ static int64_t add_reloc(struct section *sect, int32_t section, break; case RL_SUB: /* obsolete */ - nasm_error(ERR_WARNING, "relcation with subtraction" + nasm_error(ERR_WARNING|WARN_OTHER, "relcation with subtraction" "becomes to be obsolete"); r->ext = 0; r->type = X86_64_RELOC_SUBTRACTOR; @@ -632,22 +557,15 @@ static void macho_output(int32_t secto, const void *data, bool is_bss; enum reltype reltype; - if (secto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in " - "[ABSOLUTE] space"); - return; - } - s = get_section_by_index(secto); if (!s) { - nasm_error(ERR_WARNING, "attempt to assemble code in" + nasm_error(ERR_WARNING|WARN_OTHER, "attempt to assemble code in" " section %d: defaulting to `.text'", secto); s = get_section_by_name("__TEXT", "__text"); /* should never happen */ if (!s) - nasm_panic(0, "text section not found"); + nasm_panic("text section not found"); } /* debug code generation only for sections tagged with @@ -663,10 +581,10 @@ static void macho_output(int32_t secto, const void *data, is_bss = (s->flags & SECTION_TYPE) == S_ZEROFILL; if (is_bss && type != OUT_RESERVE) { - nasm_error(ERR_WARNING, "attempt to initialize memory in " + nasm_error(ERR_WARNING|WARN_OTHER, "attempt to initialize memory in " "BSS section: ignored"); /* FIXME */ - nasm_error(ERR_WARNING, "section size may be negative" + nasm_error(ERR_WARNING|WARN_OTHER, "section size may be negative" "with address symbols"); s->size += realsize(type, size); return; @@ -677,7 +595,7 @@ static void macho_output(int32_t secto, const void *data, switch (type) { case OUT_RESERVE: if (!is_bss) { - nasm_error(ERR_WARNING, "uninitialized space declared in" + nasm_error(ERR_WARNING|WARN_OTHER, "uninitialized space declared in" " %s,%s section: zeroing", s->segname, s->sectname); sect_write(s, NULL, size); @@ -687,9 +605,6 @@ static void macho_output(int32_t secto, const void *data, break; case OUT_RAWDATA: - if (section != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); - sect_write(s, data, size); break; @@ -818,59 +733,74 @@ static void macho_output(int32_t secto, const void *data, } } +#define S_CODE (S_REGULAR | S_ATTR_SOME_INSTRUCTIONS | S_ATTR_PURE_INSTRUCTIONS) +#define NO_TYPE S_NASM_TYPE_MASK + /* Translation table from traditional Unix section names to Mach-O */ -static const struct sectmap { - const char *nasmsect; - const char *segname; - const char *sectname; - const uint32_t flags; -} sectmap[] = { - {".text", "__TEXT", "__text", - S_REGULAR|S_ATTR_SOME_INSTRUCTIONS|S_ATTR_PURE_INSTRUCTIONS}, - {".data", "__DATA", "__data", S_REGULAR}, - {".rodata", "__DATA", "__const", S_REGULAR}, - {".bss", "__DATA", "__bss", S_ZEROFILL}, - {".debug_abbrev", "__DWARF", "__debug_abbrev", S_ATTR_DEBUG}, - {".debug_info", "__DWARF", "__debug_info", S_ATTR_DEBUG}, - {".debug_line", "__DWARF", "__debug_line", S_ATTR_DEBUG}, - {".debug_str", "__DWARF", "__debug_str", S_ATTR_DEBUG}, - {NULL, NULL, NULL, 0} +static const struct macho_known_section { + const char *nasmsect; + const char *segname; + const char *sectname; + const uint32_t flags; +} known_sections[] = { + { ".text", "__TEXT", "__text", S_CODE }, + { ".data", "__DATA", "__data", S_REGULAR }, + { ".rodata", "__DATA", "__const", S_REGULAR }, + { ".bss", "__DATA", "__bss", S_ZEROFILL }, + { ".debug_abbrev", "__DWARF", "__debug_abbrev", S_ATTR_DEBUG }, + { ".debug_info", "__DWARF", "__debug_info", S_ATTR_DEBUG }, + { ".debug_line", "__DWARF", "__debug_line", S_ATTR_DEBUG }, + { ".debug_str", "__DWARF", "__debug_str", S_ATTR_DEBUG }, }; -#define NO_TYPE S_NASM_TYPE_MASK - /* Section type or attribute directives */ -static const struct sect_attribs { - const char *name; - uint32_t flags; +static const struct macho_known_section_attr { + const char *name; + uint32_t flags; } sect_attribs[] = { - { "data", S_REGULAR }, - { "code", S_REGULAR|S_ATTR_SOME_INSTRUCTIONS|S_ATTR_PURE_INSTRUCTIONS }, - { "mixed", S_REGULAR|S_ATTR_SOME_INSTRUCTIONS }, - { "bss", S_ZEROFILL }, - { "zerofill", S_ZEROFILL }, - { "no_dead_strip", NO_TYPE|S_ATTR_NO_DEAD_STRIP }, - { "live_support", NO_TYPE|S_ATTR_LIVE_SUPPORT }, - { "strip_static_syms", NO_TYPE|S_ATTR_STRIP_STATIC_SYMS }, - { "debug", NO_TYPE|S_ATTR_DEBUG }, + { "data", S_REGULAR }, + { "code", S_CODE }, + { "mixed", S_REGULAR | S_ATTR_SOME_INSTRUCTIONS }, + { "bss", S_ZEROFILL }, + { "zerofill", S_ZEROFILL }, + { "no_dead_strip", NO_TYPE | S_ATTR_NO_DEAD_STRIP }, + { "live_support", NO_TYPE | S_ATTR_LIVE_SUPPORT }, + { "strip_static_syms", NO_TYPE | S_ATTR_STRIP_STATIC_SYMS }, + { "debug", NO_TYPE | S_ATTR_DEBUG }, { NULL, 0 } }; -static int32_t macho_section(char *name, int pass, int *bits) +static const struct macho_known_section * +lookup_known_section(const char *name, bool by_sectname) { + size_t i; + + if (name && name[0]) { + for (i = 0; i < ARRAY_SIZE(known_sections); i++) { + const char *p = by_sectname ? + known_sections[i].sectname : + known_sections[i].nasmsect; + if (!strcmp(name, p)) + return &known_sections[i]; + } + } + + return NULL; +} + +static int32_t macho_section(char *name, int *bits) +{ + const struct macho_known_section *known_section; + const struct macho_known_section_attr *sa; char *sectionAttributes; - const struct sectmap *sm; struct section *s; const char *section, *segment; uint32_t flags; - const struct sect_attribs *sa; char *currentAttribute; char *comma; bool new_seg; - (void)pass; - /* Default to the appropriate number of bits. */ if (!name) { *bits = fmt.ptrsize << 3; @@ -906,29 +836,23 @@ static int32_t macho_section(char *name, int pass, int *bits) nasm_error(ERR_NONFATAL, "section name %s too long\n", section); } - if (!strcmp(section, "__text")) { - flags = S_REGULAR | S_ATTR_SOME_INSTRUCTIONS | - S_ATTR_PURE_INSTRUCTIONS; - } else if (!strcmp(section, "__bss")) { - flags = S_ZEROFILL; - } else { - flags = S_REGULAR; - } + known_section = lookup_known_section(section, true); + if (known_section) + flags = known_section->flags; + else + flags = S_REGULAR; } else { - for (sm = sectmap; sm->nasmsect != NULL; ++sm) { - /* make lookup into section name translation table */ - if (!strcmp(name, sm->nasmsect)) { - segment = sm->segname; - section = sm->sectname; - flags = sm->flags; - goto found; - } - } - nasm_error(ERR_NONFATAL, "unknown section name\n"); - return NO_SEG; + known_section = lookup_known_section(name, false); + if (!known_section) { + nasm_error(ERR_NONFATAL, "unknown section name %s\n", name); + return NO_SEG; + } + + segment = known_section->segname; + section = known_section->sectname; + flags = known_section->flags; } - found: /* try to find section with that name, or create it */ s = find_or_add_section(segment, section); new_seg = is_new_section(s); @@ -1060,8 +984,9 @@ static void macho_symdef(char *name, int32_t section, int64_t offset, #if defined(DEBUG) && DEBUG>2 nasm_error(ERR_DEBUG, - " macho_symdef: %s, pass0=%d, passn=%"PRId64", sec=%"PRIx32", off=%"PRIx64", is_global=%d, %s\n", - name, pass0, passn, section, offset, is_global, special); + " macho_symdef: %s, pass=%"PRId64" type %s, sec=%"PRIx32", off=%"PRIx64", is_global=%d, %s\n", + name, pass_count(), pass_types[pass_type()], + section, offset, is_global, special); #endif if (is_global == 3) { @@ -1161,7 +1086,7 @@ static void macho_symdef(char *name, int32_t section, int64_t offset, /* give an error on unfound section if it's not an ** external or common symbol (assemble_file() does a ** seg_alloc() on every call for them) */ - nasm_panic(0, "in-file index for section %d not found, is_global = %d", section, is_global); + nasm_panic("in-file index for section %d not found, is_global = %d", section, is_global); break; } } @@ -1196,11 +1121,6 @@ static void macho_sectalign(int32_t seg, unsigned int value) s->align = align; } -static int32_t macho_segbase(int32_t section) -{ - return section; -} - extern macros_t macho_stdmac[]; /* Comparison function for qsort symbol layout. */ @@ -1359,7 +1279,7 @@ static void macho_calculate_sizes (void) } if (seg_nsects > MAX_SECT) { - nasm_fatal(0, "MachO output is limited to %d sections\n", + nasm_fatal("MachO output is limited to %d sections\n", MAX_SECT); } @@ -1734,7 +1654,7 @@ static void macho_write (void) if (seg_nsects > 0) offset = macho_write_segment (offset); else - nasm_error(ERR_WARNING, "no sections?"); + nasm_error(ERR_WARNING|WARN_OTHER, "no sections?"); if (nsyms > 0) { /* write out symbol command */ @@ -1813,7 +1733,7 @@ static void macho_cleanup(void) nasm_free(extdefsyms); nasm_free(undefsyms); nasm_free(sectstab); - raa_free_ptr(section_by_index); + raa_free(section_by_index); hash_free(§ion_by_name); } @@ -1846,7 +1766,6 @@ static enum directive_result macho_no_dead_strip(const char *labels) char *s, *p, *ep; char ec; enum directive_result rv = DIRR_ERROR; - bool real = passn > 1; p = s = nasm_strdup(labels); while (*p) { @@ -1861,7 +1780,7 @@ static enum directive_result macho_no_dead_strip(const char *labels) goto err; } *ep = '\0'; - if (real) { + if (!pass_first()) { if (!macho_set_section_attribute_by_symbol(p, S_ATTR_NO_DEAD_STRIP)) rv = DIRR_ERROR; } @@ -1884,14 +1803,12 @@ err: static enum directive_result macho_pragma(const struct pragma *pragma) { - bool real = passn > 1; - switch (pragma->opcode) { case D_SUBSECTIONS_VIA_SYMBOLS: if (*pragma->tail) return DIRR_BADPARAM; - if (real) + if (!pass_first()) head_flags |= MH_SUBSECTIONS_VIA_SYMBOLS; /* Jmp-match optimization conflicts */ @@ -1923,10 +1840,10 @@ static void macho_dbg_generate(void) /* debug section defines */ { int bits = 0; - macho_section(".debug_abbrev", 0, &bits); - macho_section(".debug_info", 0, &bits); - macho_section(".debug_line", 0, &bits); - macho_section(".debug_str", 0, &bits); + macho_section(".debug_abbrev", &bits); + macho_section(".debug_info", &bits); + macho_section(".debug_line", &bits); + macho_section(".debug_str", &bits); } /* dw section walk to find high_addr and total_len */ @@ -2028,7 +1945,7 @@ static void macho_dbg_generate(void) nasm_assert(p_section != NULL); producer_str_offset = 0; - module_str_offset = dir_str_offset = saa_wcstring(p_str, nasm_signature); + module_str_offset = dir_str_offset = saa_wcstring(p_str, nasm_signature()); dir_str_offset += saa_wcstring(p_str, cur_file); saa_wcstring(p_str, cur_dir); @@ -2402,7 +2319,7 @@ const struct ofmt of_macho32 = { macho_section, macho_herelabel, macho_sectalign, - macho_segbase, + null_segbase, null_directive, macho_cleanup, macho_pragma_list @@ -2469,7 +2386,7 @@ const struct ofmt of_macho64 = { macho_section, macho_herelabel, macho_sectalign, - macho_segbase, + null_segbase, null_directive, macho_cleanup, macho_pragma_list, diff --git a/output/outobj.c b/output/outobj.c index b4f2c499..e861754e 100644 --- a/output/outobj.c +++ b/output/outobj.c @@ -634,9 +634,9 @@ static const struct dfmt borland_debug_form; /* The current segment */ static struct Segment *current_seg; -static int32_t obj_segment(char *, int, int *); +static int32_t obj_segment(char *, int *); static void obj_write_file(void); -static enum directive_result obj_directive(enum directive, char *, int); +static enum directive_result obj_directive(enum directive, char *); static void obj_init(void) { @@ -774,8 +774,7 @@ static void obj_deflabel(char *name, int32_t segment, bool used_special = false; /* have we used the special text? */ #if defined(DEBUG) && DEBUG>2 - nasm_error(ERR_DEBUG, - " obj_deflabel: %s, seg=%"PRIx32", off=%"PRIx64", is_global=%d, %s\n", + nasm_debug(" obj_deflabel: %s, seg=%"PRIx32", off=%"PRIx64", is_global=%d, %s\n", name, segment, offset, is_global, special); #endif @@ -795,7 +794,7 @@ static void obj_deflabel(char *name, int32_t segment, obj_entry_ofs = offset; return; } - nasm_error(ERR_NONFATAL, "unrecognised special symbol `%s'", name); + nasm_nonfatal("unrecognised special symbol `%s'", name); } /* @@ -826,8 +825,8 @@ static void obj_deflabel(char *name, int32_t segment, pub->segment = (segment == NO_SEG ? 0 : segment & ~SEG_ABS); } if (special) - nasm_error(ERR_NONFATAL, "OBJ supports no special symbol features" - " for this symbol type"); + nasm_nonfatal("OBJ supports no special symbol features" + " for this symbol type"); return; } @@ -838,8 +837,8 @@ static void obj_deflabel(char *name, int32_t segment, */ if (!any_segs && segment == first_seg) { int tempint; /* ignored */ - if (segment != obj_segment("__NASMDEFSEG", 2, &tempint)) - nasm_panic(0, "strange segment conditions in OBJ driver"); + if (segment != obj_segment("__NASMDEFSEG", &tempint)) + nasm_panic("strange segment conditions in OBJ driver"); } for (seg = seghead; seg && is_global; seg = seg->next) @@ -855,9 +854,8 @@ static void obj_deflabel(char *name, int32_t segment, loc->offset = offset; if (special) - nasm_error(ERR_NONFATAL, - "OBJ supports no special symbol features" - " for this symbol type"); + nasm_nonfatal("OBJ supports no special symbol features" + " for this symbol type"); return; } @@ -922,8 +920,8 @@ static void obj_deflabel(char *name, int32_t segment, obj_ext_set_defwrt(ext, p); special += len; if (*special && *special != ':') - nasm_error(ERR_NONFATAL, "`:' expected in special symbol" - " text for `%s'", ext->name); + nasm_nonfatal("`:' expected in special symbol" + " text for `%s'", ext->name); else if (*special == ':') special++; } @@ -936,18 +934,16 @@ static void obj_deflabel(char *name, int32_t segment, if (ext->commonsize) ext->commonelem = 1; else - nasm_error(ERR_NONFATAL, - "`%s': `far' keyword may only be applied" - " to common variables\n", ext->name); + nasm_nonfatal("`%s': `far' keyword may only be applied" + " to common variables\n", ext->name); special += 3; special += strspn(special, " \t"); } else if (!nasm_strnicmp(special, "near", 4)) { if (ext->commonsize) ext->commonelem = 0; else - nasm_error(ERR_NONFATAL, - "`%s': `far' keyword may only be applied" - " to common variables\n", ext->name); + nasm_nonfatal("`%s': `far' keyword may only be applied" + " to common variables\n", ext->name); special += 4; special += strspn(special, " \t"); } @@ -971,16 +967,15 @@ static void obj_deflabel(char *name, int32_t segment, e = evaluate(stdscan, NULL, &tokval, NULL, 1, NULL); if (e) { if (!is_simple(e)) - nasm_error(ERR_NONFATAL, "cannot use relocatable" - " expression as common-variable element size"); + nasm_nonfatal("cannot use relocatable" + " expression as common-variable element size"); else ext->commonelem = reloc_value(e); } special = stdscan_get(); } else { - nasm_error(ERR_NONFATAL, - "`%s': element-size specifications only" - " apply to common variables", ext->name); + nasm_nonfatal("`%s': element-size specifications only" + " apply to common variables", ext->name); while (*special && *special != ':') special++; if (*special == ':') @@ -1010,8 +1005,8 @@ static void obj_deflabel(char *name, int32_t segment, ext->index = ++externals; if (special && !used_special) - nasm_error(ERR_NONFATAL, "OBJ supports no special symbol features" - " for this symbol type"); + nasm_nonfatal("OBJ supports no special symbol features" + " for this symbol type"); } /* forward declaration */ @@ -1029,23 +1024,13 @@ static void obj_out(int32_t segto, const void *data, ObjRecord *orp; /* - * handle absolute-assembly (structure definitions) - */ - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, "attempt to assemble code in [ABSOLUTE]" - " space"); - return; - } - - /* * If `any_segs' is still false, we must define a default * segment. */ if (!any_segs) { int tempint; /* ignored */ - if (segto != obj_segment("__NASMDEFSEG", 2, &tempint)) - nasm_panic(0, "strange segment conditions in OBJ driver"); + if (segto != obj_segment("__NASMDEFSEG", &tempint)) + nasm_panic("strange segment conditions in OBJ driver"); } /* @@ -1055,7 +1040,7 @@ static void obj_out(int32_t segto, const void *data, if (seg->index == segto) break; if (!seg) - nasm_panic(0, "code directed to nonexistent segment?"); + nasm_panic("code directed to nonexistent segment?"); orp = seg->orp; orp->parm[0] = seg->currentpos; @@ -1089,11 +1074,11 @@ static void obj_out(int32_t segto, const void *data, size = abs((int)size); if (segment == NO_SEG && type != OUT_ADDRESS) - nasm_error(ERR_NONFATAL, "relative call to absolute address not" - " supported by OBJ format"); + nasm_nonfatal("relative call to absolute address not" + " supported by OBJ format"); if (segment >= SEG_ABS) - nasm_error(ERR_NONFATAL, "far-absolute relocations not supported" - " by OBJ format"); + nasm_nonfatal("far-absolute relocations not supported" + " by OBJ format"); ldata = *(int64_t *)data; if (type != OUT_ADDRESS) { @@ -1138,8 +1123,8 @@ static void obj_out(int32_t segto, const void *data, switch (size) { default: - nasm_error(ERR_NONFATAL, "OBJ format can only handle 16- or " - "32-byte relocations"); + nasm_nonfatal("OBJ format can only handle 16- or " + "32-byte relocations"); segment = NO_SEG; /* Don't actually generate a relocation */ break; case 2: @@ -1162,8 +1147,8 @@ static void obj_out(int32_t segto, const void *data, */ rsize = 2; if (ldata & 0xFFFF) - nasm_error(ERR_NONFATAL, "OBJ format cannot handle complex" - " dword-size segment base references"); + nasm_nonfatal("OBJ format cannot handle complex" + " dword-size segment base references"); } if (segment != NO_SEG) obj_write_fixup(orp, rsize, @@ -1174,8 +1159,7 @@ static void obj_out(int32_t segto, const void *data, } default: - nasm_error(ERR_NONFATAL, - "Relocation type not supported by output format"); + nasm_nonfatal("Relocation type not supported by output format"); /* fall through */ case OUT_RESERVE: @@ -1201,8 +1185,8 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, ObjRecord *forp; if (bytes != 2 && bytes != 4) { - nasm_error(ERR_NONFATAL, "`obj' output driver does not support" - " %d-bit relocations", bytes << 3); + nasm_nonfatal("`obj' output driver does not support" + " %d-bit relocations", bytes << 3); return; } @@ -1223,7 +1207,7 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, locat = FIX_16_SELECTOR; seg--; if (bytes != 2) - nasm_panic(0, "OBJ: 4-byte segment base fixup got" + nasm_panic("OBJ: 4-byte segment base fixup got" " through sanity check"); } else { base = false; @@ -1269,8 +1253,7 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, if (eb) method = 6, e = eb->exts[i], tidx = e->index; else - nasm_panic(0, - "unrecognised segment value in obj_write_fixup"); + nasm_panic("unrecognised segment value in obj_write_fixup"); } } @@ -1293,8 +1276,8 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, else if (e->defwrt_type == DEFWRT_GROUP) method |= 0x10, fidx = e->defwrt_ptr.grp->obj_index; else { - nasm_error(ERR_NONFATAL, "default WRT specification for" - " external `%s' unresolved", e->name); + nasm_nonfatal("default WRT specification for" + " external `%s' unresolved", e->name); method |= 0x50, fidx = -1; /* got to do _something_ */ } } else @@ -1328,8 +1311,7 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, if (eb) method |= 0x20, fidx = eb->exts[i]->index; else - nasm_panic(0, - "unrecognised WRT value in obj_write_fixup"); + nasm_panic("unrecognised WRT value in obj_write_fixup"); } } } @@ -1341,7 +1323,7 @@ static void obj_write_fixup(ObjRecord * orp, int bytes, obj_commit(forp); } -static int32_t obj_segment(char *name, int pass, int *bits) +static int32_t obj_segment(char *name, int *bits) { /* * We call the label manager here to define a name for the new @@ -1351,8 +1333,8 @@ static int32_t obj_segment(char *name, int pass, int *bits) * by sponging off the label manager. */ #if defined(DEBUG) && DEBUG>=3 - nasm_error(ERR_DEBUG, " obj_segment: < %s >, pass=%d, *bits=%d\n", - name, pass, *bits); + nasm_debug(" obj_segment: < %s >, pass=%d, *bits=%d\n", + name, pass, *bits); #endif if (!name) { *bits = 16; @@ -1397,9 +1379,9 @@ static int32_t obj_segment(char *name, int pass, int *bits) break; if (!strcmp(seg->name, name)) { - if (attrs > 0 && pass == 1) - nasm_error(ERR_WARNING, "segment attributes specified on" - " redeclaration of segment: ignoring"); + if (attrs > 0 && pass_first()) + nasm_warn(WARN_OTHER, "segment attributes specified on" + " redeclaration of segment: ignoring"); if (seg->use32) *bits = 32; else @@ -1473,12 +1455,12 @@ static int32_t obj_segment(char *name, int pass, int *bits) if (!strcmp(grp->name, "FLAT")) break; if (!grp) { - obj_directive(D_GROUP, "FLAT", 1); + obj_directive(D_GROUP, "FLAT"); for (grp = grphead; grp; grp = grp->next) if (!strcmp(grp->name, "FLAT")) break; if (!grp) - nasm_panic(0, "failure to define FLAT?!"); + nasm_panic("failure to define FLAT?!"); } seg->grp = grp; } else if (!nasm_strnicmp(p, "class=", 6)) @@ -1489,8 +1471,7 @@ static int32_t obj_segment(char *name, int pass, int *bits) seg->align = readnum(p + 6, &rn_error); if (rn_error) { seg->align = 1; - nasm_error(ERR_NONFATAL, "segment alignment should be" - " numeric"); + nasm_nonfatal("segment alignment should be numeric"); } switch (seg->align) { case 1: /* BYTE */ @@ -1501,38 +1482,35 @@ static int32_t obj_segment(char *name, int pass, int *bits) case 4096: /* PharLap extension */ break; case 8: - nasm_error(ERR_WARNING, - "OBJ format does not support alignment" - " of 8: rounding up to 16"); + nasm_warn(WARN_OTHER, "OBJ format does not support alignment" + " of 8: rounding up to 16"); seg->align = 16; break; case 32: case 64: case 128: - nasm_error(ERR_WARNING, - "OBJ format does not support alignment" - " of %d: rounding up to 256", seg->align); + nasm_warn(WARN_OTHER, "OBJ format does not support alignment" + " of %d: rounding up to 256", seg->align); seg->align = 256; break; case 512: case 1024: case 2048: - nasm_error(ERR_WARNING, - "OBJ format does not support alignment" - " of %d: rounding up to 4096", seg->align); + nasm_warn(WARN_OTHER, "OBJ format does not support alignment" + " of %d: rounding up to 4096", seg->align); seg->align = 4096; break; default: - nasm_error(ERR_NONFATAL, "invalid alignment value %d", - seg->align); + nasm_nonfatal("invalid alignment value %d", + seg->align); seg->align = 1; break; } } else if (!nasm_strnicmp(p, "absolute=", 9)) { seg->align = SEG_ABS + readnum(p + 9, &rn_error); if (rn_error) - nasm_error(ERR_NONFATAL, "argument to `absolute' segment" - " attribute should be numeric"); + nasm_nonfatal("argument to `absolute' segment" + " attribute should be numeric"); } } @@ -1556,10 +1534,9 @@ static int32_t obj_segment(char *name, int pass, int *bits) grp->segs[i] = grp->segs[grp->nindices]; grp->segs[grp->nindices++].index = seg->obj_index; if (seg->grp) - nasm_error(ERR_WARNING, - "segment `%s' is already part of" - " a group: first one takes precedence", - seg->name); + nasm_warn(WARN_OTHER, "segment `%s' is already part of" + " a group: first one takes precedence", + seg->name); else seg->grp = grp; } @@ -1593,13 +1570,13 @@ static int32_t obj_segment(char *name, int pass, int *bits) } static enum directive_result -obj_directive(enum directive directive, char *value, int pass) +obj_directive(enum directive directive, char *value) { switch (directive) { case D_GROUP: { char *p, *q, *v; - if (pass == 1) { + if (pass_first()) { /* XXX */ struct Group *grp; struct Segment *seg; struct External **extp; @@ -1632,7 +1609,7 @@ obj_directive(enum directive directive, char *value, int pass) for (grp = grphead; grp; grp = grp->next) { obj_idx++; if (!strcmp(grp->name, v)) { - nasm_error(ERR_NONFATAL, "group `%s' defined twice", v); + nasm_nonfatal("group `%s' defined twice", v); return DIRR_ERROR; } } @@ -1672,10 +1649,9 @@ obj_directive(enum directive directive, char *value, int pass) grp->segs[grp->nentries++] = grp->segs[grp->nindices]; grp->segs[grp->nindices++].index = seg->obj_index; if (seg->grp) - nasm_error(ERR_WARNING, - "segment `%s' is already part of" - " a group: first one takes precedence", - seg->name); + nasm_warn(WARN_OTHER, "segment `%s' is already part of" + " a group: first one takes precedence", + seg->name); else seg->grp = grp; } else { @@ -1714,8 +1690,8 @@ obj_directive(enum directive directive, char *value, int pass) { char *q, *extname, *libname, *impname; - if (pass == 2) - return 1; /* ignore in pass two */ + if (!pass_first()) /* XXX */ + return DIRR_OK; extname = q = value; while (*q && !nasm_isspace(*q)) q++; @@ -1737,8 +1713,8 @@ obj_directive(enum directive directive, char *value, int pass) impname = q; if (!*extname || !*libname) - nasm_error(ERR_NONFATAL, "`import' directive requires symbol name" - " and library name"); + nasm_nonfatal("`import' directive requires symbol name" + " and library name"); else { struct ImpDef *imp; bool err = false; @@ -1764,7 +1740,7 @@ obj_directive(enum directive directive, char *value, int pass) int flags = 0; unsigned int ordinal = 0; - if (pass == 2) + if (!pass_first()) return DIRR_OK; /* ignore in pass two */ intname = q = value; while (*q && !nasm_isspace(*q)) @@ -1785,7 +1761,7 @@ obj_directive(enum directive directive, char *value, int pass) } if (!*intname) { - nasm_error(ERR_NONFATAL, "`export' directive requires export name"); + nasm_nonfatal("`export' directive requires export name"); return DIRR_OK; } if (!*extname) { @@ -1809,16 +1785,14 @@ obj_directive(enum directive directive, char *value, int pass) bool err = false; flags |= EXPDEF_MASK_PARMCNT & readnum(v + 5, &err); if (err) { - nasm_error(ERR_NONFATAL, - "value `%s' for `parm' is non-numeric", v + 5); + nasm_nonfatal("value `%s' for `parm' is non-numeric", v + 5); return DIRR_ERROR; } } else { bool err = false; ordinal = readnum(v, &err); if (err) { - nasm_error(ERR_NONFATAL, - "unrecognised export qualifier `%s'", v); + nasm_nonfatal("unrecognised export qualifier `%s'", v); return DIRR_ERROR; } flags |= EXPDEF_FLAG_ORDINAL; @@ -1913,7 +1887,7 @@ static int32_t obj_segbase(int32_t segment) e = eb->exts[i]; if (!e) { /* Not available yet, probably a forward reference */ - nasm_assert(pass0 < 2); /* Convergence failure */ + nasm_assert(!pass_final()); return NO_SEG; } @@ -1977,7 +1951,7 @@ static void obj_write_file(void) struct ExpDef *export; int lname_idx; ObjRecord *orp; - const StrList *depfile; + const struct strlist_entry *depfile; const bool debuginfo = (dfmt == &borland_debug_form); /* @@ -1993,14 +1967,14 @@ static void obj_write_file(void) */ orp->type = COMENT; obj_rword(orp, dTRANSL); - obj_name(orp, nasm_comment); + obj_name(orp, nasm_comment()); obj_emit2(orp); /* * Output file dependency information */ - if (!obj_nodepend) { - list_for_each(depfile, depend_list) { + if (!obj_nodepend && depend_list) { + strlist_for_each(depfile, depend_list) { uint32_t ts; ts = obj_file_timestamp(depfile->str); @@ -2104,8 +2078,8 @@ static void obj_write_file(void) /* acbp |= 0x00 */ ; else if (seg->align >= 4096) { if (seg->align > 4096) - nasm_error(ERR_NONFATAL, "segment `%s' requires more alignment" - " than OBJ format supports", seg->name); + nasm_nonfatal("segment `%s' requires more alignment" + " than OBJ format supports", seg->name); acbp |= 0xC0; /* PharLap extension */ } else if (seg->align >= 256) { acbp |= 0x80; @@ -2139,8 +2113,8 @@ static void obj_write_file(void) if (grp->nindices != grp->nentries) { for (i = grp->nindices; i < grp->nentries; i++) { - nasm_error(ERR_NONFATAL, "group `%s' contains undefined segment" - " `%s'", grp->name, grp->segs[i].name); + nasm_nonfatal("group `%s' contains undefined segment" + " `%s'", grp->name, grp->segs[i].name); nasm_free(grp->segs[i].name); grp->segs[i].name = NULL; } @@ -2362,7 +2336,7 @@ static void obj_write_file(void) } } if (!seg) - nasm_error(ERR_NONFATAL, "entry point is not in this module"); + nasm_nonfatal("entry point is not in this module"); } /* @@ -2528,8 +2502,8 @@ static void dbgbi_linnum(const char *lnfname, int32_t lineno, int32_t segto) */ if (!any_segs) { int tempint; /* ignored */ - if (segto != obj_segment("__NASMDEFSEG", 2, &tempint)) - nasm_panic(0, "strange segment conditions in OBJ driver"); + if (segto != obj_segment("__NASMDEFSEG", &tempint)) + nasm_panic("strange segment conditions in OBJ driver"); } /* @@ -2539,7 +2513,7 @@ static void dbgbi_linnum(const char *lnfname, int32_t lineno, int32_t segto) if (seg->index == segto) break; if (!seg) - nasm_panic(0, "lineno directed to nonexistent segment?"); + nasm_panic("lineno directed to nonexistent segment?"); /* for (fn = fnhead; fn; fn = fnhead->next) */ for (fn = fnhead; fn; fn = fn->next) /* fbk - Austin Lunnen - John Fine */ diff --git a/output/outrdf2.c b/output/outrdf2.c index 9af827cb..c649a5a6 100644 --- a/output/outrdf2.c +++ b/output/outrdf2.c @@ -145,14 +145,13 @@ static void rdf2_init(void) segdata = seg_alloc(); segbss = seg_alloc(); if (segtext != 0 || segdata != 2 || segbss != 4) - nasm_panic(0, - "rdf segment numbers not allocated as expected (%d,%d,%d)", - segtext, segdata, segbss); + nasm_panic("rdf segment numbers not allocated as expected (%d,%d,%d)", + segtext, segdata, segbss); bsslength = 0; headerlength = 0; } -static int32_t rdf2_section_names(char *name, int pass, int *bits) +static int32_t rdf2_section_names(char *name, int *bits) { int i; bool err; @@ -160,8 +159,6 @@ static int32_t rdf2_section_names(char *name, int pass, int *bits) int code = -1; int reserved = 0; - (void)pass; - /* * Default is 32 bits, in the text segment. */ @@ -227,7 +224,7 @@ static int32_t rdf2_section_names(char *name, int pass, int *bits) code = 3; } if (nsegments == RDF_MAXSEGS) { - nasm_fatal(0, "reached compiled-in maximum segment limit (%d)", + nasm_fatal("reached compiled-in maximum segment limit (%d)", RDF_MAXSEGS); return NO_SEG; } @@ -235,7 +232,7 @@ static int32_t rdf2_section_names(char *name, int pass, int *bits) segments[nsegments].segname = nasm_strdup(name); i = seg_alloc(); if (i % 2 != 0) - nasm_panic(0, "seg_alloc() returned odd number"); + nasm_panic("seg_alloc() returned odd number"); segments[nsegments].segnumber = i >> 1; segments[nsegments].segtype = code; segments[nsegments].segreserved = reserved; @@ -497,7 +494,7 @@ static void membufwrite(int segment, const void *data, int bytes) break; } if (i == nsegments) - nasm_panic(0, "can't find segment %d", segment); + nasm_panic("can't find segment %d", segment); if (bytes < 0) { b = buf; @@ -520,7 +517,7 @@ static int getsegmentlength(int segment) break; } if (i == nsegments) - nasm_panic(0, "can't find segment %d", segment); + nasm_panic("can't find segment %d", segment); return segments[i].seglength; } @@ -533,13 +530,6 @@ static void rdf2_out(int32_t segto, const void *data, uint8_t databuf[8], *pd; int seg; - if (segto == NO_SEG) { - if (type != OUT_RESERVE) - nasm_error(ERR_NONFATAL, - "attempt to assemble code in ABSOLUTE space"); - return; - } - segto >>= 1; /* convert NASM segment no to RDF number */ for (seg = 0; seg < nsegments; seg++) { @@ -576,9 +566,6 @@ static void rdf2_out(int32_t segto, const void *data, while (size--) membufwrite(segto, databuf, 1); } else if (type == OUT_RAWDATA) { - if (segment != NO_SEG) - nasm_panic(0, "OUT_RAWDATA with other than NO_SEG"); - membufwrite(segto, data, size); } else if (type == OUT_ADDRESS) { int asize = abs((int)size); @@ -606,7 +593,7 @@ static void rdf2_out(int32_t segto, const void *data, membufwrite(segto, databuf, asize); } else if (type == OUT_REL2ADR) { if (segment == segto) - nasm_panic(0, "intra-segment OUT_REL2ADR"); + nasm_panic("intra-segment OUT_REL2ADR"); rr.reclen = 8; rr.offset = getsegmentlength(segto); /* current offset */ @@ -638,9 +625,9 @@ static void rdf2_out(int32_t segto, const void *data, membufwrite(segto, &rr.offset, -2); } else if (type == OUT_REL4ADR) { if ((segment == segto) && (globalbits != 64)) - nasm_panic(0, "intra-segment OUT_REL4ADR"); + nasm_panic("intra-segment OUT_REL4ADR"); if (segment != NO_SEG && segment % 2) { - nasm_panic(0, "erm... 4 byte segment base ref?"); + nasm_panic("erm... 4 byte segment base ref?"); } rr.type = RDFREC_RELOC; /* type signature */ @@ -712,16 +699,11 @@ static void rdf2_cleanup(void) fwriteint16_t(0, ofile); } -static int32_t rdf2_segbase(int32_t segment) -{ - return segment; -} - /* * Handle RDOFF2 specific directives */ static enum directive_result -rdf2_directive(enum directive directive, char *value, int pass) +rdf2_directive(enum directive directive, char *value) { size_t n; @@ -732,7 +714,7 @@ rdf2_directive(enum directive directive, char *value, int pass) nasm_error(ERR_NONFATAL, "name size exceeds %d bytes", MODLIB_NAME_MAX); return DIRR_ERROR; } - if (pass == 1) { + if (pass_first()) { /* XXX */ struct DLLRec r; r.type = RDFREC_DLL; r.reclen = n + 1; @@ -746,7 +728,7 @@ rdf2_directive(enum directive directive, char *value, int pass) nasm_error(ERR_NONFATAL, "name size exceeds %d bytes", MODLIB_NAME_MAX); return DIRR_ERROR; } - if (pass == 1) { + if (pass_first()) { /* XXX */ struct ModRec r; r.type = RDFREC_MODNAME; r.reclen = n + 1; @@ -779,7 +761,7 @@ const struct ofmt of_rdf2 = { rdf2_section_names, NULL, null_sectalign, - rdf2_segbase, + null_segbase, rdf2_directive, rdf2_cleanup, NULL /* pragma list */ diff --git a/output/stabs.h b/output/stabs.h index 57f15cf2..d40a5724 100644 --- a/output/stabs.h +++ b/output/stabs.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2010 The NASM Authors - All Rights Reserved + * Copyright 1996-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -42,103 +42,109 @@ /* offsets */ enum stab_offsets { - STAB_strdxoff = 0, - STAB_typeoff = 4, - STAB_otheroff = 5, - STAB_descoff = 6, - STAB_valoff = 8, - STAB_stabsize = 12 + STAB_strdxoff = 0, + STAB_typeoff = 4, + STAB_otheroff = 5, + STAB_descoff = 6, + STAB_valoff = 8, + STAB_stabsize = 12 }; /* stab/non-stab types */ enum stab_types { - N_UNDF = 0x00, - N_ABS = 0x02, - N_ABS_EXT = 0x03, - N_TEXT = 0x04, - N_TEXT_EXT = 0x05, - N_DATA = 0x06, - N_DATA_EXT = 0x07, - N_BSS = 0x08, - N_BSS_EXT = 0x09, - N_FN_SEQ = 0x0c, - N_INDR = 0x0a, - N_COMM = 0x12, - N_SETA = 0x14, - N_SETA_EXT = 0x15, - N_SETT = 0x16, - N_SETT_EXT = 0x17, - N_SETD = 0x18, - N_SETD_EXT = 0x19, - N_SETB = 0x1a, - N_SETB_EXT = 0x1b, - N_SETV = 0x1c, - N_SETV_EXT = 0x1d, - N_WARNING = 0x1e, - N_FN = 0x1f, - N_GSYM = 0x20, - N_FNAME = 0x22, - N_FUN = 0x24, - N_STSYM = 0x26, - N_LCSYM = 0x28, - N_MAIN = 0x2a, - N_ROSYM = 0x2c, - N_BNSYM = 0x2e, - N_PC = 0x30, - N_NSYMS = 0x32, - N_NOMAP = 0x34, - N_OBJ = 0x38, - N_OPT = 0x3c, - N_RSYM = 0x40, - N_M2C = 0x42, - N_SLINE = 0x44, - N_DSLINE = 0x46, - N_BSLINE = 0x48, - N_BROWS = 0x48, - N_DEFD = 0x4a, - N_FLINE = 0x4c, - N_ENSYM = 0x4e, - N_EHDECL = 0x50, - N_MOD2 = 0x50, - N_CATCH = 0x54, - N_SSYM = 0x60, - N_ENDM = 0x62, - N_SO = 0x64, /* ID for main source file */ - N_OSO = 0x66, - N_ALIAS = 0x6c, - N_LSYM = 0x80, - N_BINCL = 0x82, - N_SOL = 0x84, /* ID for sub-source file */ - N_PSYM = 0xa0, - N_EINCL = 0xa2, - N_ENTRY = 0xa4, - N_LBRAC = 0xc0, - N_EXCL = 0xc2, - N_SCOPE = 0xc4, - N_PATCH = 0xd0, - N_RBRAC = 0xe0, - N_BCOMM = 0xe2, - N_ECOMM = 0xe4, - N_ECOML = 0xe8, - N_WITH = 0xea, - N_NBTEXT = 0xf0, - N_NBDATA = 0xf2, - N_NBBSS = 0xf4, - N_NBSTS = 0xf6, - N_NBLCS = 0xf8, - N_LENG = 0xfe + N_UNDF = 0x00, /* Undefined symbol */ + N_EXT = 0x01, /* External symbol */ + N_ABS = 0x02, /* Absolute symbol */ + N_ABS_EXT = 0x03, /* Absolute external symbol */ + N_TEXT = 0x04, /* Symbol in text segment */ + N_TEXT_EXT = 0x05, /* Symbol in external text segment */ + N_DATA = 0x06, + N_DATA_EXT = 0x07, + N_BSS = 0x08, + N_BSS_EXT = 0x09, + N_INDR = 0x0a, + N_FN_SEQ = 0x0c, /* N_FN from Sequent compilers */ + N_WEAKU = 0x0d, /* Weak undefined symbol */ + N_WEAKA = 0x0e, /* Weak absolute symbl */ + N_WEAKT = 0x0f, /* Weak text symbol */ + N_WEAKD = 0x10, /* Weak data symbol */ + N_WEAKB = 0x11, /* Weak bss symbol */ + N_COMM = 0x12, /* Common symbol */ + N_SETA = 0x14, /* Absolute set element symbol */ + N_SETA_EXT = 0x15, + N_SETT = 0x16, /* Text set element symbol */ + N_SETT_EXT = 0x17, + N_SETD = 0x18, /* Data set element symbol */ + N_SETD_EXT = 0x19, + N_SETB = 0x1a, /* BSS set element symbol */ + N_SETB_EXT = 0x1b, + N_SETV = 0x1c, /* Pointer to set vector in data area */ + N_SETV_EXT = 0x1d, + N_WARNING = 0x1e, /* Warning symbol */ + N_FN = 0x1f, /* Filename of .o file */ + N_GSYM = 0x20, /* Global variable */ + N_FNAME = 0x22, /* Function name for BSD Fortran */ + N_FUN = 0x24, /* Function name or text segment variable for C */ + N_STSYM = 0x26, /* Data-segment variable with internal linkage */ + N_LCSYM = 0x28, /* BSS-segment variable with internal linkage */ + N_MAIN = 0x2a, /* Name of main routine */ + N_ROSYM = 0x2c, /* Read-only data symbols */ + N_BNSYM = 0x2e, /* The beginning of a relocatable function block */ + N_PC = 0x30, /* Global symbol in Pascal */ + N_NSYMS = 0x32, /* Number of symbols */ + N_NOMAP = 0x34, /* No DST map for sym */ + N_OBJ = 0x38, /* Like N_SO, but for the object file */ + N_OPT = 0x3c, /* Options for the debugger */ + N_RSYM = 0x40, /* Register variable */ + N_M2C = 0x42, /* Modula-2 compilation unit */ + N_SLINE = 0x44, /* Line number in text segment */ + N_DSLINE = 0x46, /* Line number in data segment */ + N_BSLINE = 0x48, /* Line number in bss segment */ + N_BROWS = 0x48, /* Sun's source-code browser stabs */ + N_DEFD = 0x4a, /* GNU Modula-2 definition module dependency */ + N_FLINE = 0x4c, /* Function start/body/end line numbers */ + N_ENSYM = 0x4e, /* This tells the end of a relocatable function */ + N_EHDECL = 0x50, /* GNU C++ exception variable */ + N_MOD2 = 0x50, /* Modula2 info "for imc" */ + N_CATCH = 0x54, /* GNU C++ `catch' clause */ + N_SSYM = 0x60, /* Structure or union element */ + N_ENDM = 0x62, /* Last stab emitted for module */ + N_SO = 0x64, /* ID for main source file */ + N_OSO = 0x66, /* Apple: This is the stab that associated the .o file */ + N_ALIAS = 0x6c, /* SunPro F77: Name of alias */ + N_LSYM = 0x80, /* Automatic variable in the stack */ + N_BINCL = 0x82, /* Beginning of an include file */ + N_SOL = 0x84, /* ID for sub-source file */ + N_PSYM = 0xa0, /* Parameter variable */ + N_EINCL = 0xa2, /* End of an include file */ + N_ENTRY = 0xa4, /* Alternate entry point */ + N_LBRAC = 0xc0, /* Beginning of lexical block */ + N_EXCL = 0xc2, /* Place holder for deleted include file */ + N_SCOPE = 0xc4, /* Modula-2 scope information */ + N_PATCH = 0xd0, /* Solaris2: Patch Run Time Checker */ + N_RBRAC = 0xe0, /* End of a lexical block */ + N_BCOMM = 0xe2, /* Begin named common block */ + N_ECOMM = 0xe4, /* End named common block */ + N_ECOML = 0xe8, /* Member of a common block */ + N_WITH = 0xea, /* Solaris2: Pascal "with" statement */ + N_NBTEXT = 0xf0, + N_NBDATA = 0xf2, + N_NBBSS = 0xf4, + N_NBSTS = 0xf6, + N_NBLCS = 0xf8, + N_LENG = 0xfe /* Second symbol entry whih a length-value for the preceding entry */ }; enum stab_source_file { - N_SO_AS = 0x01, - N_SO_C = 0x02, - N_SO_ANSI_C = 0x03, - N_SO_CC = 0x04, - N_SO_FORTRAN = 0x05, - N_SO_PASCAL = 0x06, - N_SO_FORTRAN90 = 0x07, - N_SO_OBJC = 0x32, - N_SO_OBJCPLUS = 0x33 + N_SO_AS = 0x01, + N_SO_C = 0x02, + N_SO_ANSI_C = 0x03, + N_SO_CC = 0x04, + N_SO_FORTRAN = 0x05, + N_SO_PASCAL = 0x06, + N_SO_FORTRAN90 = 0x07, + N_SO_OBJC = 0x32, + N_SO_OBJCPLUS = 0x33 }; #endif /* STABS_H_ */ diff --git a/output/strtbl.c b/output/strtbl.c deleted file mode 100644 index 23b0d118..00000000 --- a/output/strtbl.c +++ /dev/null @@ -1,117 +0,0 @@ -/* ----------------------------------------------------------------------- * - * - * Copyright 2017 The NASM Authors - All Rights Reserved - * See the file AUTHORS included with the NASM distribution for - * the specific copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following - * conditions are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * ----------------------------------------------------------------------- */ - -/* - * Common string table handling - * - * A number of output formats use a "string table"; a container for - * a number of strings which may be reused at will. This implements - * a string table which eliminates duplicates and returns the index - * into the string table when queried. - */ - -#include "compiler.h" - -#include "nasm.h" -#include "nasmlib.h" -#include "error.h" -#include "strtbl.h" - -struct strtbl_entry { - size_t index; - size_t bytes; - char str[1]; -}; - -void strtbl_init(struct nasm_strtbl *tbl) -{ - tbl->size = 0; - hash_init(&tbl->hash, HASH_LARGE); - strtbl_add(tbl, ""); /* Index 0 is always an empty string */ -} - -void strtbl_free(struct nasm_strtbl *tbl) -{ - hash_free_all(&tbl->hash, false); -} - -size_t strtbl_add(struct nasm_strtbl *tbl, const char *str) -{ - void **sep; - struct strtbl_entry *se; - struct hash_insert hi; - - sep = hash_find(&tbl->hash, str, &hi); - if (sep) { - se = *sep; - } else { - size_t bytes = strlen(str) + 1; - - se = nasm_malloc(sizeof(struct strtbl_entry)-1+bytes); - se->index = tbl->size; - tbl->size += bytes; - se->bytes = bytes; - memcpy(se->str, str, bytes); - - hash_add(&hi, se->str, se); - } - - return se->index; -} - -size_t strtbl_find(struct nasm_strtbl *tbl, const char *str) -{ - void **sep; - struct strtbl_entry *se; - - sep = hash_find(&tbl->hash, str, NULL); - if (sep) { - se = *sep; - return se->index; - } else { - return STRTBL_NONE; - } -} - -/* This create a linearized buffer containing the actual string table */ -void *strtbl_generate(const struct nasm_strtbl *tbl) -{ - char *buf = nasm_malloc(strtbl_size(tbl)); - struct hash_tbl_node *iter = NULL; - struct strtbl_entry *se; - - while ((se = hash_iterate(&tbl->hash, &iter, NULL))) - memcpy(buf + se->index, se->str, se->bytes); - - return buf; -} diff --git a/rdoff/rdflib.c b/rdoff/rdflib.c index b85b383f..8dbff4af 100644 --- a/rdoff/rdflib.c +++ b/rdoff/rdflib.c @@ -374,7 +374,7 @@ int main(int argc, char **argv) /* check against desired name */ if (!strcmp(buf, argv[3])) { if (fread(p = rdbuf, 1, sizeof(rdbuf), fptmp) < 10) { - nasm_fatal(0, "short read on input"); + nasm_fatal("short read on input"); } l = *(int32_t *)(p + 6); fseek(fptmp, l, SEEK_CUR); diff --git a/rdoff/rdoff.c b/rdoff/rdoff.c index 77fec399..e77c88ef 100644 --- a/rdoff/rdoff.c +++ b/rdoff/rdoff.c @@ -229,7 +229,7 @@ int rdf_errno = 0; /* ======================================================================== * Hook for nasm_error() to work * ======================================================================== */ -static void rdoff_verror(int severity, const char *fmt, va_list val) +static void rdoff_verror(errflags severity, const char *fmt, va_list val) { vfprintf(stderr, fmt, val); diff --git a/stdlib/vsnprintf.c b/stdlib/vsnprintf.c index 5a600fc7..ea83921c 100644 --- a/stdlib/vsnprintf.c +++ b/stdlib/vsnprintf.c @@ -26,15 +26,14 @@ int vsnprintf(char *str, size_t size, const char *format, va_list ap) int rv, bytes; if (size > BUFFER_SIZE) { - nasm_panic(ERR_NOFILE, - "vsnprintf: size (%d) > BUFFER_SIZE (%d)", + nasm_panic("vsnprintf: size (%d) > BUFFER_SIZE (%d)", size, BUFFER_SIZE); size = BUFFER_SIZE; } rv = vsprintf(snprintf_buffer, format, ap); if (rv >= BUFFER_SIZE) - nasm_panic(ERR_NOFILE, "vsnprintf buffer overflow"); + nasm_panic("vsnprintf buffer overflow"); if (size > 0) { if ((size_t)rv < size-1) diff --git a/travis/README.md b/travis/README.md new file mode 100644 index 00000000..d5aee054 --- /dev/null +++ b/travis/README.md @@ -0,0 +1,104 @@ +Testing NASM +============ +We use [Travis CI](https://travis-ci.org/) service to execute NASM tests, +which basically prepares the environment and runs our `nasm-t.py` script. + +The script scans a testing directory for `*.json` test descriptor files +and runs test by descriptor content. + +Test engine +----------- +`nasm-t.py` script is a simple test engine written by Python3 language +which allows either execute a single test or run them all in a sequence. + +A typical test case processed by the following steps: + + - a test descriptor get parsed to figure out which arguments + are to be provided into the NASM command line; + - invoke the NASM with arguments; + - compare generated files with precompiled templates. + +`nasm-t.py` supports the following commands: + + - `list`: to list all test cases + - `run`: to run test cases + - `update`: to update precompiled templates + +Use `nasm-t.py -h` command to get the detailed description of every option. + +Test descriptor file +-------------------- +A descriptor file should provide enough information how to run the NASM +itself and which output files or streams to compare with predefined ones. +We use `JSON` format with the following fields: + + - `description`: a short description of a test which is shown to + a user when tests are listed; + - `id`: descriptor internal name to use with `ref` field; + - `ref`: a reference to `id` from where settings should be + copied, it is convenient when say only `option` is different + while the rest of the fields are the same; + - `format`: NASM output format to use (`bin`,`elf` and etc); + - `source`: is a source file name to compile, this file must + be shipped together with descriptor file itself; + - `option`: an additional option passed to the command line; + - `update`: a trigger to skip updating targets when running + an update procedure; + - `target`: an array of targets which the test engine should + check once compilation finished: + - `stderr`: a file containing *stderr* stream output to check; + - `stdout`: a file containing *stdout* stream output to check; + - `output`: a file containing compiled result to check, in other + words it is a name passed as `-o` option to the compiler. + +Examples +-------- + +A simple test where no additional options are used, simply compile +`absolute.asm` file with `bin` format for output, then compare +produced `absolute.bin` file with precompiled `absolute.bin.dest`. + +```json +{ + "description": "Check absolute addressing", + "format": "bin", + "source": "absolute.asm", + "target": [ + { "output": "absolute.bin" } + ] +} +``` + +A slightly complex example: compile one source file with different optimization +options and all results must be the same. To not write three descriptors +we assign `id` to the first one and use `ref` term to copy settings. +Also, it is expected that `stderr` stream will not be empty but carry some +warnings to compare. + +```json +[ + { + "description": "Check 64-bit addressing (-Ox)", + "id": "addr64x", + "format": "bin", + "source": "addr64x.asm", + "option": "-Ox", + "target": [ + { "output": "addr64x.bin" }, + { "stderr": "addr64x.stderr" } + ] + }, + { + "description": "Check 64-bit addressing (-O1)", + "ref": "addr64x", + "option": "-O1", + "update": "false" + }, + { + "description": "Check 64-bit addressing (-O0)", + "ref": "addr64x", + "option": "-O0", + "update": "false" + } +] +``` diff --git a/travis/nasm-t.py b/travis/nasm-t.py new file mode 100755 index 00000000..8a2ddb49 --- /dev/null +++ b/travis/nasm-t.py @@ -0,0 +1,428 @@ +#!/usr/bin/python3 + +import subprocess +import argparse +import difflib +import filecmp +import fnmatch +import json +import sys +import re +import os + +fmtr_class = argparse.ArgumentDefaultsHelpFormatter +parser = argparse.ArgumentParser(prog = 'nasm-t.py', + formatter_class=fmtr_class) + +parser.add_argument('-d', '--directory', + dest = 'dir', default = './travis/test', + help = 'Directory with tests') + +parser.add_argument('--nasm', + dest = 'nasm', default = './nasm', + help = 'Nasm executable to use') + +parser.add_argument('--hexdump', + dest = 'hexdump', default = '/usr/bin/hexdump', + help = 'Hexdump executable to use') + +sp = parser.add_subparsers(dest = 'cmd') +for cmd in ['run']: + spp = sp.add_parser(cmd, help = 'Run test cases') + spp.add_argument('-t', '--test', + dest = 'test', + help = 'Run the selected test only', + required = False) + +for cmd in ['list']: + spp = sp.add_parser(cmd, help = 'List test cases') + +for cmd in ['update']: + spp = sp.add_parser(cmd, help = 'Update test cases with new compiler') + spp.add_argument('-t', '--test', + dest = 'test', + help = 'Update the selected test only', + required = False) + +args = parser.parse_args() + +if args.cmd == None: + parser.print_help() + sys.exit(1) + +def read_stdfile(path): + with open(path, "rb") as f: + data = f.read().decode("utf-8").strip("\n") + f.close() + return data + +# +# Check if descriptor has mandatory fields +def is_valid_desc(desc): + if desc == None: + return False + if 'description' not in desc: + return False + if desc['description'] == "": + return False + return True + +# +# Expand ref/id in descriptors array +def expand_templates(desc_array): + desc_ids = { } + for d in desc_array: + if 'id' in d: + desc_ids[d['id']] = d + for i, d in enumerate(desc_array): + if 'ref' in d and d['ref'] in desc_ids: + ref = desc_ids[d['ref']] + own = d.copy() + desc_array[i] = ref.copy() + for k, v in own.items(): + desc_array[i][k] = v + del desc_array[i]['id'] + return desc_array + +def prepare_desc(desc, basedir, name, path): + if not is_valid_desc(desc): + return False + # + # Put private fields + desc['_base-dir'] = basedir + desc['_json-file'] = name + desc['_json-path'] = path + desc['_test-name'] = basedir + os.sep + name[:-5] + # + # If no target provided never update + if 'target' not in desc: + desc['target'] = [] + desc['update'] = 'false' + # + # Which code to expect when nasm finishes + desc['_wait'] = 0 + if 'error' in desc: + if desc['error'] == 'expected': + desc['_wait'] = 1 + # + # Walk over targets and generate match templates + # if were not provided yet + for d in desc['target']: + if 'output' in d and not 'match' in d: + d['match'] = d['output'] + ".t" + return True + +def read_json(path): + desc = None + try: + with open(path, "rb") as f: + try: + desc = json.loads(f.read().decode("utf-8").strip("\n")) + except: + desc = None + finally: + f.close() + except: + pass + return desc + +def read_desc(basedir, name): + path = basedir + os.sep + name + desc = read_json(path) + desc_array = [] + if type(desc) == dict: + if prepare_desc(desc, basedir, name, path) == True: + desc_array += [desc] + elif type(desc) == list: + expand_templates(desc) + for de in desc: + if prepare_desc(de, basedir, name, path) == True: + desc_array += [de] + return desc_array + +def collect_test_desc_from_file(path): + if not fnmatch.fnmatch(path, '*.json'): + path += '.json' + basedir = os.path.dirname(path) + filename = os.path.basename(path) + return read_desc(basedir, filename) + +def collect_test_desc_from_dir(basedir): + desc_array = [] + if os.path.isdir(basedir): + for filename in os.listdir(basedir): + if os.path.isdir(basedir + os.sep + filename): + desc_array += collect_test_desc_from_dir(basedir + os.sep + filename) + elif fnmatch.fnmatch(filename, '*.json'): + desc = read_desc(basedir, filename) + if desc == None: + continue + desc_array += desc + desc_array.sort(key=lambda x: x['_test-name']) + return desc_array + +if args.cmd == 'list': + fmt_entry = '%-32s %s' + desc_array = collect_test_desc_from_dir(args.dir) + print(fmt_entry % ('Name', 'Description')) + for desc in desc_array: + print(fmt_entry % (desc['_test-name'], desc['description'])) + +def test_abort(test, message): + print("\t%s: %s" % (test, message)) + print("=== Test %s ABORT ===" % (test)) + sys.exit(1) + return False + +def test_fail(test, message): + print("\t%s: %s" % (test, message)) + print("=== Test %s FAIL ===" % (test)) + return False + +def test_skip(test, message): + print("\t%s: %s" % (test, message)) + print("=== Test %s SKIP ===" % (test)) + return True + +def test_over(test): + print("=== Test %s ERROR OVER ===" % (test)) + return True + +def test_pass(test): + print("=== Test %s PASS ===" % (test)) + return True + +def test_updated(test): + print("=== Test %s UPDATED ===" % (test)) + return True + +def run_hexdump(path): + p = subprocess.Popen([args.hexdump, "-C", path], + stdout = subprocess.PIPE, + close_fds = True) + if p.wait() == 0: + return p + return None + +def show_std(stdname, data): + print("\t--- %s" % (stdname)) + for i in data.split("\n"): + print("\t%s" % i) + print("\t---") + +def cmp_std(from_name, from_data, match_name, match_data): + if from_data != match_data: + print("\t--- %s" % (from_name)) + for i in from_data.split("\n"): + print("\t%s" % i) + print("\t--- %s" % (match_name)) + for i in match_data.split("\n"): + print("\t%s" % i) + + diff = difflib.unified_diff(from_data.split("\n"), match_data.split("\n"), + fromfile = from_name, tofile = match_name) + for i in diff: + print("\t%s" % i.strip("\n")) + print("\t---") + return False + return True + +def show_diff(test, patha, pathb): + pa = run_hexdump(patha) + pb = run_hexdump(pathb) + if pa == None or pb == None: + return test_fail(test, "Can't create dumps") + sa = pa.stdout.read().decode("utf-8").strip("\n") + sb = pb.stdout.read().decode("utf-8").strip("\n") + print("\t--- hexdump %s" % (patha)) + for i in sa.split("\n"): + print("\t%s" % i) + print("\t--- hexdump %s" % (pathb)) + for i in sb.split("\n"): + print("\t%s" % i) + pa.stdout.close() + pb.stdout.close() + + diff = difflib.unified_diff(sa.split("\n"), sb.split("\n"), + fromfile = patha, tofile = pathb) + for i in diff: + print("\t%s" % i.strip("\n")) + print("\t---") + return True + +def prepare_run_opts(desc): + opts = [] + + if 'format' in desc: + opts += ['-f', desc['format']] + if 'option' in desc: + opts += desc['option'].split(" ") + for t in desc['target']: + if 'output' in t: + if 'option' in t: + opts += t['option'].split(" ") + [desc['_base-dir'] + os.sep + t['output']] + else: + opts += ['-o', desc['_base-dir'] + os.sep + t['output']] + if 'stdout' in t or 'stderr' in t: + if 'option' in t: + opts += t['option'].split(" ") + if 'source' in desc: + opts += [desc['_base-dir'] + os.sep + desc['source']] + return opts + +def exec_nasm(desc): + print("\tProcessing %s" % (desc['_test-name'])) + opts = [args.nasm] + prepare_run_opts(desc) + + nasm_env = os.environ.copy() + nasm_env['NASM_TEST_RUN'] = 'y' + + desc_env = desc.get('environ') + if desc_env: + for i in desc_env: + v = i.split('=') + if len(v) == 2: + nasm_env[v[0]] = v[1] + else: + nasm_env[v[0]] = None + + print("\tExecuting %s" % (" ".join(opts))) + pnasm = subprocess.Popen(opts, + stdout = subprocess.PIPE, + stderr = subprocess.PIPE, + close_fds = True, + env = nasm_env) + if pnasm == None: + test_fail(desc['_test-name'], "Unable to execute test") + return None + + stderr = pnasm.stderr.read(4194304).decode("utf-8").strip("\n") + stdout = pnasm.stdout.read(4194304).decode("utf-8").strip("\n") + + pnasm.stdout.close() + pnasm.stderr.close() + + wait_rc = pnasm.wait(); + + if desc['_wait'] != wait_rc: + if stdout != "": + show_std("stdout", stdout) + if stderr != "": + show_std("stderr", stderr) + test_fail(desc['_test-name'], + "Unexpected ret code: " + str(wait_rc)) + return None, None, None + return pnasm, stdout, stderr + +def test_run(desc): + print("=== Running %s ===" % (desc['_test-name'])) + + pnasm, stdout, stderr = exec_nasm(desc) + if pnasm == None: + return False + + for t in desc['target']: + if 'output' in t: + output = desc['_base-dir'] + os.sep + t['output'] + match = desc['_base-dir'] + os.sep + t['match'] + if desc['_wait'] == 1: + continue + print("\tComparing %s %s" % (output, match)) + if filecmp.cmp(match, output) == False: + show_diff(desc['_test-name'], match, output) + return test_fail(desc['_test-name'], match + " and " + output + " files are different") + elif 'stdout' in t: + print("\tComparing stdout") + match = desc['_base-dir'] + os.sep + t['stdout'] + match_data = read_stdfile(match) + if match_data == None: + return test_fail(test, "Can't read " + match) + if cmp_std(match, match_data, 'stdout', stdout) == False: + return test_fail(desc['_test-name'], "Stdout mismatch") + else: + stdout = "" + elif 'stderr' in t: + print("\tComparing stderr") + match = desc['_base-dir'] + os.sep + t['stderr'] + match_data = read_stdfile(match) + if match_data == None: + return test_fail(test, "Can't read " + match) + if cmp_std(match, match_data, 'stderr', stderr) == False: + return test_fail(desc['_test-name'], "Stderr mismatch") + else: + stderr = "" + + if stdout != "": + show_std("stdout", stdout) + return test_fail(desc['_test-name'], "Stdout is not empty") + + if stderr != "": + show_std("stderr", stderr) + return test_fail(desc['_test-name'], "Stderr is not empty") + + return test_pass(desc['_test-name']) + +# +# Compile sources and generate new targets +def test_update(desc): + print("=== Updating %s ===" % (desc['_test-name'])) + + if 'update' in desc and desc['update'] == 'false': + return test_skip(desc['_test-name'], "No output provided") + + pnasm, stdout, stderr = exec_nasm(desc) + if pnasm == None: + return False + + for t in desc['target']: + if 'output' in t: + output = desc['_base-dir'] + os.sep + t['output'] + match = desc['_base-dir'] + os.sep + t['match'] + print("\tMoving %s to %s" % (output, match)) + os.rename(output, match) + if 'stdout' in t: + match = desc['_base-dir'] + os.sep + t['stdout'] + print("\tMoving %s to %s" % ('stdout', match)) + with open(match, "wb") as f: + f.write(stdout.encode("utf-8")) + f.close() + if 'stderr' in t: + match = desc['_base-dir'] + os.sep + t['stderr'] + print("\tMoving %s to %s" % ('stderr', match)) + with open(match, "wb") as f: + f.write(stderr.encode("utf-8")) + f.close() + + return test_updated(desc['_test-name']) + +if args.cmd == 'run': + desc_array = [] + if args.test == None: + desc_array = collect_test_desc_from_dir(args.dir) + else: + desc_array = collect_test_desc_from_file(args.test) + if len(desc_array) == 0: + test_abort(args.test, "Can't obtain test descriptors") + + for desc in desc_array: + if test_run(desc) == False: + if 'error' in desc and desc['error'] == 'over': + test_over(desc['_test-name']) + else: + test_abort(desc['_test-name'], "Error detected") + +if args.cmd == 'update': + desc_array = [] + if args.test == None: + desc_array = collect_test_desc_from_dir(args.dir) + else: + desc_array = collect_test_desc_from_file(args.test) + if len(desc_array) == 0: + test_abort(args.test, "Can't obtain a test descriptors") + + for desc in desc_array: + if test_update(desc) == False: + if 'error' in desc and desc['error'] == 'over': + test_over(desc['_test-name']) + else: + test_abort(desc['_test-name'], "Error detected") diff --git a/travis/t.json b/travis/t.json new file mode 100644 index 00000000..53dc650e --- /dev/null +++ b/travis/t.json @@ -0,0 +1,17 @@ +[ + { + "description": "", + "id": "", + "format": "", + "source": "", + "option": "", + "target": [ + { "output": "" } + ] + }, + { + "description": "", + "ref": "", + "option": "" + } +] diff --git a/travis/test/_file_.asm b/travis/test/_file_.asm new file mode 100644 index 00000000..e349e2c3 --- /dev/null +++ b/travis/test/_file_.asm @@ -0,0 +1,4 @@ + db __FILE__, `\r\n` + db __FILE__, `\r\n` + dw __LINE__ + dw __LINE__ diff --git a/travis/test/_file_.bin.t b/travis/test/_file_.bin.t Binary files differnew file mode 100644 index 00000000..2ba4aa2d --- /dev/null +++ b/travis/test/_file_.bin.t diff --git a/travis/test/_file_.json b/travis/test/_file_.json new file mode 100644 index 00000000..cf168220 --- /dev/null +++ b/travis/test/_file_.json @@ -0,0 +1,8 @@ +{ + "description": "Check the __FILE__ preprocessor directive", + "format": "bin", + "source": "_file_.asm", + "target": [ + { "output": "_file_.bin" } + ] +} diff --git a/travis/test/_version.json b/travis/test/_version.json new file mode 100644 index 00000000..f84a8c8a --- /dev/null +++ b/travis/test/_version.json @@ -0,0 +1,7 @@ +{ + "description": "Check the NASM version", + "target": [ + { "option": "-v", "stdout": "_version.stdout" } + ], + "error": "over" +} diff --git a/travis/test/_version.stdout b/travis/test/_version.stdout new file mode 100644 index 00000000..60f885f2 --- /dev/null +++ b/travis/test/_version.stdout @@ -0,0 +1 @@ +NASM version 2.15rc0 compiled on Nov 3 2018
\ No newline at end of file diff --git a/travis/test/a32offs.asm b/travis/test/a32offs.asm new file mode 100644 index 00000000..82df66c6 --- /dev/null +++ b/travis/test/a32offs.asm @@ -0,0 +1,7 @@ + bits 16 +foo: a32 loop foo +bar: loop bar, ecx + + bits 32 +baz: a16 loop baz +qux: loop qux, cx diff --git a/travis/test/a32offs.bin.t b/travis/test/a32offs.bin.t new file mode 100644 index 00000000..44d38d29 --- /dev/null +++ b/travis/test/a32offs.bin.t @@ -0,0 +1 @@ +gggg
\ No newline at end of file diff --git a/travis/test/a32offs.json b/travis/test/a32offs.json new file mode 100644 index 00000000..cb8ac1f7 --- /dev/null +++ b/travis/test/a32offs.json @@ -0,0 +1,18 @@ +[ + { + "description": "Check a16/a32 address prefix (-Ox)", + "id": "a32offs", + "format": "bin", + "source": "a32offs.asm", + "option": "-Ox", + "target": [ + { "output": "a32offs.bin" } + ] + }, + { + "description": "Check a16/a32 address prefix (-O0)", + "ref": "a32offs", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/absolute.asm b/travis/test/absolute.asm new file mode 100644 index 00000000..38532ec9 --- /dev/null +++ b/travis/test/absolute.asm @@ -0,0 +1,38 @@ + org 7c00h +init_foo: + jmp init_bar + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + +init_bar: + mov [b1],dl + mov [b2],edx + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + nop + ret + + absolute init_bar+7 +b1: resb 1 +b2: resd 6 diff --git a/travis/test/absolute.bin.t b/travis/test/absolute.bin.t new file mode 100644 index 00000000..b132e69c --- /dev/null +++ b/travis/test/absolute.bin.t @@ -0,0 +1 @@ +
|f|
\ No newline at end of file diff --git a/travis/test/absolute.json b/travis/test/absolute.json new file mode 100644 index 00000000..6a6a9468 --- /dev/null +++ b/travis/test/absolute.json @@ -0,0 +1,8 @@ +{ + "description": "Check absolute addressing", + "format": "bin", + "source": "absolute.asm", + "target": [ + { "output": "absolute.bin" } + ] +} diff --git a/travis/test/addr64x.asm b/travis/test/addr64x.asm new file mode 100644 index 00000000..1fbec453 --- /dev/null +++ b/travis/test/addr64x.asm @@ -0,0 +1,15 @@ + bits 64 + mov rdx,[rax] + mov eax,[byte rsp+0x01] + mov eax,[byte rsp-0x01] + mov eax,[byte rsp+0xFF] + mov eax,[byte rsp-0xFF] + mov eax,[rsp+0x08] + mov eax,[rsp-0x01] + mov eax,[rsp+0xFF] + mov eax,[rsp-0xFF] + mov rax,[rsp+56] + mov [rsi],dl + mov byte [rsi],'-' + mov [rsi],al + mov byte [rsi],' ' diff --git a/travis/test/addr64x.bin.t b/travis/test/addr64x.bin.t Binary files differnew file mode 100644 index 00000000..b9166a2d --- /dev/null +++ b/travis/test/addr64x.bin.t diff --git a/travis/test/addr64x.json b/travis/test/addr64x.json new file mode 100644 index 00000000..e642ce66 --- /dev/null +++ b/travis/test/addr64x.json @@ -0,0 +1,25 @@ +[ + { + "description": "Check 64-bit addressing (-Ox)", + "id": "addr64x", + "format": "bin", + "source": "addr64x.asm", + "option": "-Ox", + "target": [ + { "output": "addr64x.bin" }, + { "stderr": "addr64x.stderr" } + ] + }, + { + "description": "Check 64-bit addressing (-O1)", + "ref": "addr64x", + "option": "-O1", + "update": "false" + }, + { + "description": "Check 64-bit addressing (-O0)", + "ref": "addr64x", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/addr64x.stderr b/travis/test/addr64x.stderr new file mode 100644 index 00000000..4c53e22d --- /dev/null +++ b/travis/test/addr64x.stderr @@ -0,0 +1,4 @@ +./travis/test/addr64x.asm:5: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/addr64x.asm:5: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/addr64x.asm:6: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/addr64x.asm:6: warning: byte data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/align13.asm b/travis/test/align13.asm new file mode 100644 index 00000000..556373fc --- /dev/null +++ b/travis/test/align13.asm @@ -0,0 +1,16 @@ +; Test of non-power-of-2 alignment + + bits 32 + + inc eax + inc eax + align 13 + inc eax + inc eax + align 13 + inc eax + inc eax + align 13 + align 13 ;should do nothing + inc eax + inc eax diff --git a/travis/test/align13.json b/travis/test/align13.json new file mode 100644 index 00000000..7375023a --- /dev/null +++ b/travis/test/align13.json @@ -0,0 +1,25 @@ +[ + { + "description": "Test of non-power-of-2 alignment (-Ox)", + "id": "align13", + "format": "bin", + "source": "align13.asm", + "option": "-Ox -o align13.bin", + "target": [ + { "stderr": "align13.stderr" } + ], + "error": "expected" + }, + { + "description": "Test of non-power-of-2 alignment (-O1)", + "ref": "align13", + "option": "-O1 -o align13.bin", + "update": "false" + }, + { + "description": "Test of non-power-of-2 alignment (-O0)", + "ref": "align13", + "option": "-O0 -o align13.bin", + "update": "false" + } +] diff --git a/travis/test/align13.stderr b/travis/test/align13.stderr new file mode 100644 index 00000000..bc2da8c8 --- /dev/null +++ b/travis/test/align13.stderr @@ -0,0 +1,4 @@ +./travis/test/align13.asm:7: error: segment alignment `13' is not power of two +./travis/test/align13.asm:10: error: segment alignment `13' is not power of two +./travis/test/align13.asm:13: error: segment alignment `13' is not power of two +./travis/test/align13.asm:14: error: segment alignment `13' is not power of two
\ No newline at end of file diff --git a/travis/test/align13s.asm b/travis/test/align13s.asm new file mode 100644 index 00000000..82621207 --- /dev/null +++ b/travis/test/align13s.asm @@ -0,0 +1,17 @@ +; Test of non-power-of-2 alignment + +%use smartalign + + bits 32 + + inc eax + inc eax + align 13 + inc eax + inc eax + align 13 + inc eax + inc eax + align 13 + inc eax + inc eax diff --git a/travis/test/align13s.json b/travis/test/align13s.json new file mode 100644 index 00000000..43cf673c --- /dev/null +++ b/travis/test/align13s.json @@ -0,0 +1,25 @@ +[ + { + "description": "Test of non-power-of-2 smart-alignment (-Ox)", + "id": "align13s", + "format": "bin", + "source": "align13s.asm", + "option": "-Ox -o align13s.bin", + "target": [ + { "stderr": "align13s.stderr" } + ], + "error": "expected" + }, + { + "description": "Test of non-power-of-2 smart-alignment (-O1)", + "ref": "align13s", + "option": "-O1 -o align13s.bin", + "update": "false" + }, + { + "description": "Test of non-power-of-2 smart-alignment (-O0)", + "ref": "align13s", + "option": "-O0 -o align13s.bin", + "update": "false" + } +] diff --git a/travis/test/align13s.stderr b/travis/test/align13s.stderr new file mode 100644 index 00000000..fe0337ae --- /dev/null +++ b/travis/test/align13s.stderr @@ -0,0 +1,3 @@ +./travis/test/align13s.asm:9: error: segment alignment `13' is not power of two +./travis/test/align13s.asm:12: error: segment alignment `13' is not power of two +./travis/test/align13s.asm:15: error: segment alignment `13' is not power of two
\ No newline at end of file diff --git a/travis/test/alonesym-obj.asm b/travis/test/alonesym-obj.asm new file mode 100644 index 00000000..6be4d5db --- /dev/null +++ b/travis/test/alonesym-obj.asm @@ -0,0 +1,163 @@ +section DOS32DATA align=16 public use32 FLAT class=DOS32DATA + + global sym0000 + global sym0001 + global sym0002 + global sym0003 + global sym0004 + global sym0005 + global sym0006 + global sym0007 + global sym0008 + global sym0009 + global sym0010 + global sym0011 + global sym0012 + global sym0013 + global sym0014 + global sym0015 + global sym0016 + global sym0017 + global sym0018 + global sym0019 + global sym0020 + global sym0021 + global sym0022 + global sym0023 + global sym0024 + global sym0025 + global sym0026 + global sym0027 + global sym0028 + global sym0029 + global sym0030 + global sym0031 + global sym0032 + global sym0033 + global sym0034 + global sym0035 + global sym0036 + global sym0037 + global sym0038 + global sym0039 + global sym0040 + global sym0041 + global sym0042 + global sym0043 + global sym0044 + global sym0045 + global sym0046 + global sym0047 + global sym0048 + global sym0049 + global sym0050 + global sym0051 + global sym0052 + global sym0053 + global sym0054 + global sym0055 + global sym0056 + global sym0057 + global sym0058 + global sym0059 + global sym0060 + global sym0061 + global sym0062 + global sym0063 + global sym0064 + global sym0065 + global sym0066 + global sym0067 + global sym0068 + global sym0069 + global sym0070 + global sym0071 + global sym0072 + global sym0073 + global sym0074 + global sym0075 + global sym0076 + global sym0077 + global s + + + resb 20000h +sym0000 resd 1 +sym0001 resd 1 +sym0002 resd 1 +sym0003 resd 1 +sym0004 resd 1 +sym0005 resd 1 +sym0006 resd 1 +sym0007 resd 1 +sym0008 resd 1 +sym0009 resd 1 +sym0010 resd 1 +sym0011 resd 1 +sym0012 resd 1 +sym0013 resd 1 +sym0014 resd 1 +sym0015 resd 1 +sym0016 resd 1 +sym0017 resd 1 +sym0018 resd 1 +sym0019 resd 1 +sym0020 resd 1 +sym0021 resd 1 +sym0022 resd 1 +sym0023 resd 1 +sym0024 resd 1 +sym0025 resd 1 +sym0026 resd 1 +sym0027 resd 1 +sym0028 resd 1 +sym0029 resd 1 +sym0030 resd 1 +sym0031 resd 1 +sym0032 resd 1 +sym0033 resd 1 +sym0034 resd 1 +sym0035 resd 1 +sym0036 resd 1 +sym0037 resd 1 +sym0038 resd 1 +sym0039 resd 1 +sym0040 resd 1 +sym0041 resd 1 +sym0042 resd 1 +sym0043 resd 1 +sym0044 resd 1 +sym0045 resd 1 +sym0046 resd 1 +sym0047 resd 1 +sym0048 resd 1 +sym0049 resd 1 +sym0050 resd 1 +sym0051 resd 1 +sym0052 resd 1 +sym0053 resd 1 +sym0054 resd 1 +sym0055 resd 1 +sym0056 resd 1 +sym0057 resd 1 +sym0058 resd 1 +sym0059 resd 1 +sym0060 resd 1 +sym0061 resd 1 +sym0062 resd 1 +sym0063 resd 1 +sym0064 resd 1 +sym0065 resd 1 +sym0066 resd 1 +sym0067 resd 1 +sym0068 resd 1 +sym0069 resd 1 +sym0070 resd 1 +sym0071 resd 1 +sym0072 resd 1 +sym0073 resd 1 +sym0074 resd 1 +sym0075 resd 1 +sym0076 resd 1 +sym0077 resd 1 +s resd 1 diff --git a/travis/test/alonesym-obj.json b/travis/test/alonesym-obj.json new file mode 100644 index 00000000..cdb2ea21 --- /dev/null +++ b/travis/test/alonesym-obj.json @@ -0,0 +1,18 @@ +[ + { + "description": "Check global symbols in OBJ output (-Ox)", + "id": "alonesym-obj", + "format": "obj", + "source": "alonesym-obj.asm", + "option": "-Ox", + "target": [ + { "output": "alonesym-obj.obj" } + ] + }, + { + "description": "Check global symbols in OBJ output (-O0)", + "ref": "alonesym-obj", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/alonesym-obj.obj.t b/travis/test/alonesym-obj.obj.t Binary files differnew file mode 100644 index 00000000..99ec34c4 --- /dev/null +++ b/travis/test/alonesym-obj.obj.t diff --git a/travis/test/andbyte.asm b/travis/test/andbyte.asm new file mode 100644 index 00000000..e017c1dc --- /dev/null +++ b/travis/test/andbyte.asm @@ -0,0 +1,12 @@ + bits 16 + + add sp, byte -0x10 + add sp, -0x10 + adc sp, byte -0x10 + adc sp, -0x10 + and sp, byte -0x10 + and sp, -0x10 + sbb sp, byte -0x10 + sbb sp, -0x10 + sub sp, byte -0x10 + sub sp, -0x10 diff --git a/travis/test/andbyte.bin.t b/travis/test/andbyte.bin.t new file mode 100644 index 00000000..6467d06f --- /dev/null +++ b/travis/test/andbyte.bin.t @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/travis/test/andbyte.json b/travis/test/andbyte.json new file mode 100644 index 00000000..6e02519c --- /dev/null +++ b/travis/test/andbyte.json @@ -0,0 +1,17 @@ +[ + { + "description": "Check byte operations (-Ox)", + "id": "andbyte", + "format": "bin", + "source": "andbyte.asm", + "option": "-Ox", + "target": [ + { "output": "andbyte.bin" } + ] + }, + { + "description": "Check byte operations", + "ref": "andbyte", + "update": false + } +] diff --git a/travis/test/aoutso-o0.o.t b/travis/test/aoutso-o0.o.t Binary files differnew file mode 100644 index 00000000..370c362e --- /dev/null +++ b/travis/test/aoutso-o0.o.t diff --git a/travis/test/aoutso-ox.o.t b/travis/test/aoutso-ox.o.t Binary files differnew file mode 100644 index 00000000..6d899e4e --- /dev/null +++ b/travis/test/aoutso-ox.o.t diff --git a/travis/test/aoutso.asm b/travis/test/aoutso.asm new file mode 100644 index 00000000..b95b66ee --- /dev/null +++ b/travis/test/aoutso.asm @@ -0,0 +1,96 @@ +; test source file for assembling to NetBSD/FreeBSD a.out shared library +; build with: +; nasm -f aoutb aoutso.asm +; ld -Bshareable -o aoutso.so aoutso.o +; test with: +; cc -o aoutso aouttest.c aoutso.so +; ./aoutso + +; This file should test the following: +; [1] Define and export a global text-section symbol +; [2] Define and export a global data-section symbol +; [3] Define and export a global BSS-section symbol +; [4] Define a non-global text-section symbol +; [5] Define a non-global data-section symbol +; [6] Define a non-global BSS-section symbol +; [7] Define a COMMON symbol +; [8] Define a NASM local label +; [9] Reference a NASM local label +; [10] Import an external symbol +; [11] Make a PC-relative call to an external symbol +; [12] Reference a text-section symbol in the text section +; [13] Reference a data-section symbol in the text section +; [14] Reference a BSS-section symbol in the text section +; [15] Reference a text-section symbol in the data section +; [16] Reference a data-section symbol in the data section +; [17] Reference a BSS-section symbol in the data section + + BITS 32 + EXTERN __GLOBAL_OFFSET_TABLE_ + GLOBAL _lrotate:function ; [1] + GLOBAL _greet:function ; [1] + GLOBAL _asmstr:data _asmstr.end-_asmstr ; [2] + GLOBAL _textptr:data 4 ; [2] + GLOBAL _selfptr:data 4 ; [2] + GLOBAL _integer:data 4 ; [3] + EXTERN _printf ; [10] + COMMON _commvar 4 ; [7] + + SECTION .text + +; prototype: long lrotate(long x, int num); +_lrotate: ; [1] + push ebp + mov ebp,esp + mov eax,[ebp+8] + mov ecx,[ebp+12] +.label rol eax,1 ; [4] [8] + loop .label ; [9] [12] + mov esp,ebp + pop ebp + ret + +; prototype: void greet(void); +_greet push ebx ; we'll use EBX for GOT, so save it + call .getgot +.getgot: pop ebx + add ebx,__GLOBAL_OFFSET_TABLE_ + $$ - .getgot wrt ..gotpc + mov eax,[ebx+_integer wrt ..got] ; [14] + mov eax,[eax] + inc eax + mov [ebx+localint wrt ..gotoff],eax ; [14] + mov eax,[ebx+_commvar wrt ..got] + push dword [eax] + mov eax,[ebx+localptr wrt ..gotoff] ; [13] + push dword [eax] + mov eax,[ebx+_integer wrt ..got] ; [1] [14] + push dword [eax] + lea eax,[ebx+_printfstr wrt ..gotoff] + push eax ; [13] + call _printf wrt ..plt ; [11] + add esp,16 + pop ebx + ret + + SECTION .data + +; a string +_asmstr db 'hello, world', 0 ; [2] +.end + +; a string for Printf +_printfstr db "integer==%d, localint==%d, commvar=%d" + db 10, 0 + +; some pointers +localptr dd localint ; [5] [17] +_textptr dd _greet wrt ..sym ; [15] +_selfptr dd _selfptr wrt ..sym ; [16] + + SECTION .bss + +; an integer +_integer resd 1 ; [3] + +; a local integer +localint resd 1 ; [6] diff --git a/travis/test/aoutso.json b/travis/test/aoutso.json new file mode 100644 index 00000000..0f7b3284 --- /dev/null +++ b/travis/test/aoutso.json @@ -0,0 +1,22 @@ +[ + { + "description": "Test NetBSD/FreeBSD a.out format (-Ox)", + "id": "aoutb", + "format": "aoutb", + "source": "aoutso.asm", + "option": "-Ox", + "target": [ + { "output": "aoutso-ox.o" }, + { "stderr": "aoutso.stderr" } + ] + }, + { + "description": "Test NetBSD/FreeBSD a.out format (-O0)", + "ref": "aoutb", + "option": "-O0", + "target": [ + { "output": "aoutso-o0.o" }, + { "stderr": "aoutso.stderr" } + ] + } +] diff --git a/travis/test/aoutso.stderr b/travis/test/aoutso.stderr new file mode 100644 index 00000000..5b135f21 --- /dev/null +++ b/travis/test/aoutso.stderr @@ -0,0 +1 @@ +./travis/test/aoutso.asm:79: warning: label alone on a line without a colon might be in error [-w+orphan-labels]
\ No newline at end of file diff --git a/travis/test/aouttest-o0.o.t b/travis/test/aouttest-o0.o.t Binary files differnew file mode 100644 index 00000000..49132e05 --- /dev/null +++ b/travis/test/aouttest-o0.o.t diff --git a/travis/test/aouttest-ox.o.t b/travis/test/aouttest-ox.o.t Binary files differnew file mode 100644 index 00000000..9b282a04 --- /dev/null +++ b/travis/test/aouttest-ox.o.t diff --git a/travis/test/aouttest.asm b/travis/test/aouttest.asm new file mode 100644 index 00000000..a11824f6 --- /dev/null +++ b/travis/test/aouttest.asm @@ -0,0 +1,83 @@ +; test source file for assembling to a.out +; build with: +; nasm -f aout aouttest.asm +; gcc -o aouttest aouttest.c aouttest.o +; (assuming your gcc is a.out) + +; This file should test the following: +; [1] Define and export a global text-section symbol +; [2] Define and export a global data-section symbol +; [3] Define and export a global BSS-section symbol +; [4] Define a non-global text-section symbol +; [5] Define a non-global data-section symbol +; [6] Define a non-global BSS-section symbol +; [7] Define a COMMON symbol +; [8] Define a NASM local label +; [9] Reference a NASM local label +; [10] Import an external symbol +; [11] Make a PC-relative call to an external symbol +; [12] Reference a text-section symbol in the text section +; [13] Reference a data-section symbol in the text section +; [14] Reference a BSS-section symbol in the text section +; [15] Reference a text-section symbol in the data section +; [16] Reference a data-section symbol in the data section +; [17] Reference a BSS-section symbol in the data section + + BITS 32 + GLOBAL _lrotate ; [1] + GLOBAL _greet ; [1] + GLOBAL _asmstr ; [2] + GLOBAL _textptr ; [2] + GLOBAL _selfptr ; [2] + GLOBAL _integer ; [3] + EXTERN _printf ; [10] + COMMON _commvar 4 ; [7] + + SECTION .text + +; prototype: long lrotate(long x, int num); +_lrotate: ; [1] + push ebp + mov ebp,esp + mov eax,[ebp+8] + mov ecx,[ebp+12] +.label rol eax,1 ; [4] [8] + loop .label ; [9] [12] + mov esp,ebp + pop ebp + ret + +; prototype: void greet(void); +_greet mov eax,[_integer] ; [14] + inc eax + mov [localint],eax ; [14] + push dword [_commvar] + mov eax,[localptr] ; [13] + push dword [eax] + push dword [_integer] ; [1] [14] + push dword _printfstr ; [13] + call _printf ; [11] + add esp,16 + ret + + SECTION .data + +; a string +_asmstr db 'hello, world', 0 ; [2] + +; a string for Printf +_printfstr db "integer==%d, localint==%d, commvar=%d" + db 10, 0 + +; some pointers +localptr dd localint ; [5] [17] +_textptr dd _greet ; [15] +_selfptr dd _selfptr ; [16] + + SECTION .bss + +; an integer +_integer resd 1 ; [3] + +; a local integer +localint resd 1 ; [6] diff --git a/travis/test/aouttest.json b/travis/test/aouttest.json new file mode 100644 index 00000000..1de51e29 --- /dev/null +++ b/travis/test/aouttest.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test aout format (-Ox)", + "id": "aouttest", + "format": "aout", + "source": "aouttest.asm", + "option": "-Ox", + "target": [ + { "output": "aouttest-ox.o" } + ] + }, + { + "description": "Test aout format (-O0)", + "ref": "aouttest", + "option": "-O0", + "target": [ + { "output": "aouttest-o0.o" } + ] + } +] diff --git a/travis/test/avx.asm b/travis/test/avx.asm new file mode 100644 index 00000000..158a11ae --- /dev/null +++ b/travis/test/avx.asm @@ -0,0 +1,43 @@ + bits 64 + blendvpd xmm2,xmm1,xmm0 + + vblendvpd xmm2,xmm1,xmm0,xmm0 + vblendvpd xmm2,xmm1,xmm0 + vblendvpd ymm2,ymm1,ymm0,ymm0 + vblendvpd ymm2,ymm1,ymm0 + + vcvtsi2sd xmm9,xmm10,ecx + vcvtsi2sd xmm9,xmm10,rcx + vcvtsi2sd xmm9,xmm10,dword [rdi] + vcvtsi2sd xmm9,xmm10,qword [rdi] + + vpextrb [rax],xmm1,0x33 + vpextrw [rax],xmm1,0x33 + vpextrd [rax],xmm1,0x33 + vpextrq [rax],xmm1,0x33 + vpextrb rax,xmm1,0x33 + vpextrw rax,xmm1,0x33 + vpextrd rax,xmm1,0x33 + vpextrq rax,xmm1,0x33 + vpextrb eax,xmm1,0x33 + vpextrw eax,xmm1,0x33 + vpextrd eax,xmm1,0x33 +; vpextrq eax,xmm1,0x33 + + vcvtpd2ps xmm0,xmm1 + vcvtpd2ps xmm0,oword [rsi] + vcvtpd2ps xmm0,ymm1 + vcvtpd2ps xmm0,yword [rsi] +; vcvtpd2ps xmm0,[rsi] + + vcvtpd2dq xmm0,xmm1 + vcvtpd2dq xmm0,oword [rsi] + vcvtpd2dq xmm0,ymm1 + vcvtpd2dq xmm0,yword [rsi] +; vcvtpd2dq xmm0,[rsi] + + vcvttpd2dq xmm0,xmm1 + vcvttpd2dq xmm0,oword [rsi] + vcvttpd2dq xmm0,ymm1 + vcvttpd2dq xmm0,yword [rsi] +; vcvttpd2dq xmm0,[rsi] diff --git a/travis/test/avx.bin.t b/travis/test/avx.bin.t Binary files differnew file mode 100644 index 00000000..d24559b0 --- /dev/null +++ b/travis/test/avx.bin.t diff --git a/travis/test/avx.json b/travis/test/avx.json new file mode 100644 index 00000000..b546a891 --- /dev/null +++ b/travis/test/avx.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test AVX instructions (-Ox)", + "id": "avx", + "format": "bin", + "source": "avx.asm", + "option": "-Ox", + "target": [ + { "output": "avx.bin" } + ] + }, + { + "description": "Test AVX instructions (-O0)", + "ref": "avx", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/avx005.asm b/travis/test/avx005.asm new file mode 100644 index 00000000..d79d46f4 --- /dev/null +++ b/travis/test/avx005.asm @@ -0,0 +1,527 @@ +%define regxmm xmm0 +%define regymm ymm0 +%define mem [0] +%define imm 3 + +%macro x 1+.nolist + %1 ; comment this line if RELAXed variants are not supported +%endmacro + + VFMADDSUB132PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMADDSUB132PS regxmm,regxmm,regxmm ; VEX_FMA + VFMADDSUB132PS regymm,regymm,mem ; VEX_FMA,SY + VFMADDSUB132PS regymm,regymm,regymm ; VEX_FMA + +x VFMADDSUB312PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADDSUB312PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADDSUB312PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADDSUB312PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADDSUB132PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMADDSUB132PD regxmm,regxmm,regxmm ; VEX_FMA + VFMADDSUB132PD regymm,regymm,mem ; VEX_FMA,SY + VFMADDSUB132PD regymm,regymm,regymm ; VEX_FMA + +x VFMADDSUB312PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADDSUB312PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADDSUB312PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADDSUB312PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUBADD132PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUBADD132PS regxmm,regxmm,regxmm ; VEX_FMA + VFMSUBADD132PS regymm,regymm,mem ; VEX_FMA,SY + VFMSUBADD132PS regymm,regymm,regymm ; VEX_FMA + +x VFMSUBADD312PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUBADD312PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUBADD312PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUBADD312PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUBADD132PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUBADD132PD regxmm,regxmm,regxmm ; VEX_FMA + VFMSUBADD132PD regymm,regymm,mem ; VEX_FMA,SY + VFMSUBADD132PD regymm,regymm,regymm ; VEX_FMA + +x VFMSUBADD312PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUBADD312PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUBADD312PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUBADD312PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD132PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMADD132PS regxmm,regxmm,regxmm ; VEX_FMA + VFMADD132PS regymm,regymm,mem ; VEX_FMA,SY + VFMADD132PS regymm,regymm,regymm ; VEX_FMA + +x VFMADD312PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADD312PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADD312PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADD312PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD132PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMADD132PD regxmm,regxmm,regxmm ; VEX_FMA + VFMADD132PD regymm,regymm,mem ; VEX_FMA,SY + VFMADD132PD regymm,regymm,regymm ; VEX_FMA + +x VFMADD312PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADD312PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADD312PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADD312PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD132SS regxmm,regxmm,mem ; VEX_FMA,SD + VFMADD132SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFMADD312SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFMADD312SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMADD132SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFMADD132SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFMADD312SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFMADD312SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMSUB132PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUB132PS regxmm,regxmm,regxmm ; VEX_FMA + VFMSUB132PS regymm,regymm,mem ; VEX_FMA,SY + VFMSUB132PS regymm,regymm,regymm ; VEX_FMA + +x VFMSUB312PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUB312PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUB312PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUB312PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUB132PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUB132PD regxmm,regxmm,regxmm ; VEX_FMA + VFMSUB132PD regymm,regymm,mem ; VEX_FMA,SY + VFMSUB132PD regymm,regymm,regymm ; VEX_FMA + +x VFMSUB312PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUB312PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUB312PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUB312PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUB132SS regxmm,regxmm,mem ; VEX_FMA,SD + VFMSUB132SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFMSUB312SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFMSUB312SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMSUB132SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFMSUB132SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFMSUB312SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFMSUB312SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMADD132PS regxmm,regxmm,mem ; VEX_FMA,SO + VFNMADD132PS regxmm,regxmm,regxmm ; VEX_FMA + VFNMADD132PS regymm,regymm,mem ; VEX_FMA,SY + VFNMADD132PS regymm,regymm,regymm ; VEX_FMA + +x VFNMADD312PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMADD312PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMADD312PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMADD312PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMADD132PD regxmm,regxmm,mem ; VEX_FMA,SO + VFNMADD132PD regxmm,regxmm,regxmm ; VEX_FMA + VFNMADD132PD regymm,regymm,mem ; VEX_FMA,SY + VFNMADD132PD regymm,regymm,regymm ; VEX_FMA + +x VFNMADD312PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMADD312PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMADD312PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMADD312PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMADD132SS regxmm,regxmm,mem ; VEX_FMA,SD + VFNMADD132SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMADD312SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFNMADD312SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMADD132SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFNMADD132SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMADD312SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFNMADD312SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMSUB132PS regxmm,regxmm,mem ; VEX_FMA,SO + VFNMSUB132PS regxmm,regxmm,regxmm ; VEX_FMA + VFNMSUB132PS regymm,regymm,mem ; VEX_FMA,SY + VFNMSUB132PS regymm,regymm,regymm ; VEX_FMA + +x VFNMSUB312PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMSUB312PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMSUB312PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMSUB312PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMSUB132PD regxmm,regxmm,mem ; VEX_FMA,SO + VFNMSUB132PD regxmm,regxmm,regxmm ; VEX_FMA + VFNMSUB132PD regymm,regymm,mem ; VEX_FMA,SY + VFNMSUB132PD regymm,regymm,regymm ; VEX_FMA + +x VFNMSUB312PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMSUB312PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMSUB312PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMSUB312PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMSUB132SS regxmm,regxmm,mem ; VEX_FMA,SD + VFNMSUB132SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMSUB312SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFNMSUB312SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMSUB132SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFNMSUB132SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMSUB312SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFNMSUB312SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMADDSUB213PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMADDSUB213PS regxmm,regxmm,regxmm ; VEX_FMA + VFMADDSUB213PS regymm,regymm,mem ; VEX_FMA,SY + VFMADDSUB213PS regymm,regymm,regymm ; VEX_FMA + +x VFMADDSUB123PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADDSUB123PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADDSUB123PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADDSUB123PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADDSUB213PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMADDSUB213PD regxmm,regxmm,regxmm ; VEX_FMA + VFMADDSUB213PD regymm,regymm,mem ; VEX_FMA,SY + VFMADDSUB213PD regymm,regymm,regymm ; VEX_FMA + +x VFMADDSUB123PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADDSUB123PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADDSUB123PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADDSUB123PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUBADD213PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUBADD213PS regxmm,regxmm,regxmm ; VEX_FMA + VFMSUBADD213PS regymm,regymm,mem ; VEX_FMA,SY + VFMSUBADD213PS regymm,regymm,regymm ; VEX_FMA + +x VFMSUBADD123PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUBADD123PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUBADD123PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUBADD123PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUBADD213PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUBADD213PD regxmm,regxmm,regxmm ; VEX_FMA + VFMSUBADD213PD regymm,regymm,mem ; VEX_FMA,SY + VFMSUBADD213PD regymm,regymm,regymm ; VEX_FMA + +x VFMSUBADD123PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUBADD123PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUBADD123PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUBADD123PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD213PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMADD213PS regxmm,regxmm,regxmm ; VEX_FMA + VFMADD213PS regymm,regymm,mem ; VEX_FMA,SY + VFMADD213PS regymm,regymm,regymm ; VEX_FMA + +x VFMADD123PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADD123PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADD123PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADD123PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD213PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMADD213PD regxmm,regxmm,regxmm ; VEX_FMA + VFMADD213PD regymm,regymm,mem ; VEX_FMA,SY + VFMADD213PD regymm,regymm,regymm ; VEX_FMA + +x VFMADD123PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADD123PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADD123PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADD123PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD213SS regxmm,regxmm,mem ; VEX_FMA,SD + VFMADD213SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFMADD123SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFMADD123SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMADD213SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFMADD213SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFMADD123SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFMADD123SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMSUB213PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUB213PS regxmm,regxmm,regxmm ; VEX_FMA + VFMSUB213PS regymm,regymm,mem ; VEX_FMA,SY + VFMSUB213PS regymm,regymm,regymm ; VEX_FMA + +x VFMSUB123PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUB123PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUB123PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUB123PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUB213PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUB213PD regxmm,regxmm,regxmm ; VEX_FMA + VFMSUB213PD regymm,regymm,mem ; VEX_FMA,SY + VFMSUB213PD regymm,regymm,regymm ; VEX_FMA + +x VFMSUB123PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUB123PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUB123PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUB123PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUB213SS regxmm,regxmm,mem ; VEX_FMA,SD + VFMSUB213SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFMSUB123SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFMSUB123SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMSUB213SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFMSUB213SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFMSUB123SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFMSUB123SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMADD213PS regxmm,regxmm,mem ; VEX_FMA,SO + VFNMADD213PS regxmm,regxmm,regxmm ; VEX_FMA + VFNMADD213PS regymm,regymm,mem ; VEX_FMA,SY + VFNMADD213PS regymm,regymm,regymm ; VEX_FMA + +x VFNMADD123PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMADD123PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMADD123PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMADD123PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMADD213PD regxmm,regxmm,mem ; VEX_FMA,SO + VFNMADD213PD regxmm,regxmm,regxmm ; VEX_FMA + VFNMADD213PD regymm,regymm,mem ; VEX_FMA,SY + VFNMADD213PD regymm,regymm,regymm ; VEX_FMA + +x VFNMADD123PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMADD123PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMADD123PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMADD123PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMADD213SS regxmm,regxmm,mem ; VEX_FMA,SD + VFNMADD213SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMADD123SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFNMADD123SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMADD213SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFNMADD213SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMADD123SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFNMADD123SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMSUB213PS regxmm,regxmm,mem ; VEX_FMA,SO + VFNMSUB213PS regxmm,regxmm,regxmm ; VEX_FMA + VFNMSUB213PS regymm,regymm,mem ; VEX_FMA,SY + VFNMSUB213PS regymm,regymm,regymm ; VEX_FMA + +x VFNMSUB123PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMSUB123PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMSUB123PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMSUB123PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMSUB213PD regxmm,regxmm,mem ; VEX_FMA,SO + VFNMSUB213PD regxmm,regxmm,regxmm ; VEX_FMA + VFNMSUB213PD regymm,regymm,mem ; VEX_FMA,SY + VFNMSUB213PD regymm,regymm,regymm ; VEX_FMA + +x VFNMSUB123PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMSUB123PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMSUB123PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMSUB123PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMSUB213SS regxmm,regxmm,mem ; VEX_FMA,SD + VFNMSUB213SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMSUB123SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFNMSUB123SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMSUB213SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFNMSUB213SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMSUB123SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFNMSUB123SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMADDSUB231PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMADDSUB231PS regxmm,regxmm,regxmm ; VEX_FMA + VFMADDSUB231PS regymm,regymm,mem ; VEX_FMA,SY + VFMADDSUB231PS regymm,regymm,regymm ; VEX_FMA + +x VFMADDSUB321PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADDSUB321PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADDSUB321PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADDSUB321PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADDSUB231PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMADDSUB231PD regxmm,regxmm,regxmm ; VEX_FMA + VFMADDSUB231PD regymm,regymm,mem ; VEX_FMA,SY + VFMADDSUB231PD regymm,regymm,regymm ; VEX_FMA + +x VFMADDSUB321PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADDSUB321PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADDSUB321PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADDSUB321PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUBADD231PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUBADD231PS regxmm,regxmm,regxmm ; VEX_FMA + VFMSUBADD231PS regymm,regymm,mem ; VEX_FMA,SY + VFMSUBADD231PS regymm,regymm,regymm ; VEX_FMA + +x VFMSUBADD321PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUBADD321PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUBADD321PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUBADD321PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUBADD231PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUBADD231PD regxmm,regxmm,regxmm ; VEX_FMA + VFMSUBADD231PD regymm,regymm,mem ; VEX_FMA,SY + VFMSUBADD231PD regymm,regymm,regymm ; VEX_FMA + +x VFMSUBADD321PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUBADD321PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUBADD321PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUBADD321PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD231PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMADD231PS regxmm,regxmm,regxmm ; VEX_FMA + VFMADD231PS regymm,regymm,mem ; VEX_FMA,SY + VFMADD231PS regymm,regymm,regymm ; VEX_FMA + +x VFMADD321PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADD321PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADD321PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADD321PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD231PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMADD231PD regxmm,regxmm,regxmm ; VEX_FMA + VFMADD231PD regymm,regymm,mem ; VEX_FMA,SY + VFMADD231PD regymm,regymm,regymm ; VEX_FMA + +x VFMADD321PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMADD321PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMADD321PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMADD321PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMADD231SS regxmm,regxmm,mem ; VEX_FMA,SD + VFMADD231SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFMADD321SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFMADD321SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMADD231SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFMADD231SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFMADD321SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFMADD321SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMSUB231PS regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUB231PS regxmm,regxmm,regxmm ; VEX_FMA + VFMSUB231PS regymm,regymm,mem ; VEX_FMA,SY + VFMSUB231PS regymm,regymm,regymm ; VEX_FMA + +x VFMSUB321PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUB321PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUB321PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUB321PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUB231PD regxmm,regxmm,mem ; VEX_FMA,SO + VFMSUB231PD regxmm,regxmm,regxmm ; VEX_FMA + VFMSUB231PD regymm,regymm,mem ; VEX_FMA,SY + VFMSUB231PD regymm,regymm,regymm ; VEX_FMA + +x VFMSUB321PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFMSUB321PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFMSUB321PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFMSUB321PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFMSUB231SS regxmm,regxmm,mem ; VEX_FMA,SD + VFMSUB231SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFMSUB321SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFMSUB321SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFMSUB231SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFMSUB231SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFMSUB321SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFMSUB321SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMADD231PS regxmm,regxmm,mem ; VEX_FMA,SO + VFNMADD231PS regxmm,regxmm,regxmm ; VEX_FMA + VFNMADD231PS regymm,regymm,mem ; VEX_FMA,SY + VFNMADD231PS regymm,regymm,regymm ; VEX_FMA + +x VFNMADD321PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMADD321PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMADD321PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMADD321PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMADD231PD regxmm,regxmm,mem ; VEX_FMA,SO + VFNMADD231PD regxmm,regxmm,regxmm ; VEX_FMA + VFNMADD231PD regymm,regymm,mem ; VEX_FMA,SY + VFNMADD231PD regymm,regymm,regymm ; VEX_FMA + +x VFNMADD321PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMADD321PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMADD321PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMADD321PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMADD231SS regxmm,regxmm,mem ; VEX_FMA,SD + VFNMADD231SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMADD321SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFNMADD321SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMADD231SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFNMADD231SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMADD321SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFNMADD321SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMSUB231PS regxmm,regxmm,mem ; VEX_FMA,SO + VFNMSUB231PS regxmm,regxmm,regxmm ; VEX_FMA + VFNMSUB231PS regymm,regymm,mem ; VEX_FMA,SY + VFNMSUB231PS regymm,regymm,regymm ; VEX_FMA + +x VFNMSUB321PS regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMSUB321PS regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMSUB321PS regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMSUB321PS regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMSUB231PD regxmm,regxmm,mem ; VEX_FMA,SO + VFNMSUB231PD regxmm,regxmm,regxmm ; VEX_FMA + VFNMSUB231PD regymm,regymm,mem ; VEX_FMA,SY + VFNMSUB231PD regymm,regymm,regymm ; VEX_FMA + +x VFNMSUB321PD regxmm,regxmm,mem ; VEX_FMA,RELAX,SO +x VFNMSUB321PD regxmm,regxmm,regxmm ; VEX_FMA,RELAX +x VFNMSUB321PD regymm,regymm,mem ; VEX_FMA,RELAX,SY +x VFNMSUB321PD regymm,regymm,regymm ; VEX_FMA,RELAX + + VFNMSUB231SS regxmm,regxmm,mem ; VEX_FMA,SD + VFNMSUB231SS regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMSUB321SS regxmm,regxmm,mem ; VEX_FMA,RELAX,SD +x VFNMSUB321SS regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VFNMSUB231SD regxmm,regxmm,mem ; VEX_FMA,SQ + VFNMSUB231SD regxmm,regxmm,regxmm ; VEX_FMA + +x VFNMSUB321SD regxmm,regxmm,mem ; VEX_FMA,RELAX,SQ +x VFNMSUB321SD regxmm,regxmm,regxmm ; VEX_FMA,RELAX + + VPCLMULLQLQDQ regxmm,regxmm,mem ; PCLMUL,VEX_AVX,SO + VPCLMULLQLQDQ regxmm,regxmm,regxmm ; PCLMUL,VEX_AVX + VPCLMULHQLQDQ regxmm,regxmm,mem ; PCLMUL,VEX_AVX,SO + VPCLMULHQLQDQ regxmm,regxmm,regxmm ; PCLMUL,VEX_AVX + VPCLMULLQHQDQ regxmm,regxmm,mem ; PCLMUL,VEX_AVX,SO + VPCLMULLQHQDQ regxmm,regxmm,regxmm ; PCLMUL,VEX_AVX + VPCLMULHQHQDQ regxmm,regxmm,mem ; PCLMUL,VEX_AVX,SO + VPCLMULHQHQDQ regxmm,regxmm,regxmm ; PCLMUL,VEX_AVX + VPCLMULQDQ regxmm,regxmm,mem,imm ; PCLMUL,VEX_AVX,SB3,SO + VPCLMULQDQ regxmm,regxmm,regxmm,imm ; PCLMUL,VEX_AVX,SB3 + +; EOF + + diff --git a/travis/test/avx005.bin.t b/travis/test/avx005.bin.t Binary files differnew file mode 100644 index 00000000..36fdc299 --- /dev/null +++ b/travis/test/avx005.bin.t diff --git a/travis/test/avx005.json b/travis/test/avx005.json new file mode 100644 index 00000000..4d953636 --- /dev/null +++ b/travis/test/avx005.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test relaxed AVX instructions", + "id": "avx005", + "format": "bin", + "source": "avx005.asm", + "option": "-Ox", + "target": [ + { "output": "avx005.bin" } + ] + } +] diff --git a/travis/test/avx512cd.asm b/travis/test/avx512cd.asm new file mode 100644 index 00000000..cb8c39d2 --- /dev/null +++ b/travis/test/avx512cd.asm @@ -0,0 +1,105 @@ +; AVX-512CD testcases from gas +;------------------------ +; +; This file is taken from there +; https://gnu.googlesource.com/binutils/+/master/gas/testsuite/gas/i386/x86-64-avx512cd-intel.d +; So the original author is "H.J. Lu" <hongjiu dot lu at intel dot com> +; +; Jin Kyu Song converted it for the nasm testing suite using gas2nasm.py + +%macro testcase 2 + %ifdef BIN + db %1 + %endif + %ifdef SRC + %2 + %endif +%endmacro + + +bits 64 + +testcase { 0x62, 0x02, 0x7d, 0x48, 0xc4, 0xf5 }, { vpconflictd zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0xc4, 0xf5 }, { vpconflictd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0xc4, 0xf5 }, { vpconflictd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc4, 0x31 }, { vpconflictd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0xc4, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpconflictd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc4, 0x31 }, { vpconflictd zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc4, 0x72, 0x7f }, { vpconflictd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc4, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpconflictd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc4, 0x72, 0x80 }, { vpconflictd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc4, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpconflictd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc4, 0x72, 0x7f }, { vpconflictd zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc4, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpconflictd zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc4, 0x72, 0x80 }, { vpconflictd zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc4, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpconflictd zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0xc4, 0xf5 }, { vpconflictq zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0xc4, 0xf5 }, { vpconflictq zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0xc4, 0xf5 }, { vpconflictq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc4, 0x31 }, { vpconflictq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0xc4, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpconflictq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc4, 0x31 }, { vpconflictq zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc4, 0x72, 0x7f }, { vpconflictq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc4, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpconflictq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc4, 0x72, 0x80 }, { vpconflictq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc4, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpconflictq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc4, 0x72, 0x7f }, { vpconflictq zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc4, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpconflictq zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc4, 0x72, 0x80 }, { vpconflictq zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc4, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpconflictq zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x44, 0xf5 }, { vplzcntd zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x44, 0xf5 }, { vplzcntd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x44, 0xf5 }, { vplzcntd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x44, 0x31 }, { vplzcntd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x44, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vplzcntd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x44, 0x31 }, { vplzcntd zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x44, 0x72, 0x7f }, { vplzcntd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x44, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vplzcntd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x44, 0x72, 0x80 }, { vplzcntd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x44, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vplzcntd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x44, 0x72, 0x7f }, { vplzcntd zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x44, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vplzcntd zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x44, 0x72, 0x80 }, { vplzcntd zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x44, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vplzcntd zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x44, 0xf5 }, { vplzcntq zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x44, 0xf5 }, { vplzcntq zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x44, 0xf5 }, { vplzcntq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x44, 0x31 }, { vplzcntq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x44, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vplzcntq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x44, 0x31 }, { vplzcntq zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x44, 0x72, 0x7f }, { vplzcntq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x44, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vplzcntq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x44, 0x72, 0x80 }, { vplzcntq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x44, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vplzcntq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x44, 0x72, 0x7f }, { vplzcntq zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x44, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vplzcntq zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x44, 0x72, 0x80 }, { vplzcntq zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x44, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vplzcntq zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x92, 0x16, 0x40, 0x27, 0xec }, { vptestnmd k5,zmm29,zmm28 } +testcase { 0x62, 0x92, 0x16, 0x47, 0x27, 0xec }, { vptestnmd k5{k7},zmm29,zmm28 } +testcase { 0x62, 0xf2, 0x16, 0x40, 0x27, 0x29 }, { vptestnmd k5,zmm29,ZWORD [rcx] } +testcase { 0x62, 0xb2, 0x16, 0x40, 0x27, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vptestnmd k5,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf2, 0x16, 0x50, 0x27, 0x29 }, { vptestnmd k5,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf2, 0x16, 0x40, 0x27, 0x6a, 0x7f }, { vptestnmd k5,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf2, 0x16, 0x40, 0x27, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vptestnmd k5,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf2, 0x16, 0x40, 0x27, 0x6a, 0x80 }, { vptestnmd k5,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf2, 0x16, 0x40, 0x27, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vptestnmd k5,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf2, 0x16, 0x50, 0x27, 0x6a, 0x7f }, { vptestnmd k5,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf2, 0x16, 0x50, 0x27, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vptestnmd k5,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf2, 0x16, 0x50, 0x27, 0x6a, 0x80 }, { vptestnmd k5,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf2, 0x16, 0x50, 0x27, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vptestnmd k5,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x92, 0x96, 0x40, 0x27, 0xec }, { vptestnmq k5,zmm29,zmm28 } +testcase { 0x62, 0x92, 0x96, 0x47, 0x27, 0xec }, { vptestnmq k5{k7},zmm29,zmm28 } +testcase { 0x62, 0xf2, 0x96, 0x40, 0x27, 0x29 }, { vptestnmq k5,zmm29,ZWORD [rcx] } +testcase { 0x62, 0xb2, 0x96, 0x40, 0x27, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vptestnmq k5,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf2, 0x96, 0x50, 0x27, 0x29 }, { vptestnmq k5,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf2, 0x96, 0x40, 0x27, 0x6a, 0x7f }, { vptestnmq k5,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf2, 0x96, 0x40, 0x27, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vptestnmq k5,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf2, 0x96, 0x40, 0x27, 0x6a, 0x80 }, { vptestnmq k5,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf2, 0x96, 0x40, 0x27, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vptestnmq k5,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf2, 0x96, 0x50, 0x27, 0x6a, 0x7f }, { vptestnmq k5,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf2, 0x96, 0x50, 0x27, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vptestnmq k5,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf2, 0x96, 0x50, 0x27, 0x6a, 0x80 }, { vptestnmq k5,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf2, 0x96, 0x50, 0x27, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vptestnmq k5,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x3a, 0xf6 }, { vpbroadcastmw2d zmm30,k6 } +testcase { 0x62, 0x62, 0xfe, 0x48, 0x2a, 0xf6 }, { vpbroadcastmb2q zmm30,k6 } diff --git a/travis/test/avx512cd.bin.t b/travis/test/avx512cd.bin.t Binary files differnew file mode 100644 index 00000000..aa4c5426 --- /dev/null +++ b/travis/test/avx512cd.bin.t diff --git a/travis/test/avx512cd.json b/travis/test/avx512cd.json new file mode 100644 index 00000000..28e26588 --- /dev/null +++ b/travis/test/avx512cd.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test AVX512CD instructions", + "id": "avx512cd", + "format": "bin", + "source": "avx512cd.asm", + "option": "-O0 -DSRC", + "target": [ + { "output": "avx512cd.bin" } + ] + } +] diff --git a/travis/test/avx512er.asm b/travis/test/avx512er.asm new file mode 100644 index 00000000..5199ea80 --- /dev/null +++ b/travis/test/avx512er.asm @@ -0,0 +1,143 @@ +; AVX-512ER testcases from gas +;------------------------ +; +; This file is taken from there +; https://gnu.googlesource.com/binutils/+/master/gas/testsuite/gas/i386/x86-64-avx512er-intel.d +; So the original author is "H.J. Lu" <hongjiu dot lu at intel dot com> +; +; Jin Kyu Song converted it for the nasm testing suite using gas2nasm.py + +%macro testcase 2 + %ifdef BIN + db %1 + %endif + %ifdef SRC + %2 + %endif +%endmacro + + +bits 64 + +testcase { 0x62, 0x02, 0x7d, 0x48, 0xc8, 0xf5 }, { vexp2ps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x18, 0xc8, 0xf5 }, { vexp2ps zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc8, 0x31 }, { vexp2ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0xc8, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vexp2ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc8, 0x31 }, { vexp2ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc8, 0x72, 0x7f }, { vexp2ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc8, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vexp2ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc8, 0x72, 0x80 }, { vexp2ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xc8, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vexp2ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc8, 0x72, 0x7f }, { vexp2ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc8, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vexp2ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc8, 0x72, 0x80 }, { vexp2ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xc8, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vexp2ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0xc8, 0xf5 }, { vexp2pd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x18, 0xc8, 0xf5 }, { vexp2pd zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc8, 0x31 }, { vexp2pd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0xc8, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vexp2pd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc8, 0x31 }, { vexp2pd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc8, 0x72, 0x7f }, { vexp2pd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc8, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vexp2pd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc8, 0x72, 0x80 }, { vexp2pd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xc8, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vexp2pd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc8, 0x72, 0x7f }, { vexp2pd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc8, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vexp2pd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc8, 0x72, 0x80 }, { vexp2pd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xc8, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vexp2pd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x48, 0xca, 0xf5 }, { vrcp28ps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0xca, 0xf5 }, { vrcp28ps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0xca, 0xf5 }, { vrcp28ps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x18, 0xca, 0xf5 }, { vrcp28ps zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xca, 0x31 }, { vrcp28ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0xca, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp28ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xca, 0x31 }, { vrcp28ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xca, 0x72, 0x7f }, { vrcp28ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xca, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrcp28ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xca, 0x72, 0x80 }, { vrcp28ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xca, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrcp28ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xca, 0x72, 0x7f }, { vrcp28ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xca, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrcp28ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xca, 0x72, 0x80 }, { vrcp28ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xca, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrcp28ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0xca, 0xf5 }, { vrcp28pd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0xca, 0xf5 }, { vrcp28pd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0xca, 0xf5 }, { vrcp28pd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x18, 0xca, 0xf5 }, { vrcp28pd zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xca, 0x31 }, { vrcp28pd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0xca, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp28pd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xca, 0x31 }, { vrcp28pd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xca, 0x72, 0x7f }, { vrcp28pd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xca, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrcp28pd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xca, 0x72, 0x80 }, { vrcp28pd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xca, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrcp28pd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xca, 0x72, 0x7f }, { vrcp28pd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xca, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrcp28pd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xca, 0x72, 0x80 }, { vrcp28pd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xca, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrcp28pd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x07, 0xcb, 0xf4 }, { vrcp28ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xcb, 0xf4 }, { vrcp28ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xcb, 0xf4 }, { vrcp28ss xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcb, 0x31 }, { vrcp28ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xcb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp28ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcb, 0x72, 0x7f }, { vrcp28ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcb, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrcp28ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcb, 0x72, 0x80 }, { vrcp28ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcb, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrcp28ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x07, 0xcb, 0xf4 }, { vrcp28sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xcb, 0xf4 }, { vrcp28sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xcb, 0xf4 }, { vrcp28sd xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcb, 0x31 }, { vrcp28sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xcb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp28sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcb, 0x72, 0x7f }, { vrcp28sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcb, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrcp28sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcb, 0x72, 0x80 }, { vrcp28sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcb, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrcp28sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x7d, 0x48, 0xcc, 0xf5 }, { vrsqrt28ps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0xcc, 0xf5 }, { vrsqrt28ps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0xcc, 0xf5 }, { vrsqrt28ps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x18, 0xcc, 0xf5 }, { vrsqrt28ps zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xcc, 0x31 }, { vrsqrt28ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0xcc, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt28ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xcc, 0x31 }, { vrsqrt28ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xcc, 0x72, 0x7f }, { vrsqrt28ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xcc, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrsqrt28ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xcc, 0x72, 0x80 }, { vrsqrt28ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0xcc, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrsqrt28ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xcc, 0x72, 0x7f }, { vrsqrt28ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xcc, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrsqrt28ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xcc, 0x72, 0x80 }, { vrsqrt28ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0xcc, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrsqrt28ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0xcc, 0xf5 }, { vrsqrt28pd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0xcc, 0xf5 }, { vrsqrt28pd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0xcc, 0xf5 }, { vrsqrt28pd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x18, 0xcc, 0xf5 }, { vrsqrt28pd zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xcc, 0x31 }, { vrsqrt28pd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0xcc, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt28pd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xcc, 0x31 }, { vrsqrt28pd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xcc, 0x72, 0x7f }, { vrsqrt28pd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xcc, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrsqrt28pd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xcc, 0x72, 0x80 }, { vrsqrt28pd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0xcc, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrsqrt28pd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xcc, 0x72, 0x7f }, { vrsqrt28pd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xcc, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrsqrt28pd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xcc, 0x72, 0x80 }, { vrsqrt28pd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0xcc, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrsqrt28pd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x07, 0xcd, 0xf4 }, { vrsqrt28ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xcd, 0xf4 }, { vrsqrt28ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xcd, 0xf4 }, { vrsqrt28ss xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcd, 0x31 }, { vrsqrt28ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xcd, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt28ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcd, 0x72, 0x7f }, { vrsqrt28ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcd, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrsqrt28ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcd, 0x72, 0x80 }, { vrsqrt28ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xcd, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrsqrt28ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x07, 0xcd, 0xf4 }, { vrsqrt28sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xcd, 0xf4 }, { vrsqrt28sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xcd, 0xf4 }, { vrsqrt28sd xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcd, 0x31 }, { vrsqrt28sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xcd, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt28sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcd, 0x72, 0x7f }, { vrsqrt28sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcd, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrsqrt28sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcd, 0x72, 0x80 }, { vrsqrt28sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xcd, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrsqrt28sd xmm30{k7},xmm29,QWORD [rdx-0x408] } diff --git a/travis/test/avx512er.bin.t b/travis/test/avx512er.bin.t Binary files differnew file mode 100644 index 00000000..704e84fb --- /dev/null +++ b/travis/test/avx512er.bin.t diff --git a/travis/test/avx512er.json b/travis/test/avx512er.json new file mode 100644 index 00000000..010730e5 --- /dev/null +++ b/travis/test/avx512er.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test AVX512ER instructions", + "id": "avx512er", + "format": "bin", + "source": "avx512er.asm", + "option": "-O0 -DSRC", + "target": [ + { "output": "avx512er.bin" } + ] + } +] diff --git a/travis/test/avx512f.asm b/travis/test/avx512f.asm new file mode 100644 index 00000000..43cbcdd0 --- /dev/null +++ b/travis/test/avx512f.asm @@ -0,0 +1,7000 @@ +;Testname=avx512f; Arguments=-fbin -oavx512f.bin -O0 -DSRC; Files=stdout stderr avx512f.bin +; AVX-512F testcases from gas +;------------------------ +; +; This file is taken from there +; https://gnu.googlesource.com/binutils/+/master/gas/testsuite/gas/i386/x86-64-avx512f-intel.d +; So the original author is "H.J. Lu" <hongjiu dot lu at intel dot com> +; +; Jin Kyu Song converted it for the nasm testing suite using gas2nasm.py + +%macro testcase 2 + %ifdef BIN + db %1 + %endif + %ifdef SRC + %2 + %endif +%endmacro + + +bits 64 + +testcase { 0x62, 0x01, 0x95, 0x40, 0x58, 0xf4 }, { vaddpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x58, 0xf4 }, { vaddpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x58, 0xf4 }, { vaddpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x10, 0x58, 0xf4 }, { vaddpd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x95, 0x50, 0x58, 0xf4 }, { vaddpd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x95, 0x30, 0x58, 0xf4 }, { vaddpd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x95, 0x70, 0x58, 0xf4 }, { vaddpd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x58, 0x31 }, { vaddpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x58, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vaddpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x58, 0x31 }, { vaddpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x58, 0x72, 0x7f }, { vaddpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x58, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vaddpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x58, 0x72, 0x80 }, { vaddpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x58, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vaddpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x58, 0x72, 0x7f }, { vaddpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x58, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vaddpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x58, 0x72, 0x80 }, { vaddpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x58, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vaddpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x58, 0xf4 }, { vaddps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x58, 0xf4 }, { vaddps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x58, 0xf4 }, { vaddps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x10, 0x58, 0xf4 }, { vaddps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x14, 0x50, 0x58, 0xf4 }, { vaddps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x14, 0x30, 0x58, 0xf4 }, { vaddps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x14, 0x70, 0x58, 0xf4 }, { vaddps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x58, 0x31 }, { vaddps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x58, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vaddps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x58, 0x31 }, { vaddps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x58, 0x72, 0x7f }, { vaddps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x58, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vaddps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x58, 0x72, 0x80 }, { vaddps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x58, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vaddps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x58, 0x72, 0x7f }, { vaddps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x58, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vaddps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x58, 0x72, 0x80 }, { vaddps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x58, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vaddps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x58, 0xf4 }, { vaddsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x58, 0xf4 }, { vaddsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x58, 0xf4 }, { vaddsd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x97, 0x57, 0x58, 0xf4 }, { vaddsd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x97, 0x37, 0x58, 0xf4 }, { vaddsd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x97, 0x77, 0x58, 0xf4 }, { vaddsd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x58, 0x31 }, { vaddsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x58, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vaddsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x58, 0x72, 0x7f }, { vaddsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x58, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vaddsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x58, 0x72, 0x80 }, { vaddsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x58, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vaddsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x58, 0xf4 }, { vaddss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x58, 0xf4 }, { vaddss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x58, 0xf4 }, { vaddss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x16, 0x57, 0x58, 0xf4 }, { vaddss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x16, 0x37, 0x58, 0xf4 }, { vaddss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x16, 0x77, 0x58, 0xf4 }, { vaddss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x58, 0x31 }, { vaddss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x58, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vaddss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x58, 0x72, 0x7f }, { vaddss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x58, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vaddss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x58, 0x72, 0x80 }, { vaddss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x58, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vaddss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x03, 0x15, 0x40, 0x03, 0xf4, 0xab }, { valignd zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x03, 0xf4, 0xab }, { valignd zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x03, 0xf4, 0xab }, { valignd zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x40, 0x03, 0xf4, 0x7b }, { valignd zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x03, 0x31, 0x7b }, { valignd zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x40, 0x03, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { valignd zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x03, 0x31, 0x7b }, { valignd zmm30,zmm29,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x03, 0x72, 0x7f, 0x7b }, { valignd zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x03, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { valignd zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x03, 0x72, 0x80, 0x7b }, { valignd zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x03, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { valignd zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x03, 0x72, 0x7f, 0x7b }, { valignd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x03, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { valignd zmm30,zmm29,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x03, 0x72, 0x80, 0x7b }, { valignd zmm30,zmm29,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x03, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { valignd zmm30,zmm29,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x02, 0x95, 0x40, 0x65, 0xf4 }, { vblendmpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x65, 0xf4 }, { vblendmpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x65, 0xf4 }, { vblendmpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x65, 0x31 }, { vblendmpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x65, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vblendmpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x65, 0x31 }, { vblendmpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x65, 0x72, 0x7f }, { vblendmpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x65, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vblendmpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x65, 0x72, 0x80 }, { vblendmpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x65, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vblendmpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x65, 0x72, 0x7f }, { vblendmpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x65, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vblendmpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x65, 0x72, 0x80 }, { vblendmpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x65, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vblendmpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x65, 0xf4 }, { vblendmps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x65, 0xf4 }, { vblendmps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x65, 0xf4 }, { vblendmps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x65, 0x31 }, { vblendmps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x65, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vblendmps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x65, 0x31 }, { vblendmps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x65, 0x72, 0x7f }, { vblendmps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x65, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vblendmps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x65, 0x72, 0x80 }, { vblendmps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x65, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vblendmps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x65, 0x72, 0x7f }, { vblendmps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x65, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vblendmps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x65, 0x72, 0x80 }, { vblendmps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x65, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vblendmps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1a, 0x31 }, { vbroadcastf32x4 zmm30,OWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x1a, 0x31 }, { vbroadcastf32x4 zmm30{k7},OWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x1a, 0x31 }, { vbroadcastf32x4 zmm30{k7}{z},OWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x1a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vbroadcastf32x4 zmm30,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1a, 0x72, 0x7f }, { vbroadcastf32x4 zmm30,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1a, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vbroadcastf32x4 zmm30,OWORD [rdx+0x800] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1a, 0x72, 0x80 }, { vbroadcastf32x4 zmm30,OWORD [rdx-0x800] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1a, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vbroadcastf32x4 zmm30,OWORD [rdx-0x810] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1b, 0x31 }, { vbroadcastf64x4 zmm30,YWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x1b, 0x31 }, { vbroadcastf64x4 zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x1b, 0x31 }, { vbroadcastf64x4 zmm30{k7}{z},YWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x1b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vbroadcastf64x4 zmm30,YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1b, 0x72, 0x7f }, { vbroadcastf64x4 zmm30,YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1b, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vbroadcastf64x4 zmm30,YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1b, 0x72, 0x80 }, { vbroadcastf64x4 zmm30,YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1b, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vbroadcastf64x4 zmm30,YWORD [rdx-0x1020] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x5a, 0x31 }, { vbroadcasti32x4 zmm30,OWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x5a, 0x31 }, { vbroadcasti32x4 zmm30{k7},OWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x5a, 0x31 }, { vbroadcasti32x4 zmm30{k7}{z},OWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x5a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vbroadcasti32x4 zmm30,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x5a, 0x72, 0x7f }, { vbroadcasti32x4 zmm30,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x5a, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vbroadcasti32x4 zmm30,OWORD [rdx+0x800] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x5a, 0x72, 0x80 }, { vbroadcasti32x4 zmm30,OWORD [rdx-0x800] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x5a, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vbroadcasti32x4 zmm30,OWORD [rdx-0x810] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x5b, 0x31 }, { vbroadcasti64x4 zmm30,YWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x5b, 0x31 }, { vbroadcasti64x4 zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x5b, 0x31 }, { vbroadcasti64x4 zmm30{k7}{z},YWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x5b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vbroadcasti64x4 zmm30,YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x5b, 0x72, 0x7f }, { vbroadcasti64x4 zmm30,YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x5b, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vbroadcasti64x4 zmm30,YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x5b, 0x72, 0x80 }, { vbroadcasti64x4 zmm30,YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x5b, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vbroadcasti64x4 zmm30,YWORD [rdx-0x1020] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x19, 0x31 }, { vbroadcastsd zmm30,QWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x19, 0x31 }, { vbroadcastsd zmm30{k7},QWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x19, 0x31 }, { vbroadcastsd zmm30{k7}{z},QWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x19, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vbroadcastsd zmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x19, 0x72, 0x7f }, { vbroadcastsd zmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x19, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vbroadcastsd zmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x19, 0x72, 0x80 }, { vbroadcastsd zmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x19, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vbroadcastsd zmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x19, 0xf5 }, { vbroadcastsd zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x19, 0xf5 }, { vbroadcastsd zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x18, 0x31 }, { vbroadcastss zmm30,DWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x18, 0x31 }, { vbroadcastss zmm30{k7},DWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x18, 0x31 }, { vbroadcastss zmm30{k7}{z},DWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x18, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vbroadcastss zmm30,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x18, 0x72, 0x7f }, { vbroadcastss zmm30,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x18, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vbroadcastss zmm30,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x18, 0x72, 0x80 }, { vbroadcastss zmm30,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x18, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vbroadcastss zmm30,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x18, 0xf5 }, { vbroadcastss zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x18, 0xf5 }, { vbroadcastss zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0xab }, { vcmppd k5,zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0xab }, { vcmppd k5{k7},zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0xab }, { vcmppd k5,zmm30,zmm29,{sae},0xab } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x7b }, { vcmppd k5,zmm30,zmm29,0x7b } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x7b }, { vcmppd k5,zmm30,zmm29,{sae},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x7b }, { vcmppd k5,zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vcmppd k5,zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x7b }, { vcmppd k5,zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x7b }, { vcmppd k5,zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vcmppd k5,zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x7b }, { vcmppd k5,zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vcmppd k5,zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x7b }, { vcmppd k5,zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vcmppd k5,zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x7b }, { vcmppd k5,zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vcmppd k5,zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x00 }, { vcmpeqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x00 }, { vcmpeqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x00 }, { vcmpeqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x00 }, { vcmpeqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x00 }, { vcmpeqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x00 }, { vcmpeqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x00 }, { vcmpeqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x00 }, { vcmpeqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x01 }, { vcmpltpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x01 }, { vcmpltpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x01 }, { vcmpltpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x01 }, { vcmpltpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x01 }, { vcmpltpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x01 }, { vcmpltpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vcmpltpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x01 }, { vcmpltpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x02 }, { vcmplepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x02 }, { vcmplepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x02 }, { vcmplepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x02 }, { vcmplepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x02 }, { vcmplepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x02 }, { vcmplepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x02 }, { vcmplepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x02 }, { vcmplepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vcmplepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x02 }, { vcmplepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x03 }, { vcmpunordpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x03 }, { vcmpunordpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x03 }, { vcmpunordpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x03 }, { vcmpunordpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x03 }, { vcmpunordpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x03 }, { vcmpunordpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x03 }, { vcmpunordpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x03 }, { vcmpunordpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x04 }, { vcmpneqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x04 }, { vcmpneqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x04 }, { vcmpneqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x04 }, { vcmpneqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x04 }, { vcmpneqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x04 }, { vcmpneqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vcmpneqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x04 }, { vcmpneqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x05 }, { vcmpnltpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x05 }, { vcmpnltpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x05 }, { vcmpnltpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x05 }, { vcmpnltpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x05 }, { vcmpnltpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x05 }, { vcmpnltpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vcmpnltpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x05 }, { vcmpnltpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x06 }, { vcmpnlepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x06 }, { vcmpnlepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x06 }, { vcmpnlepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x06 }, { vcmpnlepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x06 }, { vcmpnlepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x06 }, { vcmpnlepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vcmpnlepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x06 }, { vcmpnlepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x07 }, { vcmpordpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x07 }, { vcmpordpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x07 }, { vcmpordpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x07 }, { vcmpordpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x07 }, { vcmpordpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x07 }, { vcmpordpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x07 }, { vcmpordpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x07 }, { vcmpordpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x08 }, { vcmpeq_uqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x08 }, { vcmpeq_uqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x08 }, { vcmpeq_uqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x08 }, { vcmpeq_uqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x08 }, { vcmpeq_uqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x08 }, { vcmpeq_uqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x08 }, { vcmpeq_uqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x08 }, { vcmpeq_uqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x08 }, { vcmpeq_uqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x08 }, { vcmpeq_uqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x08 }, { vcmpeq_uqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x08 }, { vcmpeq_uqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x08 }, { vcmpeq_uqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x08 }, { vcmpeq_uqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x09 }, { vcmpngepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x09 }, { vcmpngepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x09 }, { vcmpngepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x09 }, { vcmpngepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x09 }, { vcmpngepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x09 }, { vcmpngepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x09 }, { vcmpngepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x09 }, { vcmpngepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0a }, { vcmpngtpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0a }, { vcmpngtpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0a }, { vcmpngtpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0a }, { vcmpngtpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0a }, { vcmpngtpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0a }, { vcmpngtpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0a }, { vcmpngtpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0a }, { vcmpngtpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0b }, { vcmpfalsepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0b }, { vcmpfalsepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0b }, { vcmpfalsepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0b }, { vcmpfalsepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0b }, { vcmpfalsepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0b }, { vcmpfalsepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0b }, { vcmpfalsepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0b }, { vcmpfalsepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0c }, { vcmpneq_oqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0c }, { vcmpneq_oqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0c }, { vcmpneq_oqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0c }, { vcmpneq_oqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0c }, { vcmpneq_oqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0c }, { vcmpneq_oqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0c }, { vcmpneq_oqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0c }, { vcmpneq_oqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0c }, { vcmpneq_oqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0c }, { vcmpneq_oqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0c }, { vcmpneq_oqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0c }, { vcmpneq_oqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0c }, { vcmpneq_oqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0c }, { vcmpneq_oqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0d }, { vcmpgepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0d }, { vcmpgepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0d }, { vcmpgepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0d }, { vcmpgepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0d }, { vcmpgepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0d }, { vcmpgepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0d }, { vcmpgepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0d }, { vcmpgepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0e }, { vcmpgtpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0e }, { vcmpgtpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0e }, { vcmpgtpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0e }, { vcmpgtpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0e }, { vcmpgtpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0e }, { vcmpgtpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0e }, { vcmpgtpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0e }, { vcmpgtpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0f }, { vcmptruepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0f }, { vcmptruepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0f }, { vcmptruepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x0f }, { vcmptruepd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x0f }, { vcmptruepd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x0f }, { vcmptruepd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0f }, { vcmptruepd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0f }, { vcmptruepd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x10 }, { vcmpeq_ospd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x10 }, { vcmpeq_ospd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x10 }, { vcmpeq_ospd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x10 }, { vcmpeq_ospd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x10 }, { vcmpeq_ospd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x10 }, { vcmpeq_ospd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x10 }, { vcmpeq_ospd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x10 }, { vcmpeq_ospd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x10 }, { vcmpeq_ospd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x10 }, { vcmpeq_ospd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x10 }, { vcmpeq_ospd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x10 }, { vcmpeq_ospd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x10 }, { vcmpeq_ospd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x10 }, { vcmpeq_ospd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x11 }, { vcmplt_oqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x11 }, { vcmplt_oqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x11 }, { vcmplt_oqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x11 }, { vcmplt_oqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x11 }, { vcmplt_oqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x11 }, { vcmplt_oqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x11 }, { vcmplt_oqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x11 }, { vcmplt_oqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x11 }, { vcmplt_oqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x11 }, { vcmplt_oqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x11 }, { vcmplt_oqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x11 }, { vcmplt_oqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x11 }, { vcmplt_oqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x11 }, { vcmplt_oqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x12 }, { vcmple_oqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x12 }, { vcmple_oqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x12 }, { vcmple_oqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x12 }, { vcmple_oqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x12 }, { vcmple_oqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x12 }, { vcmple_oqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x12 }, { vcmple_oqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x12 }, { vcmple_oqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x12 }, { vcmple_oqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x12 }, { vcmple_oqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x12 }, { vcmple_oqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x12 }, { vcmple_oqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x12 }, { vcmple_oqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x12 }, { vcmple_oqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x13 }, { vcmpunord_spd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x13 }, { vcmpunord_spd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x13 }, { vcmpunord_spd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x13 }, { vcmpunord_spd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x13 }, { vcmpunord_spd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x13 }, { vcmpunord_spd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x13 }, { vcmpunord_spd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x13 }, { vcmpunord_spd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x13 }, { vcmpunord_spd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x13 }, { vcmpunord_spd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x13 }, { vcmpunord_spd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x13 }, { vcmpunord_spd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x13 }, { vcmpunord_spd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x13 }, { vcmpunord_spd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x14 }, { vcmpneq_uspd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x14 }, { vcmpneq_uspd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x14 }, { vcmpneq_uspd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x14 }, { vcmpneq_uspd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x14 }, { vcmpneq_uspd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x14 }, { vcmpneq_uspd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x14 }, { vcmpneq_uspd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x14 }, { vcmpneq_uspd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x14 }, { vcmpneq_uspd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x14 }, { vcmpneq_uspd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x14 }, { vcmpneq_uspd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x14 }, { vcmpneq_uspd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x14 }, { vcmpneq_uspd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x14 }, { vcmpneq_uspd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x15 }, { vcmpnlt_uqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x15 }, { vcmpnlt_uqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x15 }, { vcmpnlt_uqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x15 }, { vcmpnlt_uqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x15 }, { vcmpnlt_uqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x15 }, { vcmpnlt_uqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x15 }, { vcmpnlt_uqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x15 }, { vcmpnlt_uqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x15 }, { vcmpnlt_uqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x15 }, { vcmpnlt_uqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x15 }, { vcmpnlt_uqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x15 }, { vcmpnlt_uqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x15 }, { vcmpnlt_uqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x15 }, { vcmpnlt_uqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x16 }, { vcmpnle_uqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x16 }, { vcmpnle_uqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x16 }, { vcmpnle_uqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x16 }, { vcmpnle_uqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x16 }, { vcmpnle_uqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x16 }, { vcmpnle_uqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x16 }, { vcmpnle_uqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x16 }, { vcmpnle_uqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x16 }, { vcmpnle_uqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x16 }, { vcmpnle_uqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x16 }, { vcmpnle_uqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x16 }, { vcmpnle_uqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x16 }, { vcmpnle_uqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x16 }, { vcmpnle_uqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x17 }, { vcmpord_spd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x17 }, { vcmpord_spd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x17 }, { vcmpord_spd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x17 }, { vcmpord_spd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x17 }, { vcmpord_spd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x17 }, { vcmpord_spd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x17 }, { vcmpord_spd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x17 }, { vcmpord_spd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x17 }, { vcmpord_spd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x17 }, { vcmpord_spd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x17 }, { vcmpord_spd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x17 }, { vcmpord_spd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x17 }, { vcmpord_spd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x17 }, { vcmpord_spd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x18 }, { vcmpeq_uspd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x18 }, { vcmpeq_uspd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x18 }, { vcmpeq_uspd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x18 }, { vcmpeq_uspd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x18 }, { vcmpeq_uspd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x18 }, { vcmpeq_uspd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x18 }, { vcmpeq_uspd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x18 }, { vcmpeq_uspd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x18 }, { vcmpeq_uspd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x18 }, { vcmpeq_uspd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x18 }, { vcmpeq_uspd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x18 }, { vcmpeq_uspd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x18 }, { vcmpeq_uspd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x18 }, { vcmpeq_uspd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x19 }, { vcmpnge_uqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x19 }, { vcmpnge_uqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x19 }, { vcmpnge_uqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x19 }, { vcmpnge_uqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x19 }, { vcmpnge_uqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x19 }, { vcmpnge_uqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x19 }, { vcmpnge_uqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x19 }, { vcmpnge_uqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x19 }, { vcmpnge_uqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x19 }, { vcmpnge_uqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x19 }, { vcmpnge_uqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x19 }, { vcmpnge_uqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x19 }, { vcmpnge_uqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x19 }, { vcmpnge_uqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x1a }, { vcmpngt_uqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x1a }, { vcmpngt_uqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x1a }, { vcmpngt_uqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x1a }, { vcmpngt_uqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1a }, { vcmpngt_uqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x1a }, { vcmpngt_uqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x1a }, { vcmpngt_uqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1a }, { vcmpngt_uqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x1a }, { vcmpngt_uqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1a }, { vcmpngt_uqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x1a }, { vcmpngt_uqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1a }, { vcmpngt_uqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x1a }, { vcmpngt_uqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1a }, { vcmpngt_uqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x1b }, { vcmpfalse_ospd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x1b }, { vcmpfalse_ospd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x1b }, { vcmpfalse_ospd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x1b }, { vcmpfalse_ospd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1b }, { vcmpfalse_ospd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x1b }, { vcmpfalse_ospd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x1b }, { vcmpfalse_ospd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1b }, { vcmpfalse_ospd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x1b }, { vcmpfalse_ospd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1b }, { vcmpfalse_ospd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x1b }, { vcmpfalse_ospd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1b }, { vcmpfalse_ospd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x1b }, { vcmpfalse_ospd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1b }, { vcmpfalse_ospd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x1c }, { vcmpneq_ospd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x1c }, { vcmpneq_ospd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x1c }, { vcmpneq_ospd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x1c }, { vcmpneq_ospd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1c }, { vcmpneq_ospd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x1c }, { vcmpneq_ospd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x1c }, { vcmpneq_ospd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1c }, { vcmpneq_ospd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x1c }, { vcmpneq_ospd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1c }, { vcmpneq_ospd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x1c }, { vcmpneq_ospd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1c }, { vcmpneq_ospd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x1c }, { vcmpneq_ospd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1c }, { vcmpneq_ospd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x1d }, { vcmpge_oqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x1d }, { vcmpge_oqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x1d }, { vcmpge_oqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x1d }, { vcmpge_oqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1d }, { vcmpge_oqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x1d }, { vcmpge_oqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x1d }, { vcmpge_oqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1d }, { vcmpge_oqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x1d }, { vcmpge_oqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1d }, { vcmpge_oqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x1d }, { vcmpge_oqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1d }, { vcmpge_oqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x1d }, { vcmpge_oqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1d }, { vcmpge_oqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x1e }, { vcmpgt_oqpd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x1e }, { vcmpgt_oqpd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x1e }, { vcmpgt_oqpd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x1e }, { vcmpgt_oqpd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1e }, { vcmpgt_oqpd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x1e }, { vcmpgt_oqpd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x1e }, { vcmpgt_oqpd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1e }, { vcmpgt_oqpd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x1e }, { vcmpgt_oqpd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1e }, { vcmpgt_oqpd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x1e }, { vcmpgt_oqpd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1e }, { vcmpgt_oqpd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x1e }, { vcmpgt_oqpd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1e }, { vcmpgt_oqpd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0xc2, 0xed, 0x1f }, { vcmptrue_uspd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x47, 0xc2, 0xed, 0x1f }, { vcmptrue_uspd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x8d, 0x10, 0xc2, 0xed, 0x1f }, { vcmptrue_uspd k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x29, 0x1f }, { vcmptrue_uspd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1f }, { vcmptrue_uspd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x29, 0x1f }, { vcmptrue_uspd k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x7f, 0x1f }, { vcmptrue_uspd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1f }, { vcmptrue_uspd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0x6a, 0x80, 0x1f }, { vcmptrue_uspd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1f }, { vcmptrue_uspd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x7f, 0x1f }, { vcmptrue_uspd k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1f }, { vcmptrue_uspd k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0x6a, 0x80, 0x1f }, { vcmptrue_uspd k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1f }, { vcmptrue_uspd k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0xab }, { vcmpps k5,zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0xab }, { vcmpps k5{k7},zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0xab }, { vcmpps k5,zmm30,zmm29,{sae},0xab } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x7b }, { vcmpps k5,zmm30,zmm29,0x7b } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x7b }, { vcmpps k5,zmm30,zmm29,{sae},0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x7b }, { vcmpps k5,zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vcmpps k5,zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x7b }, { vcmpps k5,zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x7b }, { vcmpps k5,zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vcmpps k5,zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x7b }, { vcmpps k5,zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vcmpps k5,zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x7b }, { vcmpps k5,zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vcmpps k5,zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x7b }, { vcmpps k5,zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vcmpps k5,zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x00 }, { vcmpeqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x00 }, { vcmpeqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x00 }, { vcmpeqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x00 }, { vcmpeqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x00 }, { vcmpeqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x00 }, { vcmpeqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x00 }, { vcmpeqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x00 }, { vcmpeqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x01 }, { vcmpltps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x01 }, { vcmpltps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x01 }, { vcmpltps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x01 }, { vcmpltps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x01 }, { vcmpltps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x01 }, { vcmpltps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x01 }, { vcmpltps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x01 }, { vcmpltps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vcmpltps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x01 }, { vcmpltps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x02 }, { vcmpleps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x02 }, { vcmpleps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x02 }, { vcmpleps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x02 }, { vcmpleps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x02 }, { vcmpleps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x02 }, { vcmpleps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x02 }, { vcmpleps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x02 }, { vcmpleps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vcmpleps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x02 }, { vcmpleps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x03 }, { vcmpunordps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x03 }, { vcmpunordps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x03 }, { vcmpunordps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x03 }, { vcmpunordps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x03 }, { vcmpunordps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x03 }, { vcmpunordps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x03 }, { vcmpunordps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x03 }, { vcmpunordps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x04 }, { vcmpneqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x04 }, { vcmpneqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x04 }, { vcmpneqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x04 }, { vcmpneqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x04 }, { vcmpneqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x04 }, { vcmpneqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vcmpneqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x04 }, { vcmpneqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x05 }, { vcmpnltps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x05 }, { vcmpnltps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x05 }, { vcmpnltps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x05 }, { vcmpnltps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x05 }, { vcmpnltps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x05 }, { vcmpnltps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vcmpnltps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x05 }, { vcmpnltps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x06 }, { vcmpnleps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x06 }, { vcmpnleps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x06 }, { vcmpnleps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x06 }, { vcmpnleps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x06 }, { vcmpnleps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x06 }, { vcmpnleps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vcmpnleps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x06 }, { vcmpnleps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x07 }, { vcmpordps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x07 }, { vcmpordps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x07 }, { vcmpordps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x07 }, { vcmpordps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x07 }, { vcmpordps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x07 }, { vcmpordps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x07 }, { vcmpordps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x07 }, { vcmpordps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x07 }, { vcmpordps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x07 }, { vcmpordps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x08 }, { vcmpeq_uqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x08 }, { vcmpeq_uqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x08 }, { vcmpeq_uqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x08 }, { vcmpeq_uqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x08 }, { vcmpeq_uqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x08 }, { vcmpeq_uqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x08 }, { vcmpeq_uqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x08 }, { vcmpeq_uqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x08 }, { vcmpeq_uqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x08 }, { vcmpeq_uqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x08 }, { vcmpeq_uqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x08 }, { vcmpeq_uqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x08 }, { vcmpeq_uqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x08 }, { vcmpeq_uqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x09 }, { vcmpngeps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x09 }, { vcmpngeps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x09 }, { vcmpngeps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x09 }, { vcmpngeps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x09 }, { vcmpngeps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x09 }, { vcmpngeps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x09 }, { vcmpngeps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x09 }, { vcmpngeps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0a }, { vcmpngtps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0a }, { vcmpngtps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0a }, { vcmpngtps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0a }, { vcmpngtps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0a }, { vcmpngtps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0a }, { vcmpngtps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0a }, { vcmpngtps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0a }, { vcmpngtps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0b }, { vcmpfalseps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0b }, { vcmpfalseps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0b }, { vcmpfalseps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0b }, { vcmpfalseps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0b }, { vcmpfalseps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0b }, { vcmpfalseps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0b }, { vcmpfalseps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0b }, { vcmpfalseps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0c }, { vcmpneq_oqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0c }, { vcmpneq_oqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0c }, { vcmpneq_oqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0c }, { vcmpneq_oqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0c }, { vcmpneq_oqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0c }, { vcmpneq_oqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0c }, { vcmpneq_oqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0c }, { vcmpneq_oqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0c }, { vcmpneq_oqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0c }, { vcmpneq_oqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0c }, { vcmpneq_oqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0c }, { vcmpneq_oqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0c }, { vcmpneq_oqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0c }, { vcmpneq_oqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0d }, { vcmpgeps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0d }, { vcmpgeps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0d }, { vcmpgeps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0d }, { vcmpgeps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0d }, { vcmpgeps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0d }, { vcmpgeps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0d }, { vcmpgeps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0d }, { vcmpgeps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0e }, { vcmpgtps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0e }, { vcmpgtps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0e }, { vcmpgtps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0e }, { vcmpgtps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0e }, { vcmpgtps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0e }, { vcmpgtps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0e }, { vcmpgtps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0e }, { vcmpgtps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0f }, { vcmptrueps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0f }, { vcmptrueps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0f }, { vcmptrueps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x0f }, { vcmptrueps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x0f }, { vcmptrueps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x0f }, { vcmptrueps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x0f }, { vcmptrueps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0f }, { vcmptrueps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x10 }, { vcmpeq_osps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x10 }, { vcmpeq_osps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x10 }, { vcmpeq_osps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x10 }, { vcmpeq_osps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x10 }, { vcmpeq_osps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x10 }, { vcmpeq_osps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x10 }, { vcmpeq_osps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x10 }, { vcmpeq_osps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x10 }, { vcmpeq_osps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x10 }, { vcmpeq_osps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x10 }, { vcmpeq_osps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x10 }, { vcmpeq_osps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x10 }, { vcmpeq_osps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x10 }, { vcmpeq_osps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x11 }, { vcmplt_oqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x11 }, { vcmplt_oqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x11 }, { vcmplt_oqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x11 }, { vcmplt_oqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x11 }, { vcmplt_oqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x11 }, { vcmplt_oqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x11 }, { vcmplt_oqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x11 }, { vcmplt_oqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x11 }, { vcmplt_oqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x11 }, { vcmplt_oqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x11 }, { vcmplt_oqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x11 }, { vcmplt_oqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x11 }, { vcmplt_oqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x11 }, { vcmplt_oqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x12 }, { vcmple_oqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x12 }, { vcmple_oqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x12 }, { vcmple_oqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x12 }, { vcmple_oqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x12 }, { vcmple_oqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x12 }, { vcmple_oqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x12 }, { vcmple_oqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x12 }, { vcmple_oqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x12 }, { vcmple_oqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x12 }, { vcmple_oqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x12 }, { vcmple_oqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x12 }, { vcmple_oqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x12 }, { vcmple_oqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x12 }, { vcmple_oqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x13 }, { vcmpunord_sps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x13 }, { vcmpunord_sps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x13 }, { vcmpunord_sps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x13 }, { vcmpunord_sps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x13 }, { vcmpunord_sps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x13 }, { vcmpunord_sps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x13 }, { vcmpunord_sps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x13 }, { vcmpunord_sps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x13 }, { vcmpunord_sps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x13 }, { vcmpunord_sps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x13 }, { vcmpunord_sps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x13 }, { vcmpunord_sps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x13 }, { vcmpunord_sps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x13 }, { vcmpunord_sps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x14 }, { vcmpneq_usps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x14 }, { vcmpneq_usps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x14 }, { vcmpneq_usps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x14 }, { vcmpneq_usps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x14 }, { vcmpneq_usps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x14 }, { vcmpneq_usps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x14 }, { vcmpneq_usps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x14 }, { vcmpneq_usps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x14 }, { vcmpneq_usps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x14 }, { vcmpneq_usps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x14 }, { vcmpneq_usps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x14 }, { vcmpneq_usps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x14 }, { vcmpneq_usps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x14 }, { vcmpneq_usps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x15 }, { vcmpnlt_uqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x15 }, { vcmpnlt_uqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x15 }, { vcmpnlt_uqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x15 }, { vcmpnlt_uqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x15 }, { vcmpnlt_uqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x15 }, { vcmpnlt_uqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x15 }, { vcmpnlt_uqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x15 }, { vcmpnlt_uqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x15 }, { vcmpnlt_uqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x15 }, { vcmpnlt_uqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x15 }, { vcmpnlt_uqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x15 }, { vcmpnlt_uqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x15 }, { vcmpnlt_uqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x15 }, { vcmpnlt_uqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x16 }, { vcmpnle_uqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x16 }, { vcmpnle_uqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x16 }, { vcmpnle_uqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x16 }, { vcmpnle_uqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x16 }, { vcmpnle_uqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x16 }, { vcmpnle_uqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x16 }, { vcmpnle_uqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x16 }, { vcmpnle_uqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x16 }, { vcmpnle_uqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x16 }, { vcmpnle_uqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x16 }, { vcmpnle_uqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x16 }, { vcmpnle_uqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x16 }, { vcmpnle_uqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x16 }, { vcmpnle_uqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x17 }, { vcmpord_sps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x17 }, { vcmpord_sps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x17 }, { vcmpord_sps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x17 }, { vcmpord_sps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x17 }, { vcmpord_sps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x17 }, { vcmpord_sps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x17 }, { vcmpord_sps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x17 }, { vcmpord_sps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x17 }, { vcmpord_sps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x17 }, { vcmpord_sps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x17 }, { vcmpord_sps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x17 }, { vcmpord_sps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x17 }, { vcmpord_sps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x17 }, { vcmpord_sps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x18 }, { vcmpeq_usps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x18 }, { vcmpeq_usps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x18 }, { vcmpeq_usps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x18 }, { vcmpeq_usps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x18 }, { vcmpeq_usps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x18 }, { vcmpeq_usps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x18 }, { vcmpeq_usps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x18 }, { vcmpeq_usps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x18 }, { vcmpeq_usps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x18 }, { vcmpeq_usps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x18 }, { vcmpeq_usps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x18 }, { vcmpeq_usps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x18 }, { vcmpeq_usps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x18 }, { vcmpeq_usps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x19 }, { vcmpnge_uqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x19 }, { vcmpnge_uqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x19 }, { vcmpnge_uqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x19 }, { vcmpnge_uqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x19 }, { vcmpnge_uqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x19 }, { vcmpnge_uqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x19 }, { vcmpnge_uqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x19 }, { vcmpnge_uqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x19 }, { vcmpnge_uqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x19 }, { vcmpnge_uqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x19 }, { vcmpnge_uqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x19 }, { vcmpnge_uqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x19 }, { vcmpnge_uqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x19 }, { vcmpnge_uqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x1a }, { vcmpngt_uqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x1a }, { vcmpngt_uqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x1a }, { vcmpngt_uqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x1a }, { vcmpngt_uqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1a }, { vcmpngt_uqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x1a }, { vcmpngt_uqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x1a }, { vcmpngt_uqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1a }, { vcmpngt_uqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x1a }, { vcmpngt_uqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1a }, { vcmpngt_uqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x1a }, { vcmpngt_uqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1a }, { vcmpngt_uqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x1a }, { vcmpngt_uqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1a }, { vcmpngt_uqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x1b }, { vcmpfalse_osps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x1b }, { vcmpfalse_osps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x1b }, { vcmpfalse_osps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x1b }, { vcmpfalse_osps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1b }, { vcmpfalse_osps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x1b }, { vcmpfalse_osps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x1b }, { vcmpfalse_osps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1b }, { vcmpfalse_osps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x1b }, { vcmpfalse_osps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1b }, { vcmpfalse_osps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x1b }, { vcmpfalse_osps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1b }, { vcmpfalse_osps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x1b }, { vcmpfalse_osps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1b }, { vcmpfalse_osps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x1c }, { vcmpneq_osps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x1c }, { vcmpneq_osps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x1c }, { vcmpneq_osps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x1c }, { vcmpneq_osps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1c }, { vcmpneq_osps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x1c }, { vcmpneq_osps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x1c }, { vcmpneq_osps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1c }, { vcmpneq_osps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x1c }, { vcmpneq_osps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1c }, { vcmpneq_osps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x1c }, { vcmpneq_osps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1c }, { vcmpneq_osps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x1c }, { vcmpneq_osps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1c }, { vcmpneq_osps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x1d }, { vcmpge_oqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x1d }, { vcmpge_oqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x1d }, { vcmpge_oqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x1d }, { vcmpge_oqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1d }, { vcmpge_oqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x1d }, { vcmpge_oqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x1d }, { vcmpge_oqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1d }, { vcmpge_oqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x1d }, { vcmpge_oqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1d }, { vcmpge_oqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x1d }, { vcmpge_oqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1d }, { vcmpge_oqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x1d }, { vcmpge_oqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1d }, { vcmpge_oqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x1e }, { vcmpgt_oqps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x1e }, { vcmpgt_oqps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x1e }, { vcmpgt_oqps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x1e }, { vcmpgt_oqps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1e }, { vcmpgt_oqps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x1e }, { vcmpgt_oqps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x1e }, { vcmpgt_oqps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1e }, { vcmpgt_oqps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x1e }, { vcmpgt_oqps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1e }, { vcmpgt_oqps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x1e }, { vcmpgt_oqps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1e }, { vcmpgt_oqps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x1e }, { vcmpgt_oqps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1e }, { vcmpgt_oqps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0c, 0x40, 0xc2, 0xed, 0x1f }, { vcmptrue_usps k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x47, 0xc2, 0xed, 0x1f }, { vcmptrue_usps k5{k7},zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0c, 0x10, 0xc2, 0xed, 0x1f }, { vcmptrue_usps k5,zmm30,zmm29,{sae} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x29, 0x1f }, { vcmptrue_usps k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0c, 0x40, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1f }, { vcmptrue_usps k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x29, 0x1f }, { vcmptrue_usps k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x7f, 0x1f }, { vcmptrue_usps k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x1f }, { vcmptrue_usps k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0x6a, 0x80, 0x1f }, { vcmptrue_usps k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0c, 0x40, 0xc2, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x1f }, { vcmptrue_usps k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x7f, 0x1f }, { vcmptrue_usps k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1f }, { vcmptrue_usps k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0x6a, 0x80, 0x1f }, { vcmptrue_usps k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0c, 0x50, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1f }, { vcmptrue_usps k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0xab }, { vcmpsd k5{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0xab }, { vcmpsd k5{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x7b }, { vcmpsd k5{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x7b }, { vcmpsd k5{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x7b }, { vcmpsd k5{k7},xmm29,QWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vcmpsd k5{k7},xmm29,QWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x7b }, { vcmpsd k5{k7},xmm29,QWORD [rdx+0x3f8],0x7b } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vcmpsd k5{k7},xmm29,QWORD [rdx+0x400],0x7b } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x7b }, { vcmpsd k5{k7},xmm29,QWORD [rdx-0x400],0x7b } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vcmpsd k5{k7},xmm29,QWORD [rdx-0x408],0x7b } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x00 }, { vcmpeqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x00 }, { vcmpeqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x00 }, { vcmpeqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x00 }, { vcmpeqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x00 }, { vcmpeqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x01 }, { vcmpltsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x01 }, { vcmpltsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x01 }, { vcmpltsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x01 }, { vcmpltsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x01 }, { vcmpltsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x02 }, { vcmplesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x02 }, { vcmplesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x02 }, { vcmplesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x02 }, { vcmplesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x02 }, { vcmplesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x03 }, { vcmpunordsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x03 }, { vcmpunordsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x03 }, { vcmpunordsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x03 }, { vcmpunordsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x03 }, { vcmpunordsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x04 }, { vcmpneqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x04 }, { vcmpneqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x04 }, { vcmpneqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x04 }, { vcmpneqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x04 }, { vcmpneqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x05 }, { vcmpnltsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x05 }, { vcmpnltsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x05 }, { vcmpnltsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x05 }, { vcmpnltsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x05 }, { vcmpnltsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x06 }, { vcmpnlesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x06 }, { vcmpnlesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x06 }, { vcmpnlesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x06 }, { vcmpnlesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x06 }, { vcmpnlesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x07 }, { vcmpordsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x07 }, { vcmpordsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x07 }, { vcmpordsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x07 }, { vcmpordsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x07 }, { vcmpordsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x08 }, { vcmpeq_uqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x09 }, { vcmpngesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x09 }, { vcmpngesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x09 }, { vcmpngesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x09 }, { vcmpngesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x09 }, { vcmpngesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0a }, { vcmpngtsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0a }, { vcmpngtsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0a }, { vcmpngtsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0a }, { vcmpngtsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0a }, { vcmpngtsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0b }, { vcmpfalsesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0b }, { vcmpfalsesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0b }, { vcmpfalsesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0b }, { vcmpfalsesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0b }, { vcmpfalsesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0c }, { vcmpneq_oqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0d }, { vcmpgesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0d }, { vcmpgesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0d }, { vcmpgesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0d }, { vcmpgesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0d }, { vcmpgesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0e }, { vcmpgtsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0e }, { vcmpgtsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0e }, { vcmpgtsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0e }, { vcmpgtsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0e }, { vcmpgtsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0f }, { vcmptruesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0f }, { vcmptruesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x0f }, { vcmptruesd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x0f }, { vcmptruesd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x0f }, { vcmptruesd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x10 }, { vcmpeq_ossd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x11 }, { vcmplt_oqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x12 }, { vcmple_oqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x12 }, { vcmple_oqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x12 }, { vcmple_oqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x12 }, { vcmple_oqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x12 }, { vcmple_oqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x12 }, { vcmple_oqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x12 }, { vcmple_oqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x12 }, { vcmple_oqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x13 }, { vcmpunord_ssd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x14 }, { vcmpneq_ussd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x15 }, { vcmpnlt_uqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x16 }, { vcmpnle_uqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x17 }, { vcmpord_ssd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x17 }, { vcmpord_ssd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x17 }, { vcmpord_ssd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x17 }, { vcmpord_ssd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x17 }, { vcmpord_ssd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x17 }, { vcmpord_ssd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x17 }, { vcmpord_ssd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x17 }, { vcmpord_ssd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x18 }, { vcmpeq_ussd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x19 }, { vcmpnge_uqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1a }, { vcmpngt_uqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1b }, { vcmpfalse_ossd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1c }, { vcmpneq_ossd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1d }, { vcmpge_oqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1e }, { vcmpgt_oqsd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x97, 0x07, 0xc2, 0xec, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x97, 0x17, 0xc2, 0xec, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x29, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x97, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x7f, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0x6a, 0x80, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x97, 0x07, 0xc2, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x1f }, { vcmptrue_ussd k5{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0xab }, { vcmpss k5{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0xab }, { vcmpss k5{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x7b }, { vcmpss k5{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x7b }, { vcmpss k5{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x7b }, { vcmpss k5{k7},xmm29,DWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vcmpss k5{k7},xmm29,DWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x7b }, { vcmpss k5{k7},xmm29,DWORD [rdx+0x1fc],0x7b } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vcmpss k5{k7},xmm29,DWORD [rdx+0x200],0x7b } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x7b }, { vcmpss k5{k7},xmm29,DWORD [rdx-0x200],0x7b } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vcmpss k5{k7},xmm29,DWORD [rdx-0x204],0x7b } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x00 }, { vcmpeqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x00 }, { vcmpeqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x00 }, { vcmpeqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x00 }, { vcmpeqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x00 }, { vcmpeqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x01 }, { vcmpltss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x01 }, { vcmpltss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x01 }, { vcmpltss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x01 }, { vcmpltss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x01 }, { vcmpltss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x02 }, { vcmpless k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x02 }, { vcmpless k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x02 }, { vcmpless k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x02 }, { vcmpless k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x02 }, { vcmpless k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x03 }, { vcmpunordss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x03 }, { vcmpunordss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x03 }, { vcmpunordss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x03 }, { vcmpunordss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x03 }, { vcmpunordss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x04 }, { vcmpneqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x04 }, { vcmpneqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x04 }, { vcmpneqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x04 }, { vcmpneqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x04 }, { vcmpneqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x05 }, { vcmpnltss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x05 }, { vcmpnltss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x05 }, { vcmpnltss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x05 }, { vcmpnltss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x05 }, { vcmpnltss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x06 }, { vcmpnless k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x06 }, { vcmpnless k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x06 }, { vcmpnless k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x06 }, { vcmpnless k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x06 }, { vcmpnless k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x07 }, { vcmpordss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x07 }, { vcmpordss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x07 }, { vcmpordss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x07 }, { vcmpordss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x07 }, { vcmpordss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x08 }, { vcmpeq_uqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x09 }, { vcmpngess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x09 }, { vcmpngess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x09 }, { vcmpngess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x09 }, { vcmpngess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x09 }, { vcmpngess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0a }, { vcmpngtss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0a }, { vcmpngtss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0a }, { vcmpngtss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0a }, { vcmpngtss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0a }, { vcmpngtss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0b }, { vcmpfalsess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0b }, { vcmpfalsess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0b }, { vcmpfalsess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0b }, { vcmpfalsess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0b }, { vcmpfalsess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0c }, { vcmpneq_oqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0d }, { vcmpgess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0d }, { vcmpgess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0d }, { vcmpgess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0d }, { vcmpgess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0d }, { vcmpgess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0e }, { vcmpgtss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0e }, { vcmpgtss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0e }, { vcmpgtss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0e }, { vcmpgtss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0e }, { vcmpgtss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0f }, { vcmptruess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0f }, { vcmptruess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x0f }, { vcmptruess k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x0f }, { vcmptruess k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x0f }, { vcmptruess k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x10 }, { vcmpeq_osss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x10 }, { vcmpeq_osss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x10 }, { vcmpeq_osss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x10 }, { vcmpeq_osss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x10 }, { vcmpeq_osss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x10 }, { vcmpeq_osss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x10 }, { vcmpeq_osss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x10 }, { vcmpeq_osss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x11 }, { vcmplt_oqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x11 }, { vcmplt_oqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x11 }, { vcmplt_oqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x11 }, { vcmplt_oqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x11 }, { vcmplt_oqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x11 }, { vcmplt_oqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x11 }, { vcmplt_oqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x11 }, { vcmplt_oqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x12 }, { vcmple_oqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x12 }, { vcmple_oqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x12 }, { vcmple_oqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x12 }, { vcmple_oqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x12 }, { vcmple_oqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x12 }, { vcmple_oqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x12 }, { vcmple_oqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x12 }, { vcmple_oqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x13 }, { vcmpunord_sss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x13 }, { vcmpunord_sss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x13 }, { vcmpunord_sss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x13 }, { vcmpunord_sss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x13 }, { vcmpunord_sss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x13 }, { vcmpunord_sss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x13 }, { vcmpunord_sss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x13 }, { vcmpunord_sss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x14 }, { vcmpneq_usss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x14 }, { vcmpneq_usss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x14 }, { vcmpneq_usss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x14 }, { vcmpneq_usss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x14 }, { vcmpneq_usss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x14 }, { vcmpneq_usss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x14 }, { vcmpneq_usss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x14 }, { vcmpneq_usss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x15 }, { vcmpnlt_uqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x16 }, { vcmpnle_uqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x17 }, { vcmpord_sss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x17 }, { vcmpord_sss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x17 }, { vcmpord_sss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x17 }, { vcmpord_sss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x17 }, { vcmpord_sss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x17 }, { vcmpord_sss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x17 }, { vcmpord_sss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x17 }, { vcmpord_sss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x18 }, { vcmpeq_usss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x18 }, { vcmpeq_usss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x18 }, { vcmpeq_usss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x18 }, { vcmpeq_usss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x18 }, { vcmpeq_usss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x18 }, { vcmpeq_usss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x18 }, { vcmpeq_usss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x18 }, { vcmpeq_usss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x19 }, { vcmpnge_uqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1a }, { vcmpngt_uqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1b }, { vcmpfalse_osss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x1c }, { vcmpneq_osss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x1c }, { vcmpneq_osss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x1c }, { vcmpneq_osss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1c }, { vcmpneq_osss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x1c }, { vcmpneq_osss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1c }, { vcmpneq_osss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x1c }, { vcmpneq_osss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1c }, { vcmpneq_osss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x1d }, { vcmpge_oqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x1d }, { vcmpge_oqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x1d }, { vcmpge_oqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1d }, { vcmpge_oqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x1d }, { vcmpge_oqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1d }, { vcmpge_oqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x1d }, { vcmpge_oqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1d }, { vcmpge_oqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1e }, { vcmpgt_oqss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x16, 0x07, 0xc2, 0xec, 0x1f }, { vcmptrue_usss k5{k7},xmm29,xmm28 } +testcase { 0x62, 0x91, 0x16, 0x17, 0xc2, 0xec, 0x1f }, { vcmptrue_usss k5{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x29, 0x1f }, { vcmptrue_usss k5{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x16, 0x07, 0xc2, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x1f }, { vcmptrue_usss k5{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x7f, 0x1f }, { vcmptrue_usss k5{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x1f }, { vcmptrue_usss k5{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0x6a, 0x80, 0x1f }, { vcmptrue_usss k5{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x16, 0x07, 0xc2, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x1f }, { vcmptrue_usss k5{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x01, 0xfd, 0x08, 0x2f, 0xf5 }, { vcomisd xmm30,xmm29 } +testcase { 0x62, 0x01, 0xfd, 0x18, 0x2f, 0xf5 }, { vcomisd xmm30,xmm29,{sae} } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2f, 0x31 }, { vcomisd xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x2f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcomisd xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2f, 0x72, 0x7f }, { vcomisd xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcomisd xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2f, 0x72, 0x80 }, { vcomisd xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcomisd xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x7c, 0x08, 0x2f, 0xf5 }, { vcomiss xmm30,xmm29 } +testcase { 0x62, 0x01, 0x7c, 0x18, 0x2f, 0xf5 }, { vcomiss xmm30,xmm29,{sae} } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2f, 0x31 }, { vcomiss xmm30,DWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x08, 0x2f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcomiss xmm30,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2f, 0x72, 0x7f }, { vcomiss xmm30,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcomiss xmm30,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2f, 0x72, 0x80 }, { vcomiss xmm30,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcomiss xmm30,DWORD [rdx-0x204] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8a, 0x31 }, { vcompresspd ZWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x8a, 0x31 }, { vcompresspd ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x8a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcompresspd ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8a, 0x72, 0x7f }, { vcompresspd ZWORD [rdx+0x3f8],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8a, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcompresspd ZWORD [rdx+0x400],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8a, 0x72, 0x80 }, { vcompresspd ZWORD [rdx-0x400],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8a, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcompresspd ZWORD [rdx-0x408],zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x8a, 0xee }, { vcompresspd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x8a, 0xee }, { vcompresspd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x8a, 0xee }, { vcompresspd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8a, 0x31 }, { vcompressps ZWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x8a, 0x31 }, { vcompressps ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x8a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcompressps ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8a, 0x72, 0x7f }, { vcompressps ZWORD [rdx+0x1fc],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcompressps ZWORD [rdx+0x200],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8a, 0x72, 0x80 }, { vcompressps ZWORD [rdx-0x200],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcompressps ZWORD [rdx-0x204],zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x8a, 0xee }, { vcompressps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x8a, 0xee }, { vcompressps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x8a, 0xee }, { vcompressps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7e, 0x4f, 0xe6, 0xf5 }, { vcvtdq2pd zmm30{k7},ymm29 } +testcase { 0x62, 0x01, 0x7e, 0xcf, 0xe6, 0xf5 }, { vcvtdq2pd zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0xe6, 0x31 }, { vcvtdq2pd zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x4f, 0xe6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtdq2pd zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0xe6, 0x31 }, { vcvtdq2pd zmm30{k7},DWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0xe6, 0x72, 0x7f }, { vcvtdq2pd zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0xe6, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vcvtdq2pd zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0xe6, 0x72, 0x80 }, { vcvtdq2pd zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0xe6, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vcvtdq2pd zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0xe6, 0x72, 0x7f }, { vcvtdq2pd zmm30{k7},DWORD [rdx+0x1fc]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0xe6, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtdq2pd zmm30{k7},DWORD [rdx+0x200]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0xe6, 0x72, 0x80 }, { vcvtdq2pd zmm30{k7},DWORD [rdx-0x200]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0xe6, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtdq2pd zmm30{k7},DWORD [rdx-0x204]{1to8} } +testcase { 0x62, 0x01, 0x7c, 0x48, 0x5b, 0xf5 }, { vcvtdq2ps zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x5b, 0xf5 }, { vcvtdq2ps zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x5b, 0xf5 }, { vcvtdq2ps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x18, 0x5b, 0xf5 }, { vcvtdq2ps zmm30,zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0x7c, 0x58, 0x5b, 0xf5 }, { vcvtdq2ps zmm30,zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0x7c, 0x38, 0x5b, 0xf5 }, { vcvtdq2ps zmm30,zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0x7c, 0x78, 0x5b, 0xf5 }, { vcvtdq2ps zmm30,zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x5b, 0x31 }, { vcvtdq2ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x5b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtdq2ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x5b, 0x31 }, { vcvtdq2ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x5b, 0x72, 0x7f }, { vcvtdq2ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x5b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtdq2ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x5b, 0x72, 0x80 }, { vcvtdq2ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x5b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtdq2ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x5b, 0x72, 0x7f }, { vcvtdq2ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x5b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtdq2ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x5b, 0x72, 0x80 }, { vcvtdq2ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x5b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtdq2ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0xff, 0x4f, 0xe6, 0xf5 }, { vcvtpd2dq ymm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xff, 0xcf, 0xe6, 0xf5 }, { vcvtpd2dq ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0xff, 0x1f, 0xe6, 0xf5 }, { vcvtpd2dq ymm30{k7},zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0xff, 0x5f, 0xe6, 0xf5 }, { vcvtpd2dq ymm30{k7},zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0xff, 0x3f, 0xe6, 0xf5 }, { vcvtpd2dq ymm30{k7},zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0xff, 0x7f, 0xe6, 0xf5 }, { vcvtpd2dq ymm30{k7},zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0xff, 0x4f, 0xe6, 0x31 }, { vcvtpd2dq ymm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x21, 0xff, 0x4f, 0xe6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtpd2dq ymm30{k7},ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xff, 0x5f, 0xe6, 0x31 }, { vcvtpd2dq ymm30{k7},QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0xff, 0x4f, 0xe6, 0x72, 0x7f }, { vcvtpd2dq ymm30{k7},ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xff, 0x4f, 0xe6, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtpd2dq ymm30{k7},ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xff, 0x4f, 0xe6, 0x72, 0x80 }, { vcvtpd2dq ymm30{k7},ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xff, 0x4f, 0xe6, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtpd2dq ymm30{k7},ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xff, 0x5f, 0xe6, 0x72, 0x7f }, { vcvtpd2dq ymm30{k7},QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0xff, 0x5f, 0xe6, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtpd2dq ymm30{k7},QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0xff, 0x5f, 0xe6, 0x72, 0x80 }, { vcvtpd2dq ymm30{k7},QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0xff, 0x5f, 0xe6, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtpd2dq ymm30{k7},QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0xfd, 0x4f, 0x5a, 0xf5 }, { vcvtpd2ps ymm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0xcf, 0x5a, 0xf5 }, { vcvtpd2ps ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x1f, 0x5a, 0xf5 }, { vcvtpd2ps ymm30{k7},zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0xfd, 0x5f, 0x5a, 0xf5 }, { vcvtpd2ps ymm30{k7},zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0xfd, 0x3f, 0x5a, 0xf5 }, { vcvtpd2ps ymm30{k7},zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0xfd, 0x7f, 0x5a, 0xf5 }, { vcvtpd2ps ymm30{k7},zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x5a, 0x31 }, { vcvtpd2ps ymm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x4f, 0x5a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtpd2ps ymm30{k7},ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0x5a, 0x31 }, { vcvtpd2ps ymm30{k7},QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x5a, 0x72, 0x7f }, { vcvtpd2ps ymm30{k7},ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x5a, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtpd2ps ymm30{k7},ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x5a, 0x72, 0x80 }, { vcvtpd2ps ymm30{k7},ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x5a, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtpd2ps ymm30{k7},ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0x5a, 0x72, 0x7f }, { vcvtpd2ps ymm30{k7},QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0x5a, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtpd2ps ymm30{k7},QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0x5a, 0x72, 0x80 }, { vcvtpd2ps ymm30{k7},QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0x5a, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtpd2ps ymm30{k7},QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0xfc, 0x4f, 0x79, 0xf5 }, { vcvtpd2udq ymm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfc, 0xcf, 0x79, 0xf5 }, { vcvtpd2udq ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0xfc, 0x1f, 0x79, 0xf5 }, { vcvtpd2udq ymm30{k7},zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0xfc, 0x5f, 0x79, 0xf5 }, { vcvtpd2udq ymm30{k7},zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0xfc, 0x3f, 0x79, 0xf5 }, { vcvtpd2udq ymm30{k7},zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0xfc, 0x7f, 0x79, 0xf5 }, { vcvtpd2udq ymm30{k7},zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x79, 0x31 }, { vcvtpd2udq ymm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfc, 0x4f, 0x79, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtpd2udq ymm30{k7},ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x79, 0x31 }, { vcvtpd2udq ymm30{k7},QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x79, 0x72, 0x7f }, { vcvtpd2udq ymm30{k7},ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x79, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtpd2udq ymm30{k7},ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x79, 0x72, 0x80 }, { vcvtpd2udq ymm30{k7},ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x79, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtpd2udq ymm30{k7},ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x79, 0x72, 0x7f }, { vcvtpd2udq ymm30{k7},QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x79, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtpd2udq ymm30{k7},QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x79, 0x72, 0x80 }, { vcvtpd2udq ymm30{k7},QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x79, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtpd2udq ymm30{k7},QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x13, 0xf5 }, { vcvtph2ps zmm30{k7},ymm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x13, 0xf5 }, { vcvtph2ps zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x02, 0x7d, 0x1f, 0x13, 0xf5 }, { vcvtph2ps zmm30{k7},ymm29,{sae} } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x13, 0x31 }, { vcvtph2ps zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x13, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtph2ps zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x13, 0x72, 0x7f }, { vcvtph2ps zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x13, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vcvtph2ps zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x13, 0x72, 0x80 }, { vcvtph2ps zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x13, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vcvtph2ps zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x01, 0x7d, 0x48, 0x5b, 0xf5 }, { vcvtps2dq zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7d, 0x4f, 0x5b, 0xf5 }, { vcvtps2dq zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7d, 0xcf, 0x5b, 0xf5 }, { vcvtps2dq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7d, 0x18, 0x5b, 0xf5 }, { vcvtps2dq zmm30,zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0x7d, 0x58, 0x5b, 0xf5 }, { vcvtps2dq zmm30,zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0x7d, 0x38, 0x5b, 0xf5 }, { vcvtps2dq zmm30,zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0x7d, 0x78, 0x5b, 0xf5 }, { vcvtps2dq zmm30,zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x5b, 0x31 }, { vcvtps2dq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7d, 0x48, 0x5b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtps2dq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x5b, 0x31 }, { vcvtps2dq zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x5b, 0x72, 0x7f }, { vcvtps2dq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x5b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtps2dq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x5b, 0x72, 0x80 }, { vcvtps2dq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x5b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtps2dq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x5b, 0x72, 0x7f }, { vcvtps2dq zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x5b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtps2dq zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x5b, 0x72, 0x80 }, { vcvtps2dq zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x5b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtps2dq zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x5a, 0xf5 }, { vcvtps2pd zmm30{k7},ymm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x5a, 0xf5 }, { vcvtps2pd zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x01, 0x7c, 0x1f, 0x5a, 0xf5 }, { vcvtps2pd zmm30{k7},ymm29,{sae} } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x5a, 0x31 }, { vcvtps2pd zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x4f, 0x5a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtps2pd zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x5f, 0x5a, 0x31 }, { vcvtps2pd zmm30{k7},DWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x5a, 0x72, 0x7f }, { vcvtps2pd zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x5a, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vcvtps2pd zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x5a, 0x72, 0x80 }, { vcvtps2pd zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x5a, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vcvtps2pd zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x61, 0x7c, 0x5f, 0x5a, 0x72, 0x7f }, { vcvtps2pd zmm30{k7},DWORD [rdx+0x1fc]{1to8} } +testcase { 0x62, 0x61, 0x7c, 0x5f, 0x5a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtps2pd zmm30{k7},DWORD [rdx+0x200]{1to8} } +testcase { 0x62, 0x61, 0x7c, 0x5f, 0x5a, 0x72, 0x80 }, { vcvtps2pd zmm30{k7},DWORD [rdx-0x200]{1to8} } +testcase { 0x62, 0x61, 0x7c, 0x5f, 0x5a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtps2pd zmm30{k7},DWORD [rdx-0x204]{1to8} } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x1d, 0xee, 0xab }, { vcvtps2ph ymm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0xcf, 0x1d, 0xee, 0xab }, { vcvtps2ph ymm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x1f, 0x1d, 0xee, 0xab }, { vcvtps2ph ymm30{k7},zmm29,{sae},0xab } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x1d, 0xee, 0x7b }, { vcvtps2ph ymm30{k7},zmm29,0x7b } +testcase { 0x62, 0x03, 0x7d, 0x1f, 0x1d, 0xee, 0x7b }, { vcvtps2ph ymm30{k7},zmm29,{sae},0x7b } +testcase { 0x62, 0x01, 0x7c, 0x48, 0x79, 0xf5 }, { vcvtps2udq zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x79, 0xf5 }, { vcvtps2udq zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x79, 0xf5 }, { vcvtps2udq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x18, 0x79, 0xf5 }, { vcvtps2udq zmm30,zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0x7c, 0x58, 0x79, 0xf5 }, { vcvtps2udq zmm30,zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0x7c, 0x38, 0x79, 0xf5 }, { vcvtps2udq zmm30,zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0x7c, 0x78, 0x79, 0xf5 }, { vcvtps2udq zmm30,zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x79, 0x31 }, { vcvtps2udq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x79, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtps2udq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x79, 0x31 }, { vcvtps2udq zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x79, 0x72, 0x7f }, { vcvtps2udq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x79, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtps2udq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x79, 0x72, 0x80 }, { vcvtps2udq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x79, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtps2udq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x79, 0x72, 0x7f }, { vcvtps2udq zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x79, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtps2udq zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x79, 0x72, 0x80 }, { vcvtps2udq zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x79, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtps2udq zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x2d, 0xc6 }, { vcvtsd2si eax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7f, 0x58, 0x2d, 0xc6 }, { vcvtsd2si eax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7f, 0x38, 0x2d, 0xc6 }, { vcvtsd2si eax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7f, 0x78, 0x2d, 0xc6 }, { vcvtsd2si eax,xmm30,{rz-sae} } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x2d, 0xee }, { vcvtsd2si ebp,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7f, 0x58, 0x2d, 0xee }, { vcvtsd2si ebp,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7f, 0x38, 0x2d, 0xee }, { vcvtsd2si ebp,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7f, 0x78, 0x2d, 0xee }, { vcvtsd2si ebp,xmm30,{rz-sae} } +testcase { 0x62, 0x11, 0x7f, 0x18, 0x2d, 0xee }, { vcvtsd2si r13d,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0x7f, 0x58, 0x2d, 0xee }, { vcvtsd2si r13d,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0x7f, 0x38, 0x2d, 0xee }, { vcvtsd2si r13d,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0x7f, 0x78, 0x2d, 0xee }, { vcvtsd2si r13d,xmm30,{rz-sae} } +testcase { 0x62, 0x91, 0xff, 0x18, 0x2d, 0xc6 }, { vcvtsd2si rax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0xff, 0x58, 0x2d, 0xc6 }, { vcvtsd2si rax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0xff, 0x38, 0x2d, 0xc6 }, { vcvtsd2si rax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0xff, 0x78, 0x2d, 0xc6 }, { vcvtsd2si rax,xmm30,{rz-sae} } +testcase { 0x62, 0x11, 0xff, 0x18, 0x2d, 0xc6 }, { vcvtsd2si r8,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0xff, 0x58, 0x2d, 0xc6 }, { vcvtsd2si r8,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0xff, 0x38, 0x2d, 0xc6 }, { vcvtsd2si r8,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0xff, 0x78, 0x2d, 0xc6 }, { vcvtsd2si r8,xmm30,{rz-sae} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x5a, 0xf4 }, { vcvtsd2ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x5a, 0xf4 }, { vcvtsd2ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x5a, 0xf4 }, { vcvtsd2ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x97, 0x57, 0x5a, 0xf4 }, { vcvtsd2ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x97, 0x37, 0x5a, 0xf4 }, { vcvtsd2ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x97, 0x77, 0x5a, 0xf4 }, { vcvtsd2ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5a, 0x31 }, { vcvtsd2ss xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x5a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsd2ss xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5a, 0x72, 0x7f }, { vcvtsd2ss xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5a, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtsd2ss xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5a, 0x72, 0x80 }, { vcvtsd2ss xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5a, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsd2ss xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,eax } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0xf5 }, { vcvtsi2sd xmm30,xmm29,ebp } +testcase { 0x62, 0x41, 0x17, 0x00, 0x2a, 0xf5 }, { vcvtsi2sd xmm30,xmm29,r13d } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0x31 }, { vcvtsi2sd xmm30,xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x17, 0x00, 0x2a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsi2sd xmm30,xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0x72, 0x7f }, { vcvtsi2sd xmm30,xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtsi2sd xmm30,xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0x72, 0x80 }, { vcvtsi2sd xmm30,xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x2a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtsi2sd xmm30,xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,rax } +testcase { 0x62, 0x61, 0x97, 0x10, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{rn-sae},rax } +testcase { 0x62, 0x61, 0x97, 0x50, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{ru-sae},rax } +testcase { 0x62, 0x61, 0x97, 0x30, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{rd-sae},rax } +testcase { 0x62, 0x61, 0x97, 0x70, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{rz-sae},rax } +testcase { 0x62, 0x41, 0x97, 0x00, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,r8 } +testcase { 0x62, 0x41, 0x97, 0x10, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{rn-sae},r8 } +testcase { 0x62, 0x41, 0x97, 0x50, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{ru-sae},r8 } +testcase { 0x62, 0x41, 0x97, 0x30, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{rd-sae},r8 } +testcase { 0x62, 0x41, 0x97, 0x70, 0x2a, 0xf0 }, { vcvtsi2sd xmm30,xmm29,{rz-sae},r8 } +testcase { 0x62, 0x61, 0x97, 0x00, 0x2a, 0x31 }, { vcvtsi2sd xmm30,xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x00, 0x2a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsi2sd xmm30,xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x2a, 0x72, 0x7f }, { vcvtsi2sd xmm30,xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x2a, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtsi2sd xmm30,xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x2a, 0x72, 0x80 }, { vcvtsi2sd xmm30,xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x2a, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsi2sd xmm30,xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,eax } +testcase { 0x62, 0x61, 0x16, 0x10, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rn-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x50, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{ru-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x30, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rd-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x70, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rz-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,ebp } +testcase { 0x62, 0x61, 0x16, 0x10, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{rn-sae},ebp } +testcase { 0x62, 0x61, 0x16, 0x50, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{ru-sae},ebp } +testcase { 0x62, 0x61, 0x16, 0x30, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{rd-sae},ebp } +testcase { 0x62, 0x61, 0x16, 0x70, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{rz-sae},ebp } +testcase { 0x62, 0x41, 0x16, 0x00, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,r13d } +testcase { 0x62, 0x41, 0x16, 0x10, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{rn-sae},r13d } +testcase { 0x62, 0x41, 0x16, 0x50, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{ru-sae},r13d } +testcase { 0x62, 0x41, 0x16, 0x30, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{rd-sae},r13d } +testcase { 0x62, 0x41, 0x16, 0x70, 0x2a, 0xf5 }, { vcvtsi2ss xmm30,xmm29,{rz-sae},r13d } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0x31 }, { vcvtsi2ss xmm30,xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x00, 0x2a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsi2ss xmm30,xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0x72, 0x7f }, { vcvtsi2ss xmm30,xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtsi2ss xmm30,xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0x72, 0x80 }, { vcvtsi2ss xmm30,xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x2a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtsi2ss xmm30,xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,rax } +testcase { 0x62, 0x61, 0x96, 0x10, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rn-sae},rax } +testcase { 0x62, 0x61, 0x96, 0x50, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{ru-sae},rax } +testcase { 0x62, 0x61, 0x96, 0x30, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rd-sae},rax } +testcase { 0x62, 0x61, 0x96, 0x70, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rz-sae},rax } +testcase { 0x62, 0x41, 0x96, 0x00, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,r8 } +testcase { 0x62, 0x41, 0x96, 0x10, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rn-sae},r8 } +testcase { 0x62, 0x41, 0x96, 0x50, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{ru-sae},r8 } +testcase { 0x62, 0x41, 0x96, 0x30, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rd-sae},r8 } +testcase { 0x62, 0x41, 0x96, 0x70, 0x2a, 0xf0 }, { vcvtsi2ss xmm30,xmm29,{rz-sae},r8 } +testcase { 0x62, 0x61, 0x96, 0x00, 0x2a, 0x31 }, { vcvtsi2ss xmm30,xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x96, 0x00, 0x2a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsi2ss xmm30,xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x2a, 0x72, 0x7f }, { vcvtsi2ss xmm30,xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x2a, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtsi2ss xmm30,xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x2a, 0x72, 0x80 }, { vcvtsi2ss xmm30,xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x2a, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsi2ss xmm30,xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x5a, 0xf4 }, { vcvtss2sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x5a, 0xf4 }, { vcvtss2sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x5a, 0xf4 }, { vcvtss2sd xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5a, 0x31 }, { vcvtss2sd xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x5a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtss2sd xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5a, 0x72, 0x7f }, { vcvtss2sd xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtss2sd xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5a, 0x72, 0x80 }, { vcvtss2sd xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtss2sd xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x2d, 0xc6 }, { vcvtss2si eax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7e, 0x58, 0x2d, 0xc6 }, { vcvtss2si eax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7e, 0x38, 0x2d, 0xc6 }, { vcvtss2si eax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7e, 0x78, 0x2d, 0xc6 }, { vcvtss2si eax,xmm30,{rz-sae} } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x2d, 0xee }, { vcvtss2si ebp,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7e, 0x58, 0x2d, 0xee }, { vcvtss2si ebp,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7e, 0x38, 0x2d, 0xee }, { vcvtss2si ebp,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7e, 0x78, 0x2d, 0xee }, { vcvtss2si ebp,xmm30,{rz-sae} } +testcase { 0x62, 0x11, 0x7e, 0x18, 0x2d, 0xee }, { vcvtss2si r13d,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0x7e, 0x58, 0x2d, 0xee }, { vcvtss2si r13d,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0x7e, 0x38, 0x2d, 0xee }, { vcvtss2si r13d,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0x7e, 0x78, 0x2d, 0xee }, { vcvtss2si r13d,xmm30,{rz-sae} } +testcase { 0x62, 0x91, 0xfe, 0x18, 0x2d, 0xc6 }, { vcvtss2si rax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0xfe, 0x58, 0x2d, 0xc6 }, { vcvtss2si rax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0xfe, 0x38, 0x2d, 0xc6 }, { vcvtss2si rax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0xfe, 0x78, 0x2d, 0xc6 }, { vcvtss2si rax,xmm30,{rz-sae} } +testcase { 0x62, 0x11, 0xfe, 0x18, 0x2d, 0xc6 }, { vcvtss2si r8,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0xfe, 0x58, 0x2d, 0xc6 }, { vcvtss2si r8,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0xfe, 0x38, 0x2d, 0xc6 }, { vcvtss2si r8,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0xfe, 0x78, 0x2d, 0xc6 }, { vcvtss2si r8,xmm30,{rz-sae} } +testcase { 0x62, 0x01, 0xfd, 0x4f, 0xe6, 0xf5 }, { vcvttpd2dq ymm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0xcf, 0xe6, 0xf5 }, { vcvttpd2dq ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x1f, 0xe6, 0xf5 }, { vcvttpd2dq ymm30{k7},zmm29,{sae} } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0xe6, 0x31 }, { vcvttpd2dq ymm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x4f, 0xe6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttpd2dq ymm30{k7},ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0xe6, 0x31 }, { vcvttpd2dq ymm30{k7},QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0xe6, 0x72, 0x7f }, { vcvttpd2dq ymm30{k7},ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0xe6, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvttpd2dq ymm30{k7},ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0xe6, 0x72, 0x80 }, { vcvttpd2dq ymm30{k7},ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0xe6, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvttpd2dq ymm30{k7},ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0xe6, 0x72, 0x7f }, { vcvttpd2dq ymm30{k7},QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0xe6, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvttpd2dq ymm30{k7},QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0xe6, 0x72, 0x80 }, { vcvttpd2dq ymm30{k7},QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x5f, 0xe6, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvttpd2dq ymm30{k7},QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x7e, 0x48, 0x5b, 0xf5 }, { vcvttps2dq zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7e, 0x4f, 0x5b, 0xf5 }, { vcvttps2dq zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7e, 0xcf, 0x5b, 0xf5 }, { vcvttps2dq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7e, 0x18, 0x5b, 0xf5 }, { vcvttps2dq zmm30,zmm29,{sae} } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x5b, 0x31 }, { vcvttps2dq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x48, 0x5b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttps2dq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x58, 0x5b, 0x31 }, { vcvttps2dq zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x5b, 0x72, 0x7f }, { vcvttps2dq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x5b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvttps2dq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x5b, 0x72, 0x80 }, { vcvttps2dq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x5b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvttps2dq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7e, 0x58, 0x5b, 0x72, 0x7f }, { vcvttps2dq zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7e, 0x58, 0x5b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvttps2dq zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7e, 0x58, 0x5b, 0x72, 0x80 }, { vcvttps2dq zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7e, 0x58, 0x5b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvttps2dq zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x2c, 0xc6 }, { vcvttsd2si eax,xmm30,{sae} } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x2c, 0xee }, { vcvttsd2si ebp,xmm30,{sae} } +testcase { 0x62, 0x11, 0x7f, 0x18, 0x2c, 0xee }, { vcvttsd2si r13d,xmm30,{sae} } +testcase { 0x62, 0x91, 0xff, 0x18, 0x2c, 0xc6 }, { vcvttsd2si rax,xmm30,{sae} } +testcase { 0x62, 0x11, 0xff, 0x18, 0x2c, 0xc6 }, { vcvttsd2si r8,xmm30,{sae} } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x2c, 0xc6 }, { vcvttss2si eax,xmm30,{sae} } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x2c, 0xee }, { vcvttss2si ebp,xmm30,{sae} } +testcase { 0x62, 0x11, 0x7e, 0x18, 0x2c, 0xee }, { vcvttss2si r13d,xmm30,{sae} } +testcase { 0x62, 0x91, 0xfe, 0x18, 0x2c, 0xc6 }, { vcvttss2si rax,xmm30,{sae} } +testcase { 0x62, 0x11, 0xfe, 0x18, 0x2c, 0xc6 }, { vcvttss2si r8,xmm30,{sae} } +testcase { 0x62, 0x01, 0x7e, 0x4f, 0x7a, 0xf5 }, { vcvtudq2pd zmm30{k7},ymm29 } +testcase { 0x62, 0x01, 0x7e, 0xcf, 0x7a, 0xf5 }, { vcvtudq2pd zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0x7a, 0x31 }, { vcvtudq2pd zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x4f, 0x7a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtudq2pd zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0x7a, 0x31 }, { vcvtudq2pd zmm30{k7},DWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0x7a, 0x72, 0x7f }, { vcvtudq2pd zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0x7a, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vcvtudq2pd zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0x7a, 0x72, 0x80 }, { vcvtudq2pd zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0x7a, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vcvtudq2pd zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0x7a, 0x72, 0x7f }, { vcvtudq2pd zmm30{k7},DWORD [rdx+0x1fc]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0x7a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtudq2pd zmm30{k7},DWORD [rdx+0x200]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0x7a, 0x72, 0x80 }, { vcvtudq2pd zmm30{k7},DWORD [rdx-0x200]{1to8} } +testcase { 0x62, 0x61, 0x7e, 0x5f, 0x7a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtudq2pd zmm30{k7},DWORD [rdx-0x204]{1to8} } +testcase { 0x62, 0x01, 0x7f, 0x48, 0x7a, 0xf5 }, { vcvtudq2ps zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7f, 0x4f, 0x7a, 0xf5 }, { vcvtudq2ps zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7f, 0xcf, 0x7a, 0xf5 }, { vcvtudq2ps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7f, 0x18, 0x7a, 0xf5 }, { vcvtudq2ps zmm30,zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0x7f, 0x58, 0x7a, 0xf5 }, { vcvtudq2ps zmm30,zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0x7f, 0x38, 0x7a, 0xf5 }, { vcvtudq2ps zmm30,zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0x7f, 0x78, 0x7a, 0xf5 }, { vcvtudq2ps zmm30,zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0x7f, 0x48, 0x7a, 0x31 }, { vcvtudq2ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7f, 0x48, 0x7a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtudq2ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7f, 0x58, 0x7a, 0x31 }, { vcvtudq2ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7f, 0x48, 0x7a, 0x72, 0x7f }, { vcvtudq2ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7f, 0x48, 0x7a, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvtudq2ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7f, 0x48, 0x7a, 0x72, 0x80 }, { vcvtudq2ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7f, 0x48, 0x7a, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvtudq2ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7f, 0x58, 0x7a, 0x72, 0x7f }, { vcvtudq2ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7f, 0x58, 0x7a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtudq2ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7f, 0x58, 0x7a, 0x72, 0x80 }, { vcvtudq2ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7f, 0x58, 0x7a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtudq2ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0x5e, 0xf4 }, { vdivpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x5e, 0xf4 }, { vdivpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x5e, 0xf4 }, { vdivpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x10, 0x5e, 0xf4 }, { vdivpd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x95, 0x50, 0x5e, 0xf4 }, { vdivpd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x95, 0x30, 0x5e, 0xf4 }, { vdivpd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x95, 0x70, 0x5e, 0xf4 }, { vdivpd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5e, 0x31 }, { vdivpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x5e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vdivpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5e, 0x31 }, { vdivpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5e, 0x72, 0x7f }, { vdivpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vdivpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5e, 0x72, 0x80 }, { vdivpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vdivpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5e, 0x72, 0x7f }, { vdivpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vdivpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5e, 0x72, 0x80 }, { vdivpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vdivpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x5e, 0xf4 }, { vdivps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x5e, 0xf4 }, { vdivps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x5e, 0xf4 }, { vdivps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x10, 0x5e, 0xf4 }, { vdivps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x14, 0x50, 0x5e, 0xf4 }, { vdivps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x14, 0x30, 0x5e, 0xf4 }, { vdivps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x14, 0x70, 0x5e, 0xf4 }, { vdivps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5e, 0x31 }, { vdivps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x5e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vdivps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5e, 0x31 }, { vdivps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5e, 0x72, 0x7f }, { vdivps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vdivps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5e, 0x72, 0x80 }, { vdivps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vdivps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5e, 0x72, 0x7f }, { vdivps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vdivps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5e, 0x72, 0x80 }, { vdivps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vdivps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x5e, 0xf4 }, { vdivsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x5e, 0xf4 }, { vdivsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x5e, 0xf4 }, { vdivsd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x97, 0x57, 0x5e, 0xf4 }, { vdivsd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x97, 0x37, 0x5e, 0xf4 }, { vdivsd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x97, 0x77, 0x5e, 0xf4 }, { vdivsd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5e, 0x31 }, { vdivsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x5e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vdivsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5e, 0x72, 0x7f }, { vdivsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vdivsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5e, 0x72, 0x80 }, { vdivsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vdivsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x5e, 0xf4 }, { vdivss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x5e, 0xf4 }, { vdivss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x5e, 0xf4 }, { vdivss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x16, 0x57, 0x5e, 0xf4 }, { vdivss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x16, 0x37, 0x5e, 0xf4 }, { vdivss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x16, 0x77, 0x5e, 0xf4 }, { vdivss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5e, 0x31 }, { vdivss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x5e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vdivss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5e, 0x72, 0x7f }, { vdivss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vdivss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5e, 0x72, 0x80 }, { vdivss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vdivss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x88, 0x31 }, { vexpandpd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x88, 0x31 }, { vexpandpd zmm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x88, 0x31 }, { vexpandpd zmm30{k7}{z},ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x88, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vexpandpd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x88, 0x72, 0x7f }, { vexpandpd zmm30,ZWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x88, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vexpandpd zmm30,ZWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x88, 0x72, 0x80 }, { vexpandpd zmm30,ZWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x88, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vexpandpd zmm30,ZWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x88, 0xf5 }, { vexpandpd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x88, 0xf5 }, { vexpandpd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x88, 0xf5 }, { vexpandpd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x88, 0x31 }, { vexpandps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x88, 0x31 }, { vexpandps zmm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x88, 0x31 }, { vexpandps zmm30{k7}{z},ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x88, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vexpandps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x88, 0x72, 0x7f }, { vexpandps zmm30,ZWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x88, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vexpandps zmm30,ZWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x88, 0x72, 0x80 }, { vexpandps zmm30,ZWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x88, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vexpandps zmm30,ZWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x88, 0xf5 }, { vexpandps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x88, 0xf5 }, { vexpandps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x88, 0xf5 }, { vexpandps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x19, 0xee, 0xab }, { vextractf32x4 xmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0xcf, 0x19, 0xee, 0xab }, { vextractf32x4 xmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x19, 0xee, 0x7b }, { vextractf32x4 xmm30{k7},zmm29,0x7b } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x1b, 0xee, 0xab }, { vextractf64x4 ymm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x1b, 0xee, 0xab }, { vextractf64x4 ymm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x1b, 0xee, 0x7b }, { vextractf64x4 ymm30{k7},zmm29,0x7b } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x39, 0xee, 0xab }, { vextracti32x4 xmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0xcf, 0x39, 0xee, 0xab }, { vextracti32x4 xmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x39, 0xee, 0x7b }, { vextracti32x4 xmm30{k7},zmm29,0x7b } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x3b, 0xee, 0xab }, { vextracti64x4 ymm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x3b, 0xee, 0xab }, { vextracti64x4 ymm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x3b, 0xee, 0x7b }, { vextracti64x4 ymm30{k7},zmm29,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x08, 0x17, 0xe8, 0xab }, { vextractps rax,xmm29,0xab } +testcase { 0x62, 0x63, 0xfd, 0x08, 0x17, 0xe8, 0x7b }, { vextractps rax,xmm29,0x7b } +testcase { 0x62, 0x43, 0xfd, 0x08, 0x17, 0xe8, 0x7b }, { vextractps r8,xmm29,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x08, 0x17, 0x29, 0x7b }, { vextractps DWORD [rcx],xmm29,0x7b } +testcase { 0x62, 0x23, 0x7d, 0x08, 0x17, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vextractps DWORD [rax+r14*8+0x123],xmm29,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x08, 0x17, 0x6a, 0x7f, 0x7b }, { vextractps DWORD [rdx+0x1fc],xmm29,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x08, 0x17, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vextractps DWORD [rdx+0x200],xmm29,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x08, 0x17, 0x6a, 0x80, 0x7b }, { vextractps DWORD [rdx-0x200],xmm29,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x08, 0x17, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vextractps DWORD [rdx-0x204],xmm29,0x7b } +testcase { 0x62, 0x02, 0x95, 0x40, 0x98, 0xf4 }, { vfmadd132pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x98, 0xf4 }, { vfmadd132pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x98, 0xf4 }, { vfmadd132pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x98, 0xf4 }, { vfmadd132pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x98, 0xf4 }, { vfmadd132pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x98, 0xf4 }, { vfmadd132pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x98, 0xf4 }, { vfmadd132pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x98, 0x31 }, { vfmadd132pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x98, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd132pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x98, 0x31 }, { vfmadd132pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x98, 0x72, 0x7f }, { vfmadd132pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x98, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmadd132pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x98, 0x72, 0x80 }, { vfmadd132pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x98, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmadd132pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x98, 0x72, 0x7f }, { vfmadd132pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x98, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmadd132pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x98, 0x72, 0x80 }, { vfmadd132pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x98, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmadd132pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x98, 0xf4 }, { vfmadd132ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x98, 0xf4 }, { vfmadd132ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x98, 0xf4 }, { vfmadd132ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x98, 0xf4 }, { vfmadd132ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x98, 0xf4 }, { vfmadd132ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x98, 0xf4 }, { vfmadd132ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x98, 0xf4 }, { vfmadd132ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x98, 0x31 }, { vfmadd132ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x98, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd132ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x98, 0x31 }, { vfmadd132ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x98, 0x72, 0x7f }, { vfmadd132ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x98, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmadd132ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x98, 0x72, 0x80 }, { vfmadd132ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x98, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmadd132ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x98, 0x72, 0x7f }, { vfmadd132ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x98, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmadd132ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x98, 0x72, 0x80 }, { vfmadd132ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x98, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmadd132ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x99, 0xf4 }, { vfmadd132sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x99, 0xf4 }, { vfmadd132sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0x99, 0xf4 }, { vfmadd132sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0x99, 0xf4 }, { vfmadd132sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0x99, 0xf4 }, { vfmadd132sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0x99, 0xf4 }, { vfmadd132sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0x99, 0x31 }, { vfmadd132sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x99, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd132sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x99, 0x72, 0x7f }, { vfmadd132sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x99, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmadd132sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x99, 0x72, 0x80 }, { vfmadd132sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x99, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmadd132sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x99, 0xf4 }, { vfmadd132ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x99, 0xf4 }, { vfmadd132ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0x99, 0xf4 }, { vfmadd132ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0x99, 0xf4 }, { vfmadd132ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0x99, 0xf4 }, { vfmadd132ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0x99, 0xf4 }, { vfmadd132ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0x99, 0x31 }, { vfmadd132ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x99, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd132ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x99, 0x72, 0x7f }, { vfmadd132ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x99, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmadd132ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x99, 0x72, 0x80 }, { vfmadd132ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x99, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmadd132ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xa8, 0xf4 }, { vfmadd213pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xa8, 0xf4 }, { vfmadd213pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xa8, 0xf4 }, { vfmadd213pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xa8, 0xf4 }, { vfmadd213pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xa8, 0xf4 }, { vfmadd213pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xa8, 0xf4 }, { vfmadd213pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xa8, 0xf4 }, { vfmadd213pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa8, 0x31 }, { vfmadd213pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xa8, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd213pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa8, 0x31 }, { vfmadd213pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa8, 0x72, 0x7f }, { vfmadd213pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa8, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmadd213pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa8, 0x72, 0x80 }, { vfmadd213pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa8, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmadd213pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa8, 0x72, 0x7f }, { vfmadd213pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa8, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmadd213pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa8, 0x72, 0x80 }, { vfmadd213pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa8, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmadd213pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xa8, 0xf4 }, { vfmadd213ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xa8, 0xf4 }, { vfmadd213ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xa8, 0xf4 }, { vfmadd213ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xa8, 0xf4 }, { vfmadd213ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xa8, 0xf4 }, { vfmadd213ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xa8, 0xf4 }, { vfmadd213ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xa8, 0xf4 }, { vfmadd213ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa8, 0x31 }, { vfmadd213ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xa8, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd213ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa8, 0x31 }, { vfmadd213ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa8, 0x72, 0x7f }, { vfmadd213ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa8, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmadd213ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa8, 0x72, 0x80 }, { vfmadd213ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa8, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmadd213ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa8, 0x72, 0x7f }, { vfmadd213ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa8, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmadd213ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa8, 0x72, 0x80 }, { vfmadd213ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa8, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmadd213ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xa9, 0xf4 }, { vfmadd213sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xa9, 0xf4 }, { vfmadd213sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xa9, 0xf4 }, { vfmadd213sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xa9, 0xf4 }, { vfmadd213sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xa9, 0xf4 }, { vfmadd213sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xa9, 0xf4 }, { vfmadd213sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xa9, 0x31 }, { vfmadd213sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xa9, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd213sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xa9, 0x72, 0x7f }, { vfmadd213sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xa9, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmadd213sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xa9, 0x72, 0x80 }, { vfmadd213sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xa9, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmadd213sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xa9, 0xf4 }, { vfmadd213ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xa9, 0xf4 }, { vfmadd213ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xa9, 0xf4 }, { vfmadd213ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xa9, 0xf4 }, { vfmadd213ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xa9, 0xf4 }, { vfmadd213ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xa9, 0xf4 }, { vfmadd213ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xa9, 0x31 }, { vfmadd213ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xa9, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd213ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xa9, 0x72, 0x7f }, { vfmadd213ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xa9, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmadd213ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xa9, 0x72, 0x80 }, { vfmadd213ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xa9, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmadd213ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xb8, 0xf4 }, { vfmadd231pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xb8, 0xf4 }, { vfmadd231pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xb8, 0xf4 }, { vfmadd231pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xb8, 0xf4 }, { vfmadd231pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xb8, 0xf4 }, { vfmadd231pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xb8, 0xf4 }, { vfmadd231pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xb8, 0xf4 }, { vfmadd231pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb8, 0x31 }, { vfmadd231pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xb8, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd231pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb8, 0x31 }, { vfmadd231pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb8, 0x72, 0x7f }, { vfmadd231pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb8, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmadd231pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb8, 0x72, 0x80 }, { vfmadd231pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb8, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmadd231pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb8, 0x72, 0x7f }, { vfmadd231pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb8, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmadd231pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb8, 0x72, 0x80 }, { vfmadd231pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb8, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmadd231pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xb8, 0xf4 }, { vfmadd231ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xb8, 0xf4 }, { vfmadd231ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xb8, 0xf4 }, { vfmadd231ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xb8, 0xf4 }, { vfmadd231ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xb8, 0xf4 }, { vfmadd231ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xb8, 0xf4 }, { vfmadd231ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xb8, 0xf4 }, { vfmadd231ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb8, 0x31 }, { vfmadd231ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xb8, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd231ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb8, 0x31 }, { vfmadd231ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb8, 0x72, 0x7f }, { vfmadd231ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb8, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmadd231ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb8, 0x72, 0x80 }, { vfmadd231ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb8, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmadd231ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb8, 0x72, 0x7f }, { vfmadd231ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb8, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmadd231ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb8, 0x72, 0x80 }, { vfmadd231ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb8, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmadd231ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xb9, 0xf4 }, { vfmadd231sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xb9, 0xf4 }, { vfmadd231sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xb9, 0xf4 }, { vfmadd231sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xb9, 0xf4 }, { vfmadd231sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xb9, 0xf4 }, { vfmadd231sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xb9, 0xf4 }, { vfmadd231sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xb9, 0x31 }, { vfmadd231sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xb9, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd231sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xb9, 0x72, 0x7f }, { vfmadd231sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xb9, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmadd231sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xb9, 0x72, 0x80 }, { vfmadd231sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xb9, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmadd231sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xb9, 0xf4 }, { vfmadd231ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xb9, 0xf4 }, { vfmadd231ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xb9, 0xf4 }, { vfmadd231ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xb9, 0xf4 }, { vfmadd231ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xb9, 0xf4 }, { vfmadd231ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xb9, 0xf4 }, { vfmadd231ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xb9, 0x31 }, { vfmadd231ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xb9, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmadd231ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xb9, 0x72, 0x7f }, { vfmadd231ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xb9, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmadd231ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xb9, 0x72, 0x80 }, { vfmadd231ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xb9, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmadd231ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0x96, 0xf4 }, { vfmaddsub132pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x96, 0xf4 }, { vfmaddsub132pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x96, 0xf4 }, { vfmaddsub132pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x96, 0xf4 }, { vfmaddsub132pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x96, 0xf4 }, { vfmaddsub132pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x96, 0xf4 }, { vfmaddsub132pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x96, 0xf4 }, { vfmaddsub132pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x96, 0x31 }, { vfmaddsub132pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x96, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmaddsub132pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x96, 0x31 }, { vfmaddsub132pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x96, 0x72, 0x7f }, { vfmaddsub132pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x96, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmaddsub132pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x96, 0x72, 0x80 }, { vfmaddsub132pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x96, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmaddsub132pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x96, 0x72, 0x7f }, { vfmaddsub132pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x96, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmaddsub132pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x96, 0x72, 0x80 }, { vfmaddsub132pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x96, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmaddsub132pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x96, 0xf4 }, { vfmaddsub132ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x96, 0xf4 }, { vfmaddsub132ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x96, 0xf4 }, { vfmaddsub132ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x96, 0xf4 }, { vfmaddsub132ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x96, 0xf4 }, { vfmaddsub132ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x96, 0xf4 }, { vfmaddsub132ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x96, 0xf4 }, { vfmaddsub132ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x96, 0x31 }, { vfmaddsub132ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x96, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmaddsub132ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x96, 0x31 }, { vfmaddsub132ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x96, 0x72, 0x7f }, { vfmaddsub132ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x96, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmaddsub132ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x96, 0x72, 0x80 }, { vfmaddsub132ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x96, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmaddsub132ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x96, 0x72, 0x7f }, { vfmaddsub132ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x96, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmaddsub132ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x96, 0x72, 0x80 }, { vfmaddsub132ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x96, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmaddsub132ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xa6, 0xf4 }, { vfmaddsub213pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa6, 0x31 }, { vfmaddsub213pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xa6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmaddsub213pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa6, 0x31 }, { vfmaddsub213pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa6, 0x72, 0x7f }, { vfmaddsub213pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa6, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmaddsub213pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa6, 0x72, 0x80 }, { vfmaddsub213pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa6, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmaddsub213pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa6, 0x72, 0x7f }, { vfmaddsub213pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa6, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmaddsub213pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa6, 0x72, 0x80 }, { vfmaddsub213pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa6, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmaddsub213pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xa6, 0xf4 }, { vfmaddsub213ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa6, 0x31 }, { vfmaddsub213ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xa6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmaddsub213ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa6, 0x31 }, { vfmaddsub213ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa6, 0x72, 0x7f }, { vfmaddsub213ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa6, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmaddsub213ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa6, 0x72, 0x80 }, { vfmaddsub213ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa6, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmaddsub213ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa6, 0x72, 0x7f }, { vfmaddsub213ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa6, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmaddsub213ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa6, 0x72, 0x80 }, { vfmaddsub213ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa6, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmaddsub213ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xb6, 0xf4 }, { vfmaddsub231pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb6, 0x31 }, { vfmaddsub231pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xb6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmaddsub231pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb6, 0x31 }, { vfmaddsub231pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb6, 0x72, 0x7f }, { vfmaddsub231pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb6, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmaddsub231pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb6, 0x72, 0x80 }, { vfmaddsub231pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb6, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmaddsub231pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb6, 0x72, 0x7f }, { vfmaddsub231pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb6, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmaddsub231pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb6, 0x72, 0x80 }, { vfmaddsub231pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb6, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmaddsub231pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xb6, 0xf4 }, { vfmaddsub231ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb6, 0x31 }, { vfmaddsub231ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xb6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmaddsub231ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb6, 0x31 }, { vfmaddsub231ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb6, 0x72, 0x7f }, { vfmaddsub231ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb6, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmaddsub231ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb6, 0x72, 0x80 }, { vfmaddsub231ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb6, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmaddsub231ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb6, 0x72, 0x7f }, { vfmaddsub231ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb6, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmaddsub231ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb6, 0x72, 0x80 }, { vfmaddsub231ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb6, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmaddsub231ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x9a, 0xf4 }, { vfmsub132pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x9a, 0xf4 }, { vfmsub132pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x9a, 0xf4 }, { vfmsub132pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x9a, 0xf4 }, { vfmsub132pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x9a, 0xf4 }, { vfmsub132pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x9a, 0xf4 }, { vfmsub132pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x9a, 0xf4 }, { vfmsub132pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9a, 0x31 }, { vfmsub132pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x9a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub132pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9a, 0x31 }, { vfmsub132pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9a, 0x72, 0x7f }, { vfmsub132pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9a, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsub132pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9a, 0x72, 0x80 }, { vfmsub132pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9a, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsub132pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9a, 0x72, 0x7f }, { vfmsub132pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9a, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsub132pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9a, 0x72, 0x80 }, { vfmsub132pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9a, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsub132pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x9a, 0xf4 }, { vfmsub132ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x9a, 0xf4 }, { vfmsub132ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x9a, 0xf4 }, { vfmsub132ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x9a, 0xf4 }, { vfmsub132ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x9a, 0xf4 }, { vfmsub132ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x9a, 0xf4 }, { vfmsub132ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x9a, 0xf4 }, { vfmsub132ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9a, 0x31 }, { vfmsub132ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x9a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub132ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9a, 0x31 }, { vfmsub132ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9a, 0x72, 0x7f }, { vfmsub132ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9a, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsub132ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9a, 0x72, 0x80 }, { vfmsub132ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9a, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsub132ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9a, 0x72, 0x7f }, { vfmsub132ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsub132ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9a, 0x72, 0x80 }, { vfmsub132ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsub132ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x9b, 0xf4 }, { vfmsub132sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x9b, 0xf4 }, { vfmsub132sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0x9b, 0xf4 }, { vfmsub132sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0x9b, 0xf4 }, { vfmsub132sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0x9b, 0xf4 }, { vfmsub132sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0x9b, 0xf4 }, { vfmsub132sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9b, 0x31 }, { vfmsub132sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x9b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub132sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9b, 0x72, 0x7f }, { vfmsub132sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9b, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsub132sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9b, 0x72, 0x80 }, { vfmsub132sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9b, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsub132sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x9b, 0xf4 }, { vfmsub132ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x9b, 0xf4 }, { vfmsub132ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0x9b, 0xf4 }, { vfmsub132ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0x9b, 0xf4 }, { vfmsub132ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0x9b, 0xf4 }, { vfmsub132ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0x9b, 0xf4 }, { vfmsub132ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9b, 0x31 }, { vfmsub132ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x9b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub132ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9b, 0x72, 0x7f }, { vfmsub132ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsub132ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9b, 0x72, 0x80 }, { vfmsub132ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsub132ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xaa, 0xf4 }, { vfmsub213pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xaa, 0xf4 }, { vfmsub213pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xaa, 0xf4 }, { vfmsub213pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xaa, 0xf4 }, { vfmsub213pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xaa, 0xf4 }, { vfmsub213pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xaa, 0xf4 }, { vfmsub213pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xaa, 0xf4 }, { vfmsub213pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xaa, 0x31 }, { vfmsub213pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xaa, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub213pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xaa, 0x31 }, { vfmsub213pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xaa, 0x72, 0x7f }, { vfmsub213pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xaa, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsub213pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xaa, 0x72, 0x80 }, { vfmsub213pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xaa, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsub213pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xaa, 0x72, 0x7f }, { vfmsub213pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xaa, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsub213pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xaa, 0x72, 0x80 }, { vfmsub213pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xaa, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsub213pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xaa, 0xf4 }, { vfmsub213ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xaa, 0xf4 }, { vfmsub213ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xaa, 0xf4 }, { vfmsub213ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xaa, 0xf4 }, { vfmsub213ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xaa, 0xf4 }, { vfmsub213ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xaa, 0xf4 }, { vfmsub213ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xaa, 0xf4 }, { vfmsub213ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xaa, 0x31 }, { vfmsub213ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xaa, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub213ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xaa, 0x31 }, { vfmsub213ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xaa, 0x72, 0x7f }, { vfmsub213ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xaa, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsub213ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xaa, 0x72, 0x80 }, { vfmsub213ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xaa, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsub213ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xaa, 0x72, 0x7f }, { vfmsub213ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xaa, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsub213ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xaa, 0x72, 0x80 }, { vfmsub213ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xaa, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsub213ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xab, 0xf4 }, { vfmsub213sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xab, 0xf4 }, { vfmsub213sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xab, 0xf4 }, { vfmsub213sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xab, 0xf4 }, { vfmsub213sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xab, 0xf4 }, { vfmsub213sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xab, 0xf4 }, { vfmsub213sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xab, 0x31 }, { vfmsub213sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xab, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub213sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xab, 0x72, 0x7f }, { vfmsub213sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xab, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsub213sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xab, 0x72, 0x80 }, { vfmsub213sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xab, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsub213sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xab, 0xf4 }, { vfmsub213ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xab, 0xf4 }, { vfmsub213ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xab, 0xf4 }, { vfmsub213ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xab, 0xf4 }, { vfmsub213ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xab, 0xf4 }, { vfmsub213ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xab, 0xf4 }, { vfmsub213ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xab, 0x31 }, { vfmsub213ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xab, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub213ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xab, 0x72, 0x7f }, { vfmsub213ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xab, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsub213ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xab, 0x72, 0x80 }, { vfmsub213ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xab, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsub213ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xba, 0xf4 }, { vfmsub231pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xba, 0xf4 }, { vfmsub231pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xba, 0xf4 }, { vfmsub231pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xba, 0xf4 }, { vfmsub231pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xba, 0xf4 }, { vfmsub231pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xba, 0xf4 }, { vfmsub231pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xba, 0xf4 }, { vfmsub231pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xba, 0x31 }, { vfmsub231pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xba, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub231pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xba, 0x31 }, { vfmsub231pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xba, 0x72, 0x7f }, { vfmsub231pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xba, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsub231pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xba, 0x72, 0x80 }, { vfmsub231pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xba, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsub231pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xba, 0x72, 0x7f }, { vfmsub231pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xba, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsub231pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xba, 0x72, 0x80 }, { vfmsub231pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xba, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsub231pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xba, 0xf4 }, { vfmsub231ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xba, 0xf4 }, { vfmsub231ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xba, 0xf4 }, { vfmsub231ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xba, 0xf4 }, { vfmsub231ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xba, 0xf4 }, { vfmsub231ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xba, 0xf4 }, { vfmsub231ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xba, 0xf4 }, { vfmsub231ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xba, 0x31 }, { vfmsub231ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xba, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub231ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xba, 0x31 }, { vfmsub231ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xba, 0x72, 0x7f }, { vfmsub231ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xba, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsub231ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xba, 0x72, 0x80 }, { vfmsub231ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xba, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsub231ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xba, 0x72, 0x7f }, { vfmsub231ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xba, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsub231ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xba, 0x72, 0x80 }, { vfmsub231ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xba, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsub231ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xbb, 0xf4 }, { vfmsub231sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xbb, 0xf4 }, { vfmsub231sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xbb, 0xf4 }, { vfmsub231sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xbb, 0xf4 }, { vfmsub231sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xbb, 0xf4 }, { vfmsub231sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xbb, 0xf4 }, { vfmsub231sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbb, 0x31 }, { vfmsub231sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xbb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub231sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbb, 0x72, 0x7f }, { vfmsub231sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbb, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsub231sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbb, 0x72, 0x80 }, { vfmsub231sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbb, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsub231sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xbb, 0xf4 }, { vfmsub231ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xbb, 0xf4 }, { vfmsub231ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xbb, 0xf4 }, { vfmsub231ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xbb, 0xf4 }, { vfmsub231ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xbb, 0xf4 }, { vfmsub231ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xbb, 0xf4 }, { vfmsub231ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbb, 0x31 }, { vfmsub231ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xbb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsub231ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbb, 0x72, 0x7f }, { vfmsub231ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbb, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsub231ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbb, 0x72, 0x80 }, { vfmsub231ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbb, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsub231ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0x97, 0xf4 }, { vfmsubadd132pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x97, 0xf4 }, { vfmsubadd132pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x97, 0xf4 }, { vfmsubadd132pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x97, 0xf4 }, { vfmsubadd132pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x97, 0xf4 }, { vfmsubadd132pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x97, 0xf4 }, { vfmsubadd132pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x97, 0xf4 }, { vfmsubadd132pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x97, 0x31 }, { vfmsubadd132pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x97, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsubadd132pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x97, 0x31 }, { vfmsubadd132pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x97, 0x72, 0x7f }, { vfmsubadd132pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x97, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsubadd132pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x97, 0x72, 0x80 }, { vfmsubadd132pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x97, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsubadd132pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x97, 0x72, 0x7f }, { vfmsubadd132pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x97, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsubadd132pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x97, 0x72, 0x80 }, { vfmsubadd132pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x97, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsubadd132pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x97, 0xf4 }, { vfmsubadd132ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x97, 0xf4 }, { vfmsubadd132ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x97, 0xf4 }, { vfmsubadd132ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x97, 0xf4 }, { vfmsubadd132ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x97, 0xf4 }, { vfmsubadd132ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x97, 0xf4 }, { vfmsubadd132ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x97, 0xf4 }, { vfmsubadd132ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x97, 0x31 }, { vfmsubadd132ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x97, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsubadd132ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x97, 0x31 }, { vfmsubadd132ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x97, 0x72, 0x7f }, { vfmsubadd132ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x97, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsubadd132ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x97, 0x72, 0x80 }, { vfmsubadd132ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x97, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsubadd132ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x97, 0x72, 0x7f }, { vfmsubadd132ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x97, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsubadd132ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x97, 0x72, 0x80 }, { vfmsubadd132ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x97, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsubadd132ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xa7, 0xf4 }, { vfmsubadd213pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa7, 0x31 }, { vfmsubadd213pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xa7, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsubadd213pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa7, 0x31 }, { vfmsubadd213pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa7, 0x72, 0x7f }, { vfmsubadd213pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa7, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsubadd213pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa7, 0x72, 0x80 }, { vfmsubadd213pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xa7, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsubadd213pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa7, 0x72, 0x7f }, { vfmsubadd213pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa7, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsubadd213pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa7, 0x72, 0x80 }, { vfmsubadd213pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xa7, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsubadd213pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xa7, 0xf4 }, { vfmsubadd213ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa7, 0x31 }, { vfmsubadd213ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xa7, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsubadd213ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa7, 0x31 }, { vfmsubadd213ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa7, 0x72, 0x7f }, { vfmsubadd213ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa7, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsubadd213ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa7, 0x72, 0x80 }, { vfmsubadd213ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xa7, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsubadd213ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa7, 0x72, 0x7f }, { vfmsubadd213ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa7, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsubadd213ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa7, 0x72, 0x80 }, { vfmsubadd213ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xa7, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsubadd213ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xb7, 0xf4 }, { vfmsubadd231pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb7, 0x31 }, { vfmsubadd231pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xb7, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsubadd231pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb7, 0x31 }, { vfmsubadd231pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb7, 0x72, 0x7f }, { vfmsubadd231pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb7, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsubadd231pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb7, 0x72, 0x80 }, { vfmsubadd231pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xb7, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsubadd231pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb7, 0x72, 0x7f }, { vfmsubadd231pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb7, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfmsubadd231pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb7, 0x72, 0x80 }, { vfmsubadd231pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xb7, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfmsubadd231pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xb7, 0xf4 }, { vfmsubadd231ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb7, 0x31 }, { vfmsubadd231ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xb7, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfmsubadd231ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb7, 0x31 }, { vfmsubadd231ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb7, 0x72, 0x7f }, { vfmsubadd231ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb7, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfmsubadd231ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb7, 0x72, 0x80 }, { vfmsubadd231ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xb7, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfmsubadd231ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb7, 0x72, 0x7f }, { vfmsubadd231ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb7, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfmsubadd231ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb7, 0x72, 0x80 }, { vfmsubadd231ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xb7, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfmsubadd231ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x9c, 0xf4 }, { vfnmadd132pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x9c, 0xf4 }, { vfnmadd132pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x9c, 0xf4 }, { vfnmadd132pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x9c, 0xf4 }, { vfnmadd132pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x9c, 0xf4 }, { vfnmadd132pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x9c, 0xf4 }, { vfnmadd132pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x9c, 0xf4 }, { vfnmadd132pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9c, 0x31 }, { vfnmadd132pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x9c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd132pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9c, 0x31 }, { vfnmadd132pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9c, 0x72, 0x7f }, { vfnmadd132pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmadd132pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9c, 0x72, 0x80 }, { vfnmadd132pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmadd132pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9c, 0x72, 0x7f }, { vfnmadd132pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9c, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmadd132pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9c, 0x72, 0x80 }, { vfnmadd132pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9c, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmadd132pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x9c, 0xf4 }, { vfnmadd132ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x9c, 0xf4 }, { vfnmadd132ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x9c, 0xf4 }, { vfnmadd132ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x9c, 0xf4 }, { vfnmadd132ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x9c, 0xf4 }, { vfnmadd132ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x9c, 0xf4 }, { vfnmadd132ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x9c, 0xf4 }, { vfnmadd132ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9c, 0x31 }, { vfnmadd132ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x9c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd132ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9c, 0x31 }, { vfnmadd132ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9c, 0x72, 0x7f }, { vfnmadd132ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmadd132ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9c, 0x72, 0x80 }, { vfnmadd132ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmadd132ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9c, 0x72, 0x7f }, { vfnmadd132ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9c, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmadd132ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9c, 0x72, 0x80 }, { vfnmadd132ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9c, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmadd132ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x9d, 0xf4 }, { vfnmadd132sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x9d, 0xf4 }, { vfnmadd132sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0x9d, 0xf4 }, { vfnmadd132sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0x9d, 0xf4 }, { vfnmadd132sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0x9d, 0xf4 }, { vfnmadd132sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0x9d, 0xf4 }, { vfnmadd132sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9d, 0x31 }, { vfnmadd132sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x9d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd132sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9d, 0x72, 0x7f }, { vfnmadd132sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmadd132sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9d, 0x72, 0x80 }, { vfnmadd132sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmadd132sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x9d, 0xf4 }, { vfnmadd132ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x9d, 0xf4 }, { vfnmadd132ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0x9d, 0xf4 }, { vfnmadd132ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0x9d, 0xf4 }, { vfnmadd132ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0x9d, 0xf4 }, { vfnmadd132ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0x9d, 0xf4 }, { vfnmadd132ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9d, 0x31 }, { vfnmadd132ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x9d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd132ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9d, 0x72, 0x7f }, { vfnmadd132ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9d, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmadd132ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9d, 0x72, 0x80 }, { vfnmadd132ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9d, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmadd132ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xac, 0xf4 }, { vfnmadd213pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xac, 0xf4 }, { vfnmadd213pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xac, 0xf4 }, { vfnmadd213pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xac, 0xf4 }, { vfnmadd213pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xac, 0xf4 }, { vfnmadd213pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xac, 0xf4 }, { vfnmadd213pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xac, 0xf4 }, { vfnmadd213pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xac, 0x31 }, { vfnmadd213pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xac, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd213pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xac, 0x31 }, { vfnmadd213pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xac, 0x72, 0x7f }, { vfnmadd213pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xac, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmadd213pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xac, 0x72, 0x80 }, { vfnmadd213pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xac, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmadd213pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xac, 0x72, 0x7f }, { vfnmadd213pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xac, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmadd213pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xac, 0x72, 0x80 }, { vfnmadd213pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xac, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmadd213pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xac, 0xf4 }, { vfnmadd213ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xac, 0xf4 }, { vfnmadd213ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xac, 0xf4 }, { vfnmadd213ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xac, 0xf4 }, { vfnmadd213ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xac, 0xf4 }, { vfnmadd213ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xac, 0xf4 }, { vfnmadd213ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xac, 0xf4 }, { vfnmadd213ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xac, 0x31 }, { vfnmadd213ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xac, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd213ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xac, 0x31 }, { vfnmadd213ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xac, 0x72, 0x7f }, { vfnmadd213ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xac, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmadd213ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xac, 0x72, 0x80 }, { vfnmadd213ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xac, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmadd213ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xac, 0x72, 0x7f }, { vfnmadd213ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xac, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmadd213ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xac, 0x72, 0x80 }, { vfnmadd213ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xac, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmadd213ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xad, 0xf4 }, { vfnmadd213sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xad, 0xf4 }, { vfnmadd213sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xad, 0xf4 }, { vfnmadd213sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xad, 0xf4 }, { vfnmadd213sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xad, 0xf4 }, { vfnmadd213sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xad, 0xf4 }, { vfnmadd213sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xad, 0x31 }, { vfnmadd213sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xad, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd213sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xad, 0x72, 0x7f }, { vfnmadd213sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xad, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmadd213sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xad, 0x72, 0x80 }, { vfnmadd213sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xad, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmadd213sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xad, 0xf4 }, { vfnmadd213ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xad, 0xf4 }, { vfnmadd213ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xad, 0xf4 }, { vfnmadd213ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xad, 0xf4 }, { vfnmadd213ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xad, 0xf4 }, { vfnmadd213ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xad, 0xf4 }, { vfnmadd213ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xad, 0x31 }, { vfnmadd213ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xad, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd213ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xad, 0x72, 0x7f }, { vfnmadd213ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xad, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmadd213ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xad, 0x72, 0x80 }, { vfnmadd213ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xad, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmadd213ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xbc, 0xf4 }, { vfnmadd231pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xbc, 0xf4 }, { vfnmadd231pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xbc, 0xf4 }, { vfnmadd231pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xbc, 0xf4 }, { vfnmadd231pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xbc, 0xf4 }, { vfnmadd231pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xbc, 0xf4 }, { vfnmadd231pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xbc, 0xf4 }, { vfnmadd231pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbc, 0x31 }, { vfnmadd231pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xbc, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd231pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbc, 0x31 }, { vfnmadd231pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbc, 0x72, 0x7f }, { vfnmadd231pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbc, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmadd231pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbc, 0x72, 0x80 }, { vfnmadd231pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbc, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmadd231pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbc, 0x72, 0x7f }, { vfnmadd231pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbc, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmadd231pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbc, 0x72, 0x80 }, { vfnmadd231pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbc, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmadd231pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xbc, 0xf4 }, { vfnmadd231ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xbc, 0xf4 }, { vfnmadd231ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xbc, 0xf4 }, { vfnmadd231ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xbc, 0xf4 }, { vfnmadd231ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xbc, 0xf4 }, { vfnmadd231ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xbc, 0xf4 }, { vfnmadd231ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xbc, 0xf4 }, { vfnmadd231ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbc, 0x31 }, { vfnmadd231ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xbc, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd231ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbc, 0x31 }, { vfnmadd231ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbc, 0x72, 0x7f }, { vfnmadd231ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbc, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmadd231ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbc, 0x72, 0x80 }, { vfnmadd231ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbc, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmadd231ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbc, 0x72, 0x7f }, { vfnmadd231ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbc, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmadd231ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbc, 0x72, 0x80 }, { vfnmadd231ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbc, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmadd231ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xbd, 0xf4 }, { vfnmadd231sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xbd, 0xf4 }, { vfnmadd231sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xbd, 0xf4 }, { vfnmadd231sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xbd, 0xf4 }, { vfnmadd231sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xbd, 0xf4 }, { vfnmadd231sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xbd, 0xf4 }, { vfnmadd231sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbd, 0x31 }, { vfnmadd231sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xbd, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd231sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbd, 0x72, 0x7f }, { vfnmadd231sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbd, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmadd231sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbd, 0x72, 0x80 }, { vfnmadd231sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbd, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmadd231sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xbd, 0xf4 }, { vfnmadd231ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xbd, 0xf4 }, { vfnmadd231ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xbd, 0xf4 }, { vfnmadd231ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xbd, 0xf4 }, { vfnmadd231ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xbd, 0xf4 }, { vfnmadd231ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xbd, 0xf4 }, { vfnmadd231ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbd, 0x31 }, { vfnmadd231ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xbd, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmadd231ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbd, 0x72, 0x7f }, { vfnmadd231ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbd, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmadd231ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbd, 0x72, 0x80 }, { vfnmadd231ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbd, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmadd231ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0x9e, 0xf4 }, { vfnmsub132pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x9e, 0xf4 }, { vfnmsub132pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x9e, 0xf4 }, { vfnmsub132pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x9e, 0xf4 }, { vfnmsub132pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x9e, 0xf4 }, { vfnmsub132pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x9e, 0xf4 }, { vfnmsub132pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x9e, 0xf4 }, { vfnmsub132pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9e, 0x31 }, { vfnmsub132pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x9e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub132pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9e, 0x31 }, { vfnmsub132pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9e, 0x72, 0x7f }, { vfnmsub132pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmsub132pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9e, 0x72, 0x80 }, { vfnmsub132pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x9e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmsub132pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9e, 0x72, 0x7f }, { vfnmsub132pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmsub132pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9e, 0x72, 0x80 }, { vfnmsub132pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x9e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmsub132pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x9e, 0xf4 }, { vfnmsub132ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x9e, 0xf4 }, { vfnmsub132ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x9e, 0xf4 }, { vfnmsub132ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x9e, 0xf4 }, { vfnmsub132ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x9e, 0xf4 }, { vfnmsub132ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x9e, 0xf4 }, { vfnmsub132ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x9e, 0xf4 }, { vfnmsub132ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9e, 0x31 }, { vfnmsub132ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x9e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub132ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9e, 0x31 }, { vfnmsub132ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9e, 0x72, 0x7f }, { vfnmsub132ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmsub132ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9e, 0x72, 0x80 }, { vfnmsub132ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x9e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmsub132ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9e, 0x72, 0x7f }, { vfnmsub132ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmsub132ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9e, 0x72, 0x80 }, { vfnmsub132ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x9e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmsub132ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x9f, 0xf4 }, { vfnmsub132sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x9f, 0xf4 }, { vfnmsub132sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0x9f, 0xf4 }, { vfnmsub132sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0x9f, 0xf4 }, { vfnmsub132sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0x9f, 0xf4 }, { vfnmsub132sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0x9f, 0xf4 }, { vfnmsub132sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9f, 0x31 }, { vfnmsub132sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x9f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub132sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9f, 0x72, 0x7f }, { vfnmsub132sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmsub132sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9f, 0x72, 0x80 }, { vfnmsub132sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x9f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmsub132sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x9f, 0xf4 }, { vfnmsub132ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x9f, 0xf4 }, { vfnmsub132ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0x9f, 0xf4 }, { vfnmsub132ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0x9f, 0xf4 }, { vfnmsub132ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0x9f, 0xf4 }, { vfnmsub132ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0x9f, 0xf4 }, { vfnmsub132ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9f, 0x31 }, { vfnmsub132ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x9f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub132ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9f, 0x72, 0x7f }, { vfnmsub132ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmsub132ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9f, 0x72, 0x80 }, { vfnmsub132ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x9f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmsub132ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xae, 0xf4 }, { vfnmsub213pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xae, 0xf4 }, { vfnmsub213pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xae, 0xf4 }, { vfnmsub213pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xae, 0xf4 }, { vfnmsub213pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xae, 0xf4 }, { vfnmsub213pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xae, 0xf4 }, { vfnmsub213pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xae, 0xf4 }, { vfnmsub213pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xae, 0x31 }, { vfnmsub213pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xae, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub213pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xae, 0x31 }, { vfnmsub213pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xae, 0x72, 0x7f }, { vfnmsub213pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xae, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmsub213pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xae, 0x72, 0x80 }, { vfnmsub213pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xae, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmsub213pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xae, 0x72, 0x7f }, { vfnmsub213pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xae, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmsub213pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xae, 0x72, 0x80 }, { vfnmsub213pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xae, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmsub213pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xae, 0xf4 }, { vfnmsub213ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xae, 0xf4 }, { vfnmsub213ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xae, 0xf4 }, { vfnmsub213ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xae, 0xf4 }, { vfnmsub213ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xae, 0xf4 }, { vfnmsub213ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xae, 0xf4 }, { vfnmsub213ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xae, 0xf4 }, { vfnmsub213ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xae, 0x31 }, { vfnmsub213ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xae, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub213ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xae, 0x31 }, { vfnmsub213ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xae, 0x72, 0x7f }, { vfnmsub213ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xae, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmsub213ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xae, 0x72, 0x80 }, { vfnmsub213ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xae, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmsub213ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xae, 0x72, 0x7f }, { vfnmsub213ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xae, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmsub213ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xae, 0x72, 0x80 }, { vfnmsub213ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xae, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmsub213ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xaf, 0xf4 }, { vfnmsub213sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xaf, 0xf4 }, { vfnmsub213sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xaf, 0xf4 }, { vfnmsub213sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xaf, 0xf4 }, { vfnmsub213sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xaf, 0xf4 }, { vfnmsub213sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xaf, 0xf4 }, { vfnmsub213sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xaf, 0x31 }, { vfnmsub213sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xaf, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub213sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xaf, 0x72, 0x7f }, { vfnmsub213sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xaf, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmsub213sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xaf, 0x72, 0x80 }, { vfnmsub213sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xaf, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmsub213sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xaf, 0xf4 }, { vfnmsub213ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xaf, 0xf4 }, { vfnmsub213ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xaf, 0xf4 }, { vfnmsub213ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xaf, 0xf4 }, { vfnmsub213ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xaf, 0xf4 }, { vfnmsub213ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xaf, 0xf4 }, { vfnmsub213ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xaf, 0x31 }, { vfnmsub213ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xaf, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub213ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xaf, 0x72, 0x7f }, { vfnmsub213ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xaf, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmsub213ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xaf, 0x72, 0x80 }, { vfnmsub213ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xaf, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmsub213ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x95, 0x40, 0xbe, 0xf4 }, { vfnmsub231pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0xbe, 0xf4 }, { vfnmsub231pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0xbe, 0xf4 }, { vfnmsub231pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0xbe, 0xf4 }, { vfnmsub231pd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0xbe, 0xf4 }, { vfnmsub231pd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0xbe, 0xf4 }, { vfnmsub231pd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0xbe, 0xf4 }, { vfnmsub231pd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbe, 0x31 }, { vfnmsub231pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0xbe, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub231pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbe, 0x31 }, { vfnmsub231pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbe, 0x72, 0x7f }, { vfnmsub231pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbe, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmsub231pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbe, 0x72, 0x80 }, { vfnmsub231pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0xbe, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmsub231pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbe, 0x72, 0x7f }, { vfnmsub231pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbe, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmsub231pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbe, 0x72, 0x80 }, { vfnmsub231pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0xbe, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmsub231pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0xbe, 0xf4 }, { vfnmsub231ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0xbe, 0xf4 }, { vfnmsub231ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0xbe, 0xf4 }, { vfnmsub231ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0xbe, 0xf4 }, { vfnmsub231ps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0xbe, 0xf4 }, { vfnmsub231ps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0xbe, 0xf4 }, { vfnmsub231ps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0xbe, 0xf4 }, { vfnmsub231ps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbe, 0x31 }, { vfnmsub231ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0xbe, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub231ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbe, 0x31 }, { vfnmsub231ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbe, 0x72, 0x7f }, { vfnmsub231ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbe, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vfnmsub231ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbe, 0x72, 0x80 }, { vfnmsub231ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0xbe, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vfnmsub231ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbe, 0x72, 0x7f }, { vfnmsub231ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbe, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmsub231ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbe, 0x72, 0x80 }, { vfnmsub231ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0xbe, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmsub231ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0xbf, 0xf4 }, { vfnmsub231sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0xbf, 0xf4 }, { vfnmsub231sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0xbf, 0xf4 }, { vfnmsub231sd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0xbf, 0xf4 }, { vfnmsub231sd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0xbf, 0xf4 }, { vfnmsub231sd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0xbf, 0xf4 }, { vfnmsub231sd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbf, 0x31 }, { vfnmsub231sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0xbf, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub231sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbf, 0x72, 0x7f }, { vfnmsub231sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbf, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vfnmsub231sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbf, 0x72, 0x80 }, { vfnmsub231sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0xbf, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vfnmsub231sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0xbf, 0xf4 }, { vfnmsub231ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0xbf, 0xf4 }, { vfnmsub231ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0xbf, 0xf4 }, { vfnmsub231ss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0xbf, 0xf4 }, { vfnmsub231ss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0xbf, 0xf4 }, { vfnmsub231ss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0xbf, 0xf4 }, { vfnmsub231ss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbf, 0x31 }, { vfnmsub231ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0xbf, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vfnmsub231ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbf, 0x72, 0x7f }, { vfnmsub231ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbf, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vfnmsub231ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbf, 0x72, 0x80 }, { vfnmsub231ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0xbf, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vfnmsub231ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x92, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherdpd zmm30{k1}, [r14+ymm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x92, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherdpd zmm30{k1}, [r14+ymm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x92, 0x74, 0x39, 0x20 }, { vgatherdpd zmm30{k1}, [r9+ymm31*1+0x100] } +testcase { 0x62, 0x22, 0xfd, 0x41, 0x92, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherdpd zmm30{k1}, [rcx+ymm31*4+0x400] } +testcase { 0x62, 0x02, 0x7d, 0x41, 0x92, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherdps zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0x7d, 0x41, 0x92, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherdps zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0x7d, 0x41, 0x92, 0x74, 0x39, 0x40 }, { vgatherdps zmm30{k1}, [r9+zmm31*1+0x100] } +testcase { 0x62, 0x22, 0x7d, 0x41, 0x92, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherdps zmm30{k1}, [rcx+zmm31*4+0x400] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x93, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherqpd zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x93, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherqpd zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x93, 0x74, 0x39, 0x20 }, { vgatherqpd zmm30{k1}, [r9+zmm31*1+0x100] } +testcase { 0x62, 0x22, 0xfd, 0x41, 0x93, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherqpd zmm30{k1}, [rcx+zmm31*4+0x400] } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x42, 0xf5 }, { vgetexppd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x42, 0xf5 }, { vgetexppd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x42, 0xf5 }, { vgetexppd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x18, 0x42, 0xf5 }, { vgetexppd zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x42, 0x31 }, { vgetexppd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x42, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vgetexppd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x42, 0x31 }, { vgetexppd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x42, 0x72, 0x7f }, { vgetexppd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x42, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vgetexppd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x42, 0x72, 0x80 }, { vgetexppd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x42, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vgetexppd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x42, 0x72, 0x7f }, { vgetexppd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x42, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vgetexppd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x42, 0x72, 0x80 }, { vgetexppd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x42, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vgetexppd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x42, 0xf5 }, { vgetexpps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x42, 0xf5 }, { vgetexpps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x42, 0xf5 }, { vgetexpps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x18, 0x42, 0xf5 }, { vgetexpps zmm30,zmm29,{sae} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x42, 0x31 }, { vgetexpps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x42, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vgetexpps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x42, 0x31 }, { vgetexpps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x42, 0x72, 0x7f }, { vgetexpps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x42, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vgetexpps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x42, 0x72, 0x80 }, { vgetexpps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x42, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vgetexpps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x42, 0x72, 0x7f }, { vgetexpps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x42, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vgetexpps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x42, 0x72, 0x80 }, { vgetexpps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x42, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vgetexpps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x43, 0xf4 }, { vgetexpsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x43, 0xf4 }, { vgetexpsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0x43, 0xf4 }, { vgetexpsd xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0x43, 0x31 }, { vgetexpsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x43, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vgetexpsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x43, 0x72, 0x7f }, { vgetexpsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x43, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vgetexpsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x43, 0x72, 0x80 }, { vgetexpsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x43, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vgetexpsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x43, 0xf4 }, { vgetexpss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x43, 0xf4 }, { vgetexpss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0x43, 0xf4 }, { vgetexpss xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0x43, 0x31 }, { vgetexpss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x43, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vgetexpss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x43, 0x72, 0x7f }, { vgetexpss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x43, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vgetexpss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x43, 0x72, 0x80 }, { vgetexpss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x43, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vgetexpss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x26, 0xf5, 0xab }, { vgetmantpd zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x26, 0xf5, 0xab }, { vgetmantpd zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x26, 0xf5, 0xab }, { vgetmantpd zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x18, 0x26, 0xf5, 0xab }, { vgetmantpd zmm30,zmm29,{sae},0xab } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x26, 0xf5, 0x7b }, { vgetmantpd zmm30,zmm29,0x7b } +testcase { 0x62, 0x03, 0xfd, 0x18, 0x26, 0xf5, 0x7b }, { vgetmantpd zmm30,zmm29,{sae},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x26, 0x31, 0x7b }, { vgetmantpd zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x26, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vgetmantpd zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x26, 0x31, 0x7b }, { vgetmantpd zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x26, 0x72, 0x7f, 0x7b }, { vgetmantpd zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x26, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vgetmantpd zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x26, 0x72, 0x80, 0x7b }, { vgetmantpd zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x26, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vgetmantpd zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x26, 0x72, 0x7f, 0x7b }, { vgetmantpd zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x26, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vgetmantpd zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x26, 0x72, 0x80, 0x7b }, { vgetmantpd zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x26, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vgetmantpd zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x03, 0x7d, 0x48, 0x26, 0xf5, 0xab }, { vgetmantps zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x26, 0xf5, 0xab }, { vgetmantps zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0xcf, 0x26, 0xf5, 0xab }, { vgetmantps zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x18, 0x26, 0xf5, 0xab }, { vgetmantps zmm30,zmm29,{sae},0xab } +testcase { 0x62, 0x03, 0x7d, 0x48, 0x26, 0xf5, 0x7b }, { vgetmantps zmm30,zmm29,0x7b } +testcase { 0x62, 0x03, 0x7d, 0x18, 0x26, 0xf5, 0x7b }, { vgetmantps zmm30,zmm29,{sae},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x26, 0x31, 0x7b }, { vgetmantps zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x7d, 0x48, 0x26, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vgetmantps zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x26, 0x31, 0x7b }, { vgetmantps zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x26, 0x72, 0x7f, 0x7b }, { vgetmantps zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x26, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vgetmantps zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x26, 0x72, 0x80, 0x7b }, { vgetmantps zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x26, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vgetmantps zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x26, 0x72, 0x7f, 0x7b }, { vgetmantps zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x26, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vgetmantps zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x26, 0x72, 0x80, 0x7b }, { vgetmantps zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x26, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vgetmantps zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x03, 0x95, 0x07, 0x27, 0xf4, 0xab }, { vgetmantsd xmm30{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x87, 0x27, 0xf4, 0xab }, { vgetmantsd xmm30{k7}{z},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x17, 0x27, 0xf4, 0xab }, { vgetmantsd xmm30{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x95, 0x07, 0x27, 0xf4, 0x7b }, { vgetmantsd xmm30{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x03, 0x95, 0x17, 0x27, 0xf4, 0x7b }, { vgetmantsd xmm30{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x27, 0x31, 0x7b }, { vgetmantsd xmm30{k7},xmm29,QWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x07, 0x27, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vgetmantsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x27, 0x72, 0x7f, 0x7b }, { vgetmantsd xmm30{k7},xmm29,QWORD [rdx+0x3f8],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x27, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vgetmantsd xmm30{k7},xmm29,QWORD [rdx+0x400],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x27, 0x72, 0x80, 0x7b }, { vgetmantsd xmm30{k7},xmm29,QWORD [rdx-0x400],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x27, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vgetmantsd xmm30{k7},xmm29,QWORD [rdx-0x408],0x7b } +testcase { 0x62, 0x03, 0x15, 0x07, 0x27, 0xf4, 0xab }, { vgetmantss xmm30{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x87, 0x27, 0xf4, 0xab }, { vgetmantss xmm30{k7}{z},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x17, 0x27, 0xf4, 0xab }, { vgetmantss xmm30{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x15, 0x07, 0x27, 0xf4, 0x7b }, { vgetmantss xmm30{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x03, 0x15, 0x17, 0x27, 0xf4, 0x7b }, { vgetmantss xmm30{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x27, 0x31, 0x7b }, { vgetmantss xmm30{k7},xmm29,DWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x07, 0x27, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vgetmantss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x27, 0x72, 0x7f, 0x7b }, { vgetmantss xmm30{k7},xmm29,DWORD [rdx+0x1fc],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x27, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vgetmantss xmm30{k7},xmm29,DWORD [rdx+0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x27, 0x72, 0x80, 0x7b }, { vgetmantss xmm30{k7},xmm29,DWORD [rdx-0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x27, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vgetmantss xmm30{k7},xmm29,DWORD [rdx-0x204],0x7b } +testcase { 0x62, 0x03, 0x15, 0x47, 0x18, 0xf4, 0xab }, { vinsertf32x4 zmm30{k7},zmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x18, 0xf4, 0xab }, { vinsertf32x4 zmm30{k7}{z},zmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x18, 0xf4, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,xmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x18, 0x31, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,OWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x47, 0x18, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,OWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x18, 0x72, 0x7f, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,OWORD [rdx+0x7f0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x18, 0xb2, 0x00, 0x08, 0x00, 0x00, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,OWORD [rdx+0x800],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x18, 0x72, 0x80, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,OWORD [rdx-0x800],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x18, 0xb2, 0xf0, 0xf7, 0xff, 0xff, 0x7b }, { vinsertf32x4 zmm30{k7},zmm29,OWORD [rdx-0x810],0x7b } +testcase { 0x62, 0x03, 0x95, 0x47, 0x1a, 0xf4, 0xab }, { vinsertf64x4 zmm30{k7},zmm29,ymm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x1a, 0xf4, 0xab }, { vinsertf64x4 zmm30{k7}{z},zmm29,ymm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x1a, 0xf4, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,ymm28,0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x1a, 0x31, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,YWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x47, 0x1a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,YWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x1a, 0x72, 0x7f, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,YWORD [rdx+0xfe0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x1a, 0xb2, 0x00, 0x10, 0x00, 0x00, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,YWORD [rdx+0x1000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x1a, 0x72, 0x80, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,YWORD [rdx-0x1000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x1a, 0xb2, 0xe0, 0xef, 0xff, 0xff, 0x7b }, { vinsertf64x4 zmm30{k7},zmm29,YWORD [rdx-0x1020],0x7b } +testcase { 0x62, 0x03, 0x15, 0x47, 0x38, 0xf4, 0xab }, { vinserti32x4 zmm30{k7},zmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x38, 0xf4, 0xab }, { vinserti32x4 zmm30{k7}{z},zmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x38, 0xf4, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,xmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x38, 0x31, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,OWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x47, 0x38, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,OWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x38, 0x72, 0x7f, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,OWORD [rdx+0x7f0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x38, 0xb2, 0x00, 0x08, 0x00, 0x00, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,OWORD [rdx+0x800],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x38, 0x72, 0x80, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,OWORD [rdx-0x800],0x7b } +testcase { 0x62, 0x63, 0x15, 0x47, 0x38, 0xb2, 0xf0, 0xf7, 0xff, 0xff, 0x7b }, { vinserti32x4 zmm30{k7},zmm29,OWORD [rdx-0x810],0x7b } +testcase { 0x62, 0x03, 0x95, 0x47, 0x3a, 0xf4, 0xab }, { vinserti64x4 zmm30{k7},zmm29,ymm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x3a, 0xf4, 0xab }, { vinserti64x4 zmm30{k7}{z},zmm29,ymm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x3a, 0xf4, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,ymm28,0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x3a, 0x31, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,YWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x47, 0x3a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,YWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x3a, 0x72, 0x7f, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,YWORD [rdx+0xfe0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x3a, 0xb2, 0x00, 0x10, 0x00, 0x00, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,YWORD [rdx+0x1000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x3a, 0x72, 0x80, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,YWORD [rdx-0x1000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x47, 0x3a, 0xb2, 0xe0, 0xef, 0xff, 0xff, 0x7b }, { vinserti64x4 zmm30{k7},zmm29,YWORD [rdx-0x1020],0x7b } +testcase { 0x62, 0x03, 0x15, 0x00, 0x21, 0xf4, 0xab }, { vinsertps xmm30,xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x00, 0x21, 0xf4, 0x7b }, { vinsertps xmm30,xmm29,xmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x00, 0x21, 0x31, 0x7b }, { vinsertps xmm30,xmm29,DWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x00, 0x21, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vinsertps xmm30,xmm29,DWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x00, 0x21, 0x72, 0x7f, 0x7b }, { vinsertps xmm30,xmm29,DWORD [rdx+0x1fc],0x7b } +testcase { 0x62, 0x63, 0x15, 0x00, 0x21, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vinsertps xmm30,xmm29,DWORD [rdx+0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x00, 0x21, 0x72, 0x80, 0x7b }, { vinsertps xmm30,xmm29,DWORD [rdx-0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x00, 0x21, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vinsertps xmm30,xmm29,DWORD [rdx-0x204],0x7b } +testcase { 0x62, 0x01, 0x95, 0x40, 0x5f, 0xf4 }, { vmaxpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x5f, 0xf4 }, { vmaxpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x5f, 0xf4 }, { vmaxpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x10, 0x5f, 0xf4 }, { vmaxpd zmm30,zmm29,zmm28,{sae} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5f, 0x31 }, { vmaxpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x5f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmaxpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5f, 0x31 }, { vmaxpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5f, 0x72, 0x7f }, { vmaxpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmaxpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5f, 0x72, 0x80 }, { vmaxpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmaxpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5f, 0x72, 0x7f }, { vmaxpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmaxpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5f, 0x72, 0x80 }, { vmaxpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmaxpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x5f, 0xf4 }, { vmaxps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x5f, 0xf4 }, { vmaxps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x5f, 0xf4 }, { vmaxps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x10, 0x5f, 0xf4 }, { vmaxps zmm30,zmm29,zmm28,{sae} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5f, 0x31 }, { vmaxps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x5f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmaxps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5f, 0x31 }, { vmaxps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5f, 0x72, 0x7f }, { vmaxps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmaxps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5f, 0x72, 0x80 }, { vmaxps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmaxps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5f, 0x72, 0x7f }, { vmaxps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmaxps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5f, 0x72, 0x80 }, { vmaxps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmaxps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x5f, 0xf4 }, { vmaxsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x5f, 0xf4 }, { vmaxsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x5f, 0xf4 }, { vmaxsd xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5f, 0x31 }, { vmaxsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x5f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmaxsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5f, 0x72, 0x7f }, { vmaxsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmaxsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5f, 0x72, 0x80 }, { vmaxsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmaxsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x5f, 0xf4 }, { vmaxss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x5f, 0xf4 }, { vmaxss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x5f, 0xf4 }, { vmaxss xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5f, 0x31 }, { vmaxss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x5f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmaxss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5f, 0x72, 0x7f }, { vmaxss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmaxss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5f, 0x72, 0x80 }, { vmaxss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmaxss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x01, 0x95, 0x40, 0x5d, 0xf4 }, { vminpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x5d, 0xf4 }, { vminpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x5d, 0xf4 }, { vminpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x10, 0x5d, 0xf4 }, { vminpd zmm30,zmm29,zmm28,{sae} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5d, 0x31 }, { vminpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x5d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vminpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5d, 0x31 }, { vminpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5d, 0x72, 0x7f }, { vminpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5d, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vminpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5d, 0x72, 0x80 }, { vminpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5d, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vminpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5d, 0x72, 0x7f }, { vminpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vminpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5d, 0x72, 0x80 }, { vminpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vminpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x5d, 0xf4 }, { vminps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x5d, 0xf4 }, { vminps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x5d, 0xf4 }, { vminps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x10, 0x5d, 0xf4 }, { vminps zmm30,zmm29,zmm28,{sae} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5d, 0x31 }, { vminps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x5d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vminps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5d, 0x31 }, { vminps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5d, 0x72, 0x7f }, { vminps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5d, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vminps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5d, 0x72, 0x80 }, { vminps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5d, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vminps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5d, 0x72, 0x7f }, { vminps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5d, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vminps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5d, 0x72, 0x80 }, { vminps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5d, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vminps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x5d, 0xf4 }, { vminsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x5d, 0xf4 }, { vminsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x5d, 0xf4 }, { vminsd xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5d, 0x31 }, { vminsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x5d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vminsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5d, 0x72, 0x7f }, { vminsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vminsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5d, 0x72, 0x80 }, { vminsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vminsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x5d, 0xf4 }, { vminss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x5d, 0xf4 }, { vminss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x5d, 0xf4 }, { vminss xmm30{k7},xmm29,xmm28,{sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5d, 0x31 }, { vminss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x5d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vminss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5d, 0x72, 0x7f }, { vminss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5d, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vminss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5d, 0x72, 0x80 }, { vminss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5d, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vminss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x01, 0xfd, 0x48, 0x28, 0xf5 }, { vmovapd zmm30,zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x4f, 0x28, 0xf5 }, { vmovapd zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0xcf, 0x28, 0xf5 }, { vmovapd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x28, 0x31 }, { vmovapd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x28, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovapd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x28, 0x72, 0x7f }, { vmovapd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x28, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovapd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x28, 0x72, 0x80 }, { vmovapd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x28, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovapd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x7c, 0x48, 0x28, 0xf5 }, { vmovaps zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x28, 0xf5 }, { vmovaps zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x28, 0xf5 }, { vmovaps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x28, 0x31 }, { vmovaps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x28, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovaps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x28, 0x72, 0x7f }, { vmovaps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x28, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovaps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x28, 0x72, 0x80 }, { vmovaps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x28, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovaps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0xf0 }, { vmovd xmm30,eax } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0xf5 }, { vmovd xmm30,ebp } +testcase { 0x62, 0x41, 0x7d, 0x08, 0x6e, 0xf5 }, { vmovd xmm30,r13d } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0x31 }, { vmovd xmm30,DWORD [rcx] } +testcase { 0x62, 0x21, 0x7d, 0x08, 0x6e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovd xmm30,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0x72, 0x7f }, { vmovd xmm30,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmovd xmm30,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0x72, 0x80 }, { vmovd xmm30,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x6e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmovd xmm30,DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x7e, 0x31 }, { vmovd DWORD [rcx],xmm30 } +testcase { 0x62, 0x21, 0x7d, 0x08, 0x7e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovd DWORD [rax+r14*8+0x123],xmm30 } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x7e, 0x72, 0x7f }, { vmovd DWORD [rdx+0x1fc],xmm30 } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x7e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmovd DWORD [rdx+0x200],xmm30 } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x7e, 0x72, 0x80 }, { vmovd DWORD [rdx-0x200],xmm30 } +testcase { 0x62, 0x61, 0x7d, 0x08, 0x7e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmovd DWORD [rdx-0x204],xmm30 } +testcase { 0x62, 0x01, 0xff, 0x48, 0x12, 0xf5 }, { vmovddup zmm30,zmm29 } +testcase { 0x62, 0x01, 0xff, 0x4f, 0x12, 0xf5 }, { vmovddup zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xff, 0xcf, 0x12, 0xf5 }, { vmovddup zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0xff, 0x48, 0x12, 0x31 }, { vmovddup zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0xff, 0x48, 0x12, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovddup zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xff, 0x48, 0x12, 0x72, 0x7f }, { vmovddup zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xff, 0x48, 0x12, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovddup zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xff, 0x48, 0x12, 0x72, 0x80 }, { vmovddup zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xff, 0x48, 0x12, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovddup zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x7d, 0x48, 0x6f, 0xf5 }, { vmovdqa32 zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7d, 0x4f, 0x6f, 0xf5 }, { vmovdqa32 zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7d, 0xcf, 0x6f, 0xf5 }, { vmovdqa32 zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x6f, 0x31 }, { vmovdqa32 zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7d, 0x48, 0x6f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqa32 zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x6f, 0x72, 0x7f }, { vmovdqa32 zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x6f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqa32 zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x6f, 0x72, 0x80 }, { vmovdqa32 zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x6f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqa32 zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0xfd, 0x48, 0x6f, 0xf5 }, { vmovdqa64 zmm30,zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x4f, 0x6f, 0xf5 }, { vmovdqa64 zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0xcf, 0x6f, 0xf5 }, { vmovdqa64 zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x6f, 0x31 }, { vmovdqa64 zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x6f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqa64 zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x6f, 0x72, 0x7f }, { vmovdqa64 zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x6f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqa64 zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x6f, 0x72, 0x80 }, { vmovdqa64 zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x6f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqa64 zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x7e, 0x48, 0x6f, 0xf5 }, { vmovdqu32 zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7e, 0x4f, 0x6f, 0xf5 }, { vmovdqu32 zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7e, 0xcf, 0x6f, 0xf5 }, { vmovdqu32 zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x6f, 0x31 }, { vmovdqu32 zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x48, 0x6f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqu32 zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x6f, 0x72, 0x7f }, { vmovdqu32 zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x6f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqu32 zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x6f, 0x72, 0x80 }, { vmovdqu32 zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x6f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqu32 zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0xfe, 0x48, 0x6f, 0xf5 }, { vmovdqu64 zmm30,zmm29 } +testcase { 0x62, 0x01, 0xfe, 0x4f, 0x6f, 0xf5 }, { vmovdqu64 zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfe, 0xcf, 0x6f, 0xf5 }, { vmovdqu64 zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x6f, 0x31 }, { vmovdqu64 zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfe, 0x48, 0x6f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqu64 zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x6f, 0x72, 0x7f }, { vmovdqu64 zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x6f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqu64 zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x6f, 0x72, 0x80 }, { vmovdqu64 zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x6f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqu64 zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x14, 0x00, 0x12, 0xf4 }, { vmovhlps xmm30,xmm29,xmm28 } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x16, 0x29 }, { vmovhpd xmm29,xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0x8d, 0x00, 0x16, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovhpd xmm29,xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x16, 0x6a, 0x7f }, { vmovhpd xmm29,xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x16, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vmovhpd xmm29,xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x16, 0x6a, 0x80 }, { vmovhpd xmm29,xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x16, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vmovhpd xmm29,xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x17, 0x31 }, { vmovhpd QWORD [rcx],xmm30 } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x17, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovhpd QWORD [rax+r14*8+0x123],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x17, 0x72, 0x7f }, { vmovhpd QWORD [rdx+0x3f8],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x17, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovhpd QWORD [rdx+0x400],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x17, 0x72, 0x80 }, { vmovhpd QWORD [rdx-0x400],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x17, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovhpd QWORD [rdx-0x408],xmm30 } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x16, 0x29 }, { vmovhps xmm29,xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0x0c, 0x00, 0x16, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovhps xmm29,xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x16, 0x6a, 0x7f }, { vmovhps xmm29,xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x16, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vmovhps xmm29,xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x16, 0x6a, 0x80 }, { vmovhps xmm29,xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x16, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vmovhps xmm29,xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x17, 0x31 }, { vmovhps QWORD [rcx],xmm30 } +testcase { 0x62, 0x21, 0x7c, 0x08, 0x17, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovhps QWORD [rax+r14*8+0x123],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x17, 0x72, 0x7f }, { vmovhps QWORD [rdx+0x3f8],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x17, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovhps QWORD [rdx+0x400],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x17, 0x72, 0x80 }, { vmovhps QWORD [rdx-0x400],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x17, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovhps QWORD [rdx-0x408],xmm30 } +testcase { 0x62, 0x01, 0x14, 0x00, 0x16, 0xf4 }, { vmovlhps xmm30,xmm29,xmm28 } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x12, 0x29 }, { vmovlpd xmm29,xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0x8d, 0x00, 0x12, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovlpd xmm29,xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x12, 0x6a, 0x7f }, { vmovlpd xmm29,xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x12, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vmovlpd xmm29,xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x12, 0x6a, 0x80 }, { vmovlpd xmm29,xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x8d, 0x00, 0x12, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vmovlpd xmm29,xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x13, 0x31 }, { vmovlpd QWORD [rcx],xmm30 } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x13, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovlpd QWORD [rax+r14*8+0x123],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x13, 0x72, 0x7f }, { vmovlpd QWORD [rdx+0x3f8],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x13, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovlpd QWORD [rdx+0x400],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x13, 0x72, 0x80 }, { vmovlpd QWORD [rdx-0x400],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x13, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovlpd QWORD [rdx-0x408],xmm30 } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x12, 0x29 }, { vmovlps xmm29,xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0x0c, 0x00, 0x12, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovlps xmm29,xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x12, 0x6a, 0x7f }, { vmovlps xmm29,xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x12, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vmovlps xmm29,xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x12, 0x6a, 0x80 }, { vmovlps xmm29,xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x0c, 0x00, 0x12, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vmovlps xmm29,xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x13, 0x31 }, { vmovlps QWORD [rcx],xmm30 } +testcase { 0x62, 0x21, 0x7c, 0x08, 0x13, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovlps QWORD [rax+r14*8+0x123],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x13, 0x72, 0x7f }, { vmovlps QWORD [rdx+0x3f8],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x13, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovlps QWORD [rdx+0x400],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x13, 0x72, 0x80 }, { vmovlps QWORD [rdx-0x400],xmm30 } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x13, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovlps QWORD [rdx-0x408],xmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0xe7, 0x31 }, { vmovntdq ZWORD [rcx],zmm30 } +testcase { 0x62, 0x21, 0x7d, 0x48, 0xe7, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovntdq ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0xe7, 0x72, 0x7f }, { vmovntdq ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0xe7, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovntdq ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0xe7, 0x72, 0x80 }, { vmovntdq ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0xe7, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovntdq ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x2a, 0x31 }, { vmovntdqa zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x2a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovntdqa zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x2a, 0x72, 0x7f }, { vmovntdqa zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x2a, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovntdqa zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x2a, 0x72, 0x80 }, { vmovntdqa zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x2a, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovntdqa zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x2b, 0x31 }, { vmovntpd ZWORD [rcx],zmm30 } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x2b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovntpd ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x2b, 0x72, 0x7f }, { vmovntpd ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x2b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovntpd ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x2b, 0x72, 0x80 }, { vmovntpd ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x2b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovntpd ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x2b, 0x31 }, { vmovntps ZWORD [rcx],zmm30 } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x2b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovntps ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x2b, 0x72, 0x7f }, { vmovntps ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x2b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovntps ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x2b, 0x72, 0x80 }, { vmovntps ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x2b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovntps ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0xf0 }, { vmovq xmm30,rax } +testcase { 0x62, 0x41, 0xfd, 0x08, 0x6e, 0xf0 }, { vmovq xmm30,r8 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0x31 }, { vmovq xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x6e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovq xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0x72, 0x7f }, { vmovq xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovq xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0x72, 0x80 }, { vmovq xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovq xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0x31 }, { vmovq QWORD [rcx],xmm30 } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x7e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovq QWORD [rax+r14*8+0x123],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0x72, 0x7f }, { vmovq QWORD [rdx+0x3f8],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovq QWORD [rdx+0x400],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0x72, 0x80 }, { vmovq QWORD [rdx-0x400],xmm30 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovq QWORD [rdx-0x408],xmm30 } +testcase { 0x62, 0x01, 0xfe, 0x08, 0x7e, 0xf5 }, { vmovq xmm30,xmm29 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0x31 }, { vmovq xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x6e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovq xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0x72, 0x7f }, { vmovq xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovq xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0x72, 0x80 }, { vmovq xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x6e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovq xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0x29 }, { vmovq QWORD [rcx],xmm29 } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x7e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovq QWORD [rax+r14*8+0x123],xmm29 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0x6a, 0x7f }, { vmovq QWORD [rdx+0x3f8],xmm29 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vmovq QWORD [rdx+0x400],xmm29 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0x6a, 0x80 }, { vmovq QWORD [rdx-0x400],xmm29 } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x7e, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vmovq QWORD [rdx-0x408],xmm29 } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x10, 0x31 }, { vmovsd xmm30{k7},QWORD [rcx] } +testcase { 0x62, 0x61, 0xff, 0x8f, 0x10, 0x31 }, { vmovsd xmm30{k7}{z},QWORD [rcx] } +testcase { 0x62, 0x21, 0xff, 0x0f, 0x10, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovsd xmm30{k7},QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x10, 0x72, 0x7f }, { vmovsd xmm30{k7},QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x10, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovsd xmm30{k7},QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x10, 0x72, 0x80 }, { vmovsd xmm30{k7},QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x10, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovsd xmm30{k7},QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x11, 0x31 }, { vmovsd QWORD [rcx]{k7},xmm30 } +testcase { 0x62, 0x21, 0xff, 0x0f, 0x11, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovsd QWORD [rax+r14*8+0x123]{k7},xmm30 } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x11, 0x72, 0x7f }, { vmovsd QWORD [rdx+0x3f8]{k7},xmm30 } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x11, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmovsd QWORD [rdx+0x400]{k7},xmm30 } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x11, 0x72, 0x80 }, { vmovsd QWORD [rdx-0x400]{k7},xmm30 } +testcase { 0x62, 0x61, 0xff, 0x0f, 0x11, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmovsd QWORD [rdx-0x408]{k7},xmm30 } +testcase { 0x62, 0x01, 0x97, 0x07, 0x10, 0xf4 }, { vmovsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x10, 0xf4 }, { vmovsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x7e, 0x48, 0x16, 0xf5 }, { vmovshdup zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7e, 0x4f, 0x16, 0xf5 }, { vmovshdup zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7e, 0xcf, 0x16, 0xf5 }, { vmovshdup zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x16, 0x31 }, { vmovshdup zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x48, 0x16, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovshdup zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x16, 0x72, 0x7f }, { vmovshdup zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x16, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovshdup zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x16, 0x72, 0x80 }, { vmovshdup zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x16, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovshdup zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x7e, 0x48, 0x12, 0xf5 }, { vmovsldup zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7e, 0x4f, 0x12, 0xf5 }, { vmovsldup zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7e, 0xcf, 0x12, 0xf5 }, { vmovsldup zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x12, 0x31 }, { vmovsldup zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x48, 0x12, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovsldup zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x12, 0x72, 0x7f }, { vmovsldup zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x12, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovsldup zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x12, 0x72, 0x80 }, { vmovsldup zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x12, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovsldup zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x10, 0x31 }, { vmovss xmm30{k7},DWORD [rcx] } +testcase { 0x62, 0x61, 0x7e, 0x8f, 0x10, 0x31 }, { vmovss xmm30{k7}{z},DWORD [rcx] } +testcase { 0x62, 0x21, 0x7e, 0x0f, 0x10, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovss xmm30{k7},DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x10, 0x72, 0x7f }, { vmovss xmm30{k7},DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x10, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmovss xmm30{k7},DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x10, 0x72, 0x80 }, { vmovss xmm30{k7},DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x10, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmovss xmm30{k7},DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x11, 0x31 }, { vmovss DWORD [rcx]{k7},xmm30 } +testcase { 0x62, 0x21, 0x7e, 0x0f, 0x11, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovss DWORD [rax+r14*8+0x123]{k7},xmm30 } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x11, 0x72, 0x7f }, { vmovss DWORD [rdx+0x1fc]{k7},xmm30 } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x11, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmovss DWORD [rdx+0x200]{k7},xmm30 } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x11, 0x72, 0x80 }, { vmovss DWORD [rdx-0x200]{k7},xmm30 } +testcase { 0x62, 0x61, 0x7e, 0x0f, 0x11, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmovss DWORD [rdx-0x204]{k7},xmm30 } +testcase { 0x62, 0x01, 0x16, 0x07, 0x10, 0xf4 }, { vmovss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x10, 0xf4 }, { vmovss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0xfd, 0x48, 0x10, 0xf5 }, { vmovupd zmm30,zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x4f, 0x10, 0xf5 }, { vmovupd zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0xcf, 0x10, 0xf5 }, { vmovupd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x10, 0x31 }, { vmovupd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x10, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovupd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x10, 0x72, 0x7f }, { vmovupd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x10, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovupd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x10, 0x72, 0x80 }, { vmovupd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x10, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovupd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x7c, 0x48, 0x10, 0xf5 }, { vmovups zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x10, 0xf5 }, { vmovups zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x10, 0xf5 }, { vmovups zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x10, 0x31 }, { vmovups zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x10, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovups zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x10, 0x72, 0x7f }, { vmovups zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x10, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovups zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x10, 0x72, 0x80 }, { vmovups zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x10, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovups zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x01, 0x95, 0x40, 0x59, 0xf4 }, { vmulpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x59, 0xf4 }, { vmulpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x59, 0xf4 }, { vmulpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x10, 0x59, 0xf4 }, { vmulpd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x95, 0x50, 0x59, 0xf4 }, { vmulpd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x95, 0x30, 0x59, 0xf4 }, { vmulpd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x95, 0x70, 0x59, 0xf4 }, { vmulpd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x59, 0x31 }, { vmulpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x59, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmulpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x59, 0x31 }, { vmulpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x59, 0x72, 0x7f }, { vmulpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x59, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmulpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x59, 0x72, 0x80 }, { vmulpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x59, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmulpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x59, 0x72, 0x7f }, { vmulpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x59, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmulpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x59, 0x72, 0x80 }, { vmulpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x59, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmulpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x59, 0xf4 }, { vmulps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x59, 0xf4 }, { vmulps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x59, 0xf4 }, { vmulps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x10, 0x59, 0xf4 }, { vmulps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x14, 0x50, 0x59, 0xf4 }, { vmulps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x14, 0x30, 0x59, 0xf4 }, { vmulps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x14, 0x70, 0x59, 0xf4 }, { vmulps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x59, 0x31 }, { vmulps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x59, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmulps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x59, 0x31 }, { vmulps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x59, 0x72, 0x7f }, { vmulps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x59, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmulps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x59, 0x72, 0x80 }, { vmulps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x59, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmulps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x59, 0x72, 0x7f }, { vmulps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x59, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmulps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x59, 0x72, 0x80 }, { vmulps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x59, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmulps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x59, 0xf4 }, { vmulsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x59, 0xf4 }, { vmulsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x59, 0xf4 }, { vmulsd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x97, 0x57, 0x59, 0xf4 }, { vmulsd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x97, 0x37, 0x59, 0xf4 }, { vmulsd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x97, 0x77, 0x59, 0xf4 }, { vmulsd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x59, 0x31 }, { vmulsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x59, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmulsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x59, 0x72, 0x7f }, { vmulsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x59, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vmulsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x59, 0x72, 0x80 }, { vmulsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x59, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vmulsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x59, 0xf4 }, { vmulss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x59, 0xf4 }, { vmulss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x59, 0xf4 }, { vmulss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x16, 0x57, 0x59, 0xf4 }, { vmulss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x16, 0x37, 0x59, 0xf4 }, { vmulss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x16, 0x77, 0x59, 0xf4 }, { vmulss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x59, 0x31 }, { vmulss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x59, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmulss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x59, 0x72, 0x7f }, { vmulss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x59, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vmulss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x59, 0x72, 0x80 }, { vmulss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x59, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vmulss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x1e, 0xf5 }, { vpabsd zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x1e, 0xf5 }, { vpabsd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x1e, 0xf5 }, { vpabsd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1e, 0x31 }, { vpabsd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x1e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpabsd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x1e, 0x31 }, { vpabsd zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1e, 0x72, 0x7f }, { vpabsd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpabsd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1e, 0x72, 0x80 }, { vpabsd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x1e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpabsd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x1e, 0x72, 0x7f }, { vpabsd zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x1e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpabsd zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x1e, 0x72, 0x80 }, { vpabsd zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x1e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpabsd zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x1f, 0xf5 }, { vpabsq zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x1f, 0xf5 }, { vpabsq zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x1f, 0xf5 }, { vpabsq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1f, 0x31 }, { vpabsq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x1f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpabsq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x1f, 0x31 }, { vpabsq zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1f, 0x72, 0x7f }, { vpabsq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpabsq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1f, 0x72, 0x80 }, { vpabsq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x1f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpabsq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x1f, 0x72, 0x7f }, { vpabsq zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x1f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpabsq zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x1f, 0x72, 0x80 }, { vpabsq zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x1f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpabsq zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x40, 0xfe, 0xf4 }, { vpaddd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0xfe, 0xf4 }, { vpaddd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xfe, 0xf4 }, { vpaddd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfe, 0x31 }, { vpaddd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0xfe, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpaddd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfe, 0x31 }, { vpaddd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfe, 0x72, 0x7f }, { vpaddd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfe, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpaddd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfe, 0x72, 0x80 }, { vpaddd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfe, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpaddd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfe, 0x72, 0x7f }, { vpaddd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfe, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpaddd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfe, 0x72, 0x80 }, { vpaddd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfe, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpaddd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xd4, 0xf4 }, { vpaddq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xd4, 0xf4 }, { vpaddq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xd4, 0xf4 }, { vpaddq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xd4, 0x31 }, { vpaddq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xd4, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpaddq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xd4, 0x31 }, { vpaddq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xd4, 0x72, 0x7f }, { vpaddq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xd4, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpaddq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xd4, 0x72, 0x80 }, { vpaddq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xd4, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpaddq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xd4, 0x72, 0x7f }, { vpaddq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xd4, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpaddq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xd4, 0x72, 0x80 }, { vpaddq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xd4, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpaddq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x40, 0xdb, 0xf4 }, { vpandd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0xdb, 0xf4 }, { vpandd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xdb, 0xf4 }, { vpandd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdb, 0x31 }, { vpandd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0xdb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpandd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdb, 0x31 }, { vpandd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdb, 0x72, 0x7f }, { vpandd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdb, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpandd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdb, 0x72, 0x80 }, { vpandd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdb, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpandd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdb, 0x72, 0x7f }, { vpandd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdb, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpandd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdb, 0x72, 0x80 }, { vpandd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdb, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpandd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x15, 0x40, 0xdf, 0xf4 }, { vpandnd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0xdf, 0xf4 }, { vpandnd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xdf, 0xf4 }, { vpandnd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdf, 0x31 }, { vpandnd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0xdf, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpandnd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdf, 0x31 }, { vpandnd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdf, 0x72, 0x7f }, { vpandnd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdf, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpandnd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdf, 0x72, 0x80 }, { vpandnd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xdf, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpandnd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdf, 0x72, 0x7f }, { vpandnd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdf, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpandnd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdf, 0x72, 0x80 }, { vpandnd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xdf, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpandnd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xdf, 0xf4 }, { vpandnq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xdf, 0xf4 }, { vpandnq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xdf, 0xf4 }, { vpandnq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdf, 0x31 }, { vpandnq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xdf, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpandnq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdf, 0x31 }, { vpandnq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdf, 0x72, 0x7f }, { vpandnq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdf, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpandnq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdf, 0x72, 0x80 }, { vpandnq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdf, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpandnq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdf, 0x72, 0x7f }, { vpandnq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdf, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpandnq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdf, 0x72, 0x80 }, { vpandnq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdf, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpandnq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xdb, 0xf4 }, { vpandq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xdb, 0xf4 }, { vpandq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xdb, 0xf4 }, { vpandq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdb, 0x31 }, { vpandq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xdb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpandq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdb, 0x31 }, { vpandq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdb, 0x72, 0x7f }, { vpandq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdb, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpandq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdb, 0x72, 0x80 }, { vpandq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xdb, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpandq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdb, 0x72, 0x7f }, { vpandq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdb, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpandq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdb, 0x72, 0x80 }, { vpandq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xdb, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpandq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x64, 0xf4 }, { vpblendmd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x64, 0xf4 }, { vpblendmd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x64, 0xf4 }, { vpblendmd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x64, 0x31 }, { vpblendmd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x64, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpblendmd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x64, 0x31 }, { vpblendmd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x64, 0x72, 0x7f }, { vpblendmd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x64, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpblendmd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x64, 0x72, 0x80 }, { vpblendmd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x64, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpblendmd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x64, 0x72, 0x7f }, { vpblendmd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x64, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpblendmd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x64, 0x72, 0x80 }, { vpblendmd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x64, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpblendmd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x58, 0x31 }, { vpbroadcastd zmm30,DWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x58, 0x31 }, { vpbroadcastd zmm30{k7},DWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x58, 0x31 }, { vpbroadcastd zmm30{k7}{z},DWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x58, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpbroadcastd zmm30,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x58, 0x72, 0x7f }, { vpbroadcastd zmm30,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x58, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpbroadcastd zmm30,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x58, 0x72, 0x80 }, { vpbroadcastd zmm30,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x58, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpbroadcastd zmm30,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x58, 0xf5 }, { vpbroadcastd zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x58, 0xf5 }, { vpbroadcastd zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x7c, 0xf0 }, { vpbroadcastd zmm30,eax } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x7c, 0xf0 }, { vpbroadcastd zmm30{k7},eax } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x7c, 0xf0 }, { vpbroadcastd zmm30{k7}{z},eax } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x7c, 0xf5 }, { vpbroadcastd zmm30,ebp } +testcase { 0x62, 0x42, 0x7d, 0x48, 0x7c, 0xf5 }, { vpbroadcastd zmm30,r13d } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x59, 0x31 }, { vpbroadcastq zmm30,QWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x59, 0x31 }, { vpbroadcastq zmm30{k7},QWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x59, 0x31 }, { vpbroadcastq zmm30{k7}{z},QWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x59, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpbroadcastq zmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x59, 0x72, 0x7f }, { vpbroadcastq zmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x59, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpbroadcastq zmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x59, 0x72, 0x80 }, { vpbroadcastq zmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x59, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpbroadcastq zmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x59, 0xf5 }, { vpbroadcastq zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x59, 0xf5 }, { vpbroadcastq zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x7c, 0xf0 }, { vpbroadcastq zmm30,rax } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x7c, 0xf0 }, { vpbroadcastq zmm30{k7},rax } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x7c, 0xf0 }, { vpbroadcastq zmm30{k7}{z},rax } +testcase { 0x62, 0x42, 0xfd, 0x48, 0x7c, 0xf0 }, { vpbroadcastq zmm30,r8 } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0xab }, { vpcmpd k5,zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1f, 0xed, 0xab }, { vpcmpd k5{k7},zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0x7b }, { vpcmpd k5,zmm30,zmm29,0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x29, 0x7b }, { vpcmpd k5,zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpcmpd k5,zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x29, 0x7b }, { vpcmpd k5,zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x7f, 0x7b }, { vpcmpd k5,zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpcmpd k5,zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x80, 0x7b }, { vpcmpd k5,zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpcmpd k5,zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x7f, 0x7b }, { vpcmpd k5,zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpcmpd k5,zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x80, 0x7b }, { vpcmpd k5,zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpcmpd k5,zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0x01 }, { vpcmpltd k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1f, 0xed, 0x01 }, { vpcmpltd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x29, 0x01 }, { vpcmpltd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vpcmpltd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x29, 0x01 }, { vpcmpltd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x7f, 0x01 }, { vpcmpltd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vpcmpltd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x80, 0x01 }, { vpcmpltd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vpcmpltd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x7f, 0x01 }, { vpcmpltd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x01 }, { vpcmpltd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x80, 0x01 }, { vpcmpltd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x01 }, { vpcmpltd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0x02 }, { vpcmpled k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1f, 0xed, 0x02 }, { vpcmpled k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x29, 0x02 }, { vpcmpled k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vpcmpled k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x29, 0x02 }, { vpcmpled k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x7f, 0x02 }, { vpcmpled k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vpcmpled k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x80, 0x02 }, { vpcmpled k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vpcmpled k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x7f, 0x02 }, { vpcmpled k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x02 }, { vpcmpled k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x80, 0x02 }, { vpcmpled k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x02 }, { vpcmpled k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0x04 }, { vpcmpneqd k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1f, 0xed, 0x04 }, { vpcmpneqd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x29, 0x04 }, { vpcmpneqd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vpcmpneqd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x29, 0x04 }, { vpcmpneqd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x7f, 0x04 }, { vpcmpneqd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vpcmpneqd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x80, 0x04 }, { vpcmpneqd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vpcmpneqd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x7f, 0x04 }, { vpcmpneqd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x04 }, { vpcmpneqd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x80, 0x04 }, { vpcmpneqd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x04 }, { vpcmpneqd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0x05 }, { vpcmpnltd k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1f, 0xed, 0x05 }, { vpcmpnltd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x29, 0x05 }, { vpcmpnltd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vpcmpnltd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x29, 0x05 }, { vpcmpnltd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x7f, 0x05 }, { vpcmpnltd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vpcmpnltd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x80, 0x05 }, { vpcmpnltd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vpcmpnltd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x7f, 0x05 }, { vpcmpnltd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x05 }, { vpcmpnltd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x80, 0x05 }, { vpcmpnltd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x05 }, { vpcmpnltd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1f, 0xed, 0x06 }, { vpcmpnled k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1f, 0xed, 0x06 }, { vpcmpnled k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x29, 0x06 }, { vpcmpnled k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vpcmpnled k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x29, 0x06 }, { vpcmpnled k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x7f, 0x06 }, { vpcmpnled k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vpcmpnled k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0x6a, 0x80, 0x06 }, { vpcmpnled k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vpcmpnled k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x7f, 0x06 }, { vpcmpnled k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x06 }, { vpcmpnled k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0x6a, 0x80, 0x06 }, { vpcmpnled k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1f, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x06 }, { vpcmpnled k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x76, 0xed }, { vpcmpeqd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x76, 0xed }, { vpcmpeqd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x76, 0x29 }, { vpcmpeqd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x76, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpcmpeqd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x76, 0x29 }, { vpcmpeqd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x76, 0x6a, 0x7f }, { vpcmpeqd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x76, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vpcmpeqd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x76, 0x6a, 0x80 }, { vpcmpeqd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x76, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vpcmpeqd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x76, 0x6a, 0x7f }, { vpcmpeqd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x76, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vpcmpeqd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x76, 0x6a, 0x80 }, { vpcmpeqd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x76, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vpcmpeqd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x92, 0x8d, 0x40, 0x29, 0xed }, { vpcmpeqq k5,zmm30,zmm29 } +testcase { 0x62, 0x92, 0x8d, 0x47, 0x29, 0xed }, { vpcmpeqq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x29, 0x29 }, { vpcmpeqq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb2, 0x8d, 0x40, 0x29, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpcmpeqq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x29, 0x29 }, { vpcmpeqq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x29, 0x6a, 0x7f }, { vpcmpeqq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x29, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vpcmpeqq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x29, 0x6a, 0x80 }, { vpcmpeqq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x29, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vpcmpeqq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x29, 0x6a, 0x7f }, { vpcmpeqq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x29, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vpcmpeqq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x29, 0x6a, 0x80 }, { vpcmpeqq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x29, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vpcmpeqq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x66, 0xed }, { vpcmpgtd k5,zmm30,zmm29 } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x66, 0xed }, { vpcmpgtd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x66, 0x29 }, { vpcmpgtd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x66, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpcmpgtd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x66, 0x29 }, { vpcmpgtd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x66, 0x6a, 0x7f }, { vpcmpgtd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x66, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vpcmpgtd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x66, 0x6a, 0x80 }, { vpcmpgtd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x66, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vpcmpgtd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x66, 0x6a, 0x7f }, { vpcmpgtd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x66, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vpcmpgtd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x66, 0x6a, 0x80 }, { vpcmpgtd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x66, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vpcmpgtd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x92, 0x8d, 0x40, 0x37, 0xed }, { vpcmpgtq k5,zmm30,zmm29 } +testcase { 0x62, 0x92, 0x8d, 0x47, 0x37, 0xed }, { vpcmpgtq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x37, 0x29 }, { vpcmpgtq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb2, 0x8d, 0x40, 0x37, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpcmpgtq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x37, 0x29 }, { vpcmpgtq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x37, 0x6a, 0x7f }, { vpcmpgtq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x37, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vpcmpgtq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x37, 0x6a, 0x80 }, { vpcmpgtq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x37, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vpcmpgtq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x37, 0x6a, 0x7f }, { vpcmpgtq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x37, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vpcmpgtq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x37, 0x6a, 0x80 }, { vpcmpgtq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x37, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vpcmpgtq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0xab }, { vpcmpq k5,zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1f, 0xed, 0xab }, { vpcmpq k5{k7},zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0x7b }, { vpcmpq k5,zmm30,zmm29,0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x29, 0x7b }, { vpcmpq k5,zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpcmpq k5,zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x29, 0x7b }, { vpcmpq k5,zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x7f, 0x7b }, { vpcmpq k5,zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpcmpq k5,zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x80, 0x7b }, { vpcmpq k5,zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpcmpq k5,zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x7f, 0x7b }, { vpcmpq k5,zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpcmpq k5,zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x80, 0x7b }, { vpcmpq k5,zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpcmpq k5,zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0x01 }, { vpcmpltq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1f, 0xed, 0x01 }, { vpcmpltq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x29, 0x01 }, { vpcmpltq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vpcmpltq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x29, 0x01 }, { vpcmpltq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x7f, 0x01 }, { vpcmpltq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vpcmpltq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x80, 0x01 }, { vpcmpltq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vpcmpltq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x7f, 0x01 }, { vpcmpltq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x01 }, { vpcmpltq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x80, 0x01 }, { vpcmpltq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x01 }, { vpcmpltq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0x02 }, { vpcmpleq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1f, 0xed, 0x02 }, { vpcmpleq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x29, 0x02 }, { vpcmpleq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vpcmpleq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x29, 0x02 }, { vpcmpleq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x7f, 0x02 }, { vpcmpleq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vpcmpleq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x80, 0x02 }, { vpcmpleq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vpcmpleq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x7f, 0x02 }, { vpcmpleq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x02 }, { vpcmpleq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x80, 0x02 }, { vpcmpleq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x02 }, { vpcmpleq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0x04 }, { vpcmpneqq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1f, 0xed, 0x04 }, { vpcmpneqq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x29, 0x04 }, { vpcmpneqq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vpcmpneqq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x29, 0x04 }, { vpcmpneqq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x7f, 0x04 }, { vpcmpneqq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vpcmpneqq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x80, 0x04 }, { vpcmpneqq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vpcmpneqq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x7f, 0x04 }, { vpcmpneqq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x04 }, { vpcmpneqq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x80, 0x04 }, { vpcmpneqq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x04 }, { vpcmpneqq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0x05 }, { vpcmpnltq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1f, 0xed, 0x05 }, { vpcmpnltq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x29, 0x05 }, { vpcmpnltq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vpcmpnltq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x29, 0x05 }, { vpcmpnltq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x7f, 0x05 }, { vpcmpnltq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vpcmpnltq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x80, 0x05 }, { vpcmpnltq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vpcmpnltq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x7f, 0x05 }, { vpcmpnltq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x05 }, { vpcmpnltq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x80, 0x05 }, { vpcmpnltq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x05 }, { vpcmpnltq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1f, 0xed, 0x06 }, { vpcmpnleq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1f, 0xed, 0x06 }, { vpcmpnleq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x29, 0x06 }, { vpcmpnleq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1f, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vpcmpnleq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x29, 0x06 }, { vpcmpnleq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x7f, 0x06 }, { vpcmpnleq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vpcmpnleq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0x6a, 0x80, 0x06 }, { vpcmpnleq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1f, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vpcmpnleq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x7f, 0x06 }, { vpcmpnleq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x06 }, { vpcmpnleq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0x6a, 0x80, 0x06 }, { vpcmpnleq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1f, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x06 }, { vpcmpnleq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0xab }, { vpcmpud k5,zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0xab }, { vpcmpud k5{k7},zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x7b }, { vpcmpud k5,zmm30,zmm29,0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x7b }, { vpcmpud k5,zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpcmpud k5,zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x7b }, { vpcmpud k5,zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x7b }, { vpcmpud k5,zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpcmpud k5,zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x7b }, { vpcmpud k5,zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpcmpud k5,zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x7b }, { vpcmpud k5,zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpcmpud k5,zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x7b }, { vpcmpud k5,zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpcmpud k5,zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x00 }, { vpcmpequd k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0x00 }, { vpcmpequd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x00 }, { vpcmpequd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vpcmpequd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x00 }, { vpcmpequd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x00 }, { vpcmpequd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x00 }, { vpcmpequd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x00 }, { vpcmpequd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x00 }, { vpcmpequd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x00 }, { vpcmpequd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x00 }, { vpcmpequd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x00 }, { vpcmpequd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x00 }, { vpcmpequd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x01 }, { vpcmpltud k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0x01 }, { vpcmpltud k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x01 }, { vpcmpltud k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vpcmpltud k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x01 }, { vpcmpltud k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x01 }, { vpcmpltud k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vpcmpltud k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x01 }, { vpcmpltud k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vpcmpltud k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x01 }, { vpcmpltud k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x01 }, { vpcmpltud k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x01 }, { vpcmpltud k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x01 }, { vpcmpltud k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x02 }, { vpcmpleud k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0x02 }, { vpcmpleud k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x02 }, { vpcmpleud k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vpcmpleud k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x02 }, { vpcmpleud k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x02 }, { vpcmpleud k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vpcmpleud k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x02 }, { vpcmpleud k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vpcmpleud k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x02 }, { vpcmpleud k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x02 }, { vpcmpleud k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x02 }, { vpcmpleud k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x02 }, { vpcmpleud k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x04 }, { vpcmpnequd k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0x04 }, { vpcmpnequd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x04 }, { vpcmpnequd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vpcmpnequd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x04 }, { vpcmpnequd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x04 }, { vpcmpnequd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vpcmpnequd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x04 }, { vpcmpnequd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vpcmpnequd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x04 }, { vpcmpnequd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x04 }, { vpcmpnequd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x04 }, { vpcmpnequd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x04 }, { vpcmpnequd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x05 }, { vpcmpnltud k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0x05 }, { vpcmpnltud k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x05 }, { vpcmpnltud k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vpcmpnltud k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x05 }, { vpcmpnltud k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x05 }, { vpcmpnltud k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vpcmpnltud k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x05 }, { vpcmpnltud k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vpcmpnltud k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x05 }, { vpcmpnltud k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x05 }, { vpcmpnltud k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x05 }, { vpcmpnltud k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x05 }, { vpcmpnltud k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x0d, 0x40, 0x1e, 0xed, 0x06 }, { vpcmpnleud k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x0d, 0x47, 0x1e, 0xed, 0x06 }, { vpcmpnleud k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x29, 0x06 }, { vpcmpnleud k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x0d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vpcmpnleud k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x29, 0x06 }, { vpcmpnleud k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x7f, 0x06 }, { vpcmpnleud k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vpcmpnleud k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0x6a, 0x80, 0x06 }, { vpcmpnleud k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x0d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vpcmpnleud k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x7f, 0x06 }, { vpcmpnleud k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0x00, 0x02, 0x00, 0x00, 0x06 }, { vpcmpnleud k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0x6a, 0x80, 0x06 }, { vpcmpnleud k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf3, 0x0d, 0x50, 0x1e, 0xaa, 0xfc, 0xfd, 0xff, 0xff, 0x06 }, { vpcmpnleud k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0xab }, { vpcmpuq k5,zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0xab }, { vpcmpuq k5{k7},zmm30,zmm29,0xab } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x7b }, { vpcmpuq k5,zmm30,zmm29,0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x7b }, { vpcmpuq k5,zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpcmpuq k5,zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x7b }, { vpcmpuq k5,zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x7b }, { vpcmpuq k5,zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpcmpuq k5,zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x7b }, { vpcmpuq k5,zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpcmpuq k5,zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x7b }, { vpcmpuq k5,zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpcmpuq k5,zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x7b }, { vpcmpuq k5,zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpcmpuq k5,zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x00 }, { vpcmpequq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0x00 }, { vpcmpequq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x00 }, { vpcmpequq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x00 }, { vpcmpequq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x00 }, { vpcmpequq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x00 }, { vpcmpequq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x00 }, { vpcmpequq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x00 }, { vpcmpequq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x00 }, { vpcmpequq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x00 }, { vpcmpequq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x00 }, { vpcmpequq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x00 }, { vpcmpequq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x00 }, { vpcmpequq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x01 }, { vpcmpltuq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0x01 }, { vpcmpltuq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x01 }, { vpcmpltuq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x01 }, { vpcmpltuq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x01 }, { vpcmpltuq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x01 }, { vpcmpltuq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x01 }, { vpcmpltuq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x01 }, { vpcmpltuq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x01 }, { vpcmpltuq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x01 }, { vpcmpltuq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x01 }, { vpcmpltuq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x01 }, { vpcmpltuq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x01 }, { vpcmpltuq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x02 }, { vpcmpleuq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0x02 }, { vpcmpleuq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x02 }, { vpcmpleuq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x02 }, { vpcmpleuq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x02 }, { vpcmpleuq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x02 }, { vpcmpleuq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x02 }, { vpcmpleuq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x02 }, { vpcmpleuq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x02 }, { vpcmpleuq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x02 }, { vpcmpleuq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x02 }, { vpcmpleuq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x02 }, { vpcmpleuq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x02 }, { vpcmpleuq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x04 }, { vpcmpnequq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0x04 }, { vpcmpnequq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x04 }, { vpcmpnequq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x04 }, { vpcmpnequq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x04 }, { vpcmpnequq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x04 }, { vpcmpnequq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x04 }, { vpcmpnequq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x04 }, { vpcmpnequq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x04 }, { vpcmpnequq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x04 }, { vpcmpnequq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x04 }, { vpcmpnequq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x04 }, { vpcmpnequq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x04 }, { vpcmpnequq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x05 }, { vpcmpnltuq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0x05 }, { vpcmpnltuq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x05 }, { vpcmpnltuq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x05 }, { vpcmpnltuq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x05 }, { vpcmpnltuq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x05 }, { vpcmpnltuq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x05 }, { vpcmpnltuq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x05 }, { vpcmpnltuq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x05 }, { vpcmpnltuq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x05 }, { vpcmpnltuq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x05 }, { vpcmpnltuq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x05 }, { vpcmpnltuq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x05 }, { vpcmpnltuq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x93, 0x8d, 0x40, 0x1e, 0xed, 0x06 }, { vpcmpnleuq k5,zmm30,zmm29 } +testcase { 0x62, 0x93, 0x8d, 0x47, 0x1e, 0xed, 0x06 }, { vpcmpnleuq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x29, 0x06 }, { vpcmpnleuq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb3, 0x8d, 0x40, 0x1e, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x06 }, { vpcmpnleuq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x29, 0x06 }, { vpcmpnleuq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x7f, 0x06 }, { vpcmpnleuq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0x00, 0x20, 0x00, 0x00, 0x06 }, { vpcmpnleuq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0x6a, 0x80, 0x06 }, { vpcmpnleuq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf3, 0x8d, 0x40, 0x1e, 0xaa, 0xc0, 0xdf, 0xff, 0xff, 0x06 }, { vpcmpnleuq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x7f, 0x06 }, { vpcmpnleuq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0x00, 0x04, 0x00, 0x00, 0x06 }, { vpcmpnleuq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0x6a, 0x80, 0x06 }, { vpcmpnleuq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf3, 0x8d, 0x50, 0x1e, 0xaa, 0xf8, 0xfb, 0xff, 0xff, 0x06 }, { vpcmpnleuq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x64, 0xf4 }, { vpblendmq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x64, 0xf4 }, { vpblendmq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x64, 0xf4 }, { vpblendmq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x64, 0x31 }, { vpblendmq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x64, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpblendmq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x64, 0x31 }, { vpblendmq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x64, 0x72, 0x7f }, { vpblendmq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x64, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpblendmq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x64, 0x72, 0x80 }, { vpblendmq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x64, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpblendmq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x64, 0x72, 0x7f }, { vpblendmq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x64, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpblendmq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x64, 0x72, 0x80 }, { vpblendmq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x64, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpblendmq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8b, 0x31 }, { vpcompressd ZWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x8b, 0x31 }, { vpcompressd ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x8b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpcompressd ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8b, 0x72, 0x7f }, { vpcompressd ZWORD [rdx+0x1fc],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpcompressd ZWORD [rdx+0x200],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8b, 0x72, 0x80 }, { vpcompressd ZWORD [rdx-0x200],zmm30 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x8b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpcompressd ZWORD [rdx-0x204],zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x8b, 0xee }, { vpcompressd zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x8b, 0xee }, { vpcompressd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x8b, 0xee }, { vpcompressd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x15, 0x40, 0x36, 0xf4 }, { vpermd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x36, 0xf4 }, { vpermd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x36, 0xf4 }, { vpermd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x36, 0x31 }, { vpermd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x36, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x36, 0x31 }, { vpermd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x36, 0x72, 0x7f }, { vpermd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x36, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x36, 0x72, 0x80 }, { vpermd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x36, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x36, 0x72, 0x7f }, { vpermd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x36, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x36, 0x72, 0x80 }, { vpermd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x36, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x05, 0xf5, 0xab }, { vpermilpd zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x05, 0xf5, 0xab }, { vpermilpd zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x05, 0xf5, 0xab }, { vpermilpd zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x05, 0xf5, 0x7b }, { vpermilpd zmm30,zmm29,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x05, 0x31, 0x7b }, { vpermilpd zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x05, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpermilpd zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x05, 0x31, 0x7b }, { vpermilpd zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x05, 0x72, 0x7f, 0x7b }, { vpermilpd zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x05, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpermilpd zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x05, 0x72, 0x80, 0x7b }, { vpermilpd zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x05, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpermilpd zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x05, 0x72, 0x7f, 0x7b }, { vpermilpd zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x05, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpermilpd zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x05, 0x72, 0x80, 0x7b }, { vpermilpd zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x05, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpermilpd zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x02, 0x95, 0x40, 0x0d, 0xf4 }, { vpermilpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x0d, 0xf4 }, { vpermilpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x0d, 0xf4 }, { vpermilpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x0d, 0x31 }, { vpermilpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x0d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermilpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x0d, 0x31 }, { vpermilpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x0d, 0x72, 0x7f }, { vpermilpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x0d, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermilpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x0d, 0x72, 0x80 }, { vpermilpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x0d, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermilpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x0d, 0x72, 0x7f }, { vpermilpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x0d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermilpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x0d, 0x72, 0x80 }, { vpermilpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x0d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermilpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x03, 0x7d, 0x48, 0x04, 0xf5, 0xab }, { vpermilps zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x04, 0xf5, 0xab }, { vpermilps zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0xcf, 0x04, 0xf5, 0xab }, { vpermilps zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x48, 0x04, 0xf5, 0x7b }, { vpermilps zmm30,zmm29,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x04, 0x31, 0x7b }, { vpermilps zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x7d, 0x48, 0x04, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpermilps zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x04, 0x31, 0x7b }, { vpermilps zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x04, 0x72, 0x7f, 0x7b }, { vpermilps zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x04, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpermilps zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x04, 0x72, 0x80, 0x7b }, { vpermilps zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x04, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpermilps zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x04, 0x72, 0x7f, 0x7b }, { vpermilps zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x04, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpermilps zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x04, 0x72, 0x80, 0x7b }, { vpermilps zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x04, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpermilps zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x02, 0x15, 0x40, 0x0c, 0xf4 }, { vpermilps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x0c, 0xf4 }, { vpermilps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x0c, 0xf4 }, { vpermilps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x0c, 0x31 }, { vpermilps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x0c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermilps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x0c, 0x31 }, { vpermilps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x0c, 0x72, 0x7f }, { vpermilps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x0c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermilps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x0c, 0x72, 0x80 }, { vpermilps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x0c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermilps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x0c, 0x72, 0x7f }, { vpermilps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x0c, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermilps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x0c, 0x72, 0x80 }, { vpermilps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x0c, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermilps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x01, 0xf5, 0xab }, { vpermpd zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x01, 0xf5, 0xab }, { vpermpd zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x01, 0xf5, 0xab }, { vpermpd zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x01, 0xf5, 0x7b }, { vpermpd zmm30,zmm29,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x01, 0x31, 0x7b }, { vpermpd zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x01, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpermpd zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x01, 0x31, 0x7b }, { vpermpd zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x01, 0x72, 0x7f, 0x7b }, { vpermpd zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x01, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpermpd zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x01, 0x72, 0x80, 0x7b }, { vpermpd zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x01, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpermpd zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x01, 0x72, 0x7f, 0x7b }, { vpermpd zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x01, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpermpd zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x01, 0x72, 0x80, 0x7b }, { vpermpd zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x01, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpermpd zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x02, 0x15, 0x40, 0x16, 0xf4 }, { vpermps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x16, 0xf4 }, { vpermps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x16, 0xf4 }, { vpermps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x16, 0x31 }, { vpermps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x16, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x16, 0x31 }, { vpermps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x16, 0x72, 0x7f }, { vpermps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x16, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x16, 0x72, 0x80 }, { vpermps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x16, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x16, 0x72, 0x7f }, { vpermps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x16, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x16, 0x72, 0x80 }, { vpermps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x16, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x00, 0xf5, 0xab }, { vpermq zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x00, 0xf5, 0xab }, { vpermq zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x00, 0xf5, 0xab }, { vpermq zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x00, 0xf5, 0x7b }, { vpermq zmm30,zmm29,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x00, 0x31, 0x7b }, { vpermq zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x00, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpermq zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x00, 0x31, 0x7b }, { vpermq zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x00, 0x72, 0x7f, 0x7b }, { vpermq zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x00, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpermq zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x00, 0x72, 0x80, 0x7b }, { vpermq zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x00, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpermq zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x00, 0x72, 0x7f, 0x7b }, { vpermq zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x00, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpermq zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x00, 0x72, 0x80, 0x7b }, { vpermq zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x00, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpermq zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x89, 0x31 }, { vpexpandd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x89, 0x31 }, { vpexpandd zmm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x62, 0x7d, 0xcf, 0x89, 0x31 }, { vpexpandd zmm30{k7}{z},ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x89, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpexpandd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x89, 0x72, 0x7f }, { vpexpandd zmm30,ZWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x89, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpexpandd zmm30,ZWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x89, 0x72, 0x80 }, { vpexpandd zmm30,ZWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x89, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpexpandd zmm30,ZWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x89, 0xf5 }, { vpexpandd zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x89, 0xf5 }, { vpexpandd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x89, 0xf5 }, { vpexpandd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x89, 0x31 }, { vpexpandq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x89, 0x31 }, { vpexpandq zmm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x62, 0xfd, 0xcf, 0x89, 0x31 }, { vpexpandq zmm30{k7}{z},ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x89, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpexpandq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x89, 0x72, 0x7f }, { vpexpandq zmm30,ZWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x89, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpexpandq zmm30,ZWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x89, 0x72, 0x80 }, { vpexpandq zmm30,ZWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x89, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpexpandq zmm30,ZWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x89, 0xf5 }, { vpexpandq zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x89, 0xf5 }, { vpexpandq zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x89, 0xf5 }, { vpexpandq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x41, 0x90, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpgatherdd zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0x7d, 0x41, 0x90, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpgatherdd zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0x7d, 0x41, 0x90, 0x74, 0x39, 0x40 }, { vpgatherdd zmm30{k1}, [r9+zmm31*1+0x100] } +testcase { 0x62, 0x22, 0x7d, 0x41, 0x90, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vpgatherdd zmm30{k1}, [rcx+zmm31*4+0x400] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x90, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpgatherdq zmm30{k1}, [r14+ymm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x90, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpgatherdq zmm30{k1}, [r14+ymm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x90, 0x74, 0x39, 0x20 }, { vpgatherdq zmm30{k1}, [r9+ymm31*1+0x100] } +testcase { 0x62, 0x22, 0xfd, 0x41, 0x90, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vpgatherdq zmm30{k1}, [rcx+ymm31*4+0x400] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x91, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpgatherqq zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x91, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpgatherqq zmm30{k1}, [r14+zmm31*8+0x7b] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0x91, 0x74, 0x39, 0x20 }, { vpgatherqq zmm30{k1}, [r9+zmm31*1+0x100] } +testcase { 0x62, 0x22, 0xfd, 0x41, 0x91, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vpgatherqq zmm30{k1}, [rcx+zmm31*4+0x400] } +testcase { 0x62, 0x02, 0x15, 0x40, 0x3d, 0xf4 }, { vpmaxsd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x3d, 0xf4 }, { vpmaxsd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x3d, 0xf4 }, { vpmaxsd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3d, 0x31 }, { vpmaxsd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x3d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmaxsd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3d, 0x31 }, { vpmaxsd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3d, 0x72, 0x7f }, { vpmaxsd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3d, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmaxsd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3d, 0x72, 0x80 }, { vpmaxsd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3d, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmaxsd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3d, 0x72, 0x7f }, { vpmaxsd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3d, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpmaxsd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3d, 0x72, 0x80 }, { vpmaxsd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3d, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpmaxsd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x3d, 0xf4 }, { vpmaxsq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x3d, 0xf4 }, { vpmaxsq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x3d, 0xf4 }, { vpmaxsq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3d, 0x31 }, { vpmaxsq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x3d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmaxsq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3d, 0x31 }, { vpmaxsq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3d, 0x72, 0x7f }, { vpmaxsq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3d, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmaxsq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3d, 0x72, 0x80 }, { vpmaxsq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3d, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmaxsq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3d, 0x72, 0x7f }, { vpmaxsq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmaxsq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3d, 0x72, 0x80 }, { vpmaxsq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmaxsq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x3f, 0xf4 }, { vpmaxud zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x3f, 0xf4 }, { vpmaxud zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x3f, 0xf4 }, { vpmaxud zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3f, 0x31 }, { vpmaxud zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x3f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmaxud zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3f, 0x31 }, { vpmaxud zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3f, 0x72, 0x7f }, { vpmaxud zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmaxud zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3f, 0x72, 0x80 }, { vpmaxud zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmaxud zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3f, 0x72, 0x7f }, { vpmaxud zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpmaxud zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3f, 0x72, 0x80 }, { vpmaxud zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpmaxud zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x3f, 0xf4 }, { vpmaxuq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x3f, 0xf4 }, { vpmaxuq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x3f, 0xf4 }, { vpmaxuq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3f, 0x31 }, { vpmaxuq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x3f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmaxuq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3f, 0x31 }, { vpmaxuq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3f, 0x72, 0x7f }, { vpmaxuq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmaxuq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3f, 0x72, 0x80 }, { vpmaxuq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmaxuq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3f, 0x72, 0x7f }, { vpmaxuq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmaxuq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3f, 0x72, 0x80 }, { vpmaxuq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmaxuq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x39, 0xf4 }, { vpminsd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x39, 0xf4 }, { vpminsd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x39, 0xf4 }, { vpminsd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x39, 0x31 }, { vpminsd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x39, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpminsd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x39, 0x31 }, { vpminsd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x39, 0x72, 0x7f }, { vpminsd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x39, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpminsd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x39, 0x72, 0x80 }, { vpminsd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x39, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpminsd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x39, 0x72, 0x7f }, { vpminsd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x39, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpminsd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x39, 0x72, 0x80 }, { vpminsd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x39, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpminsd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x39, 0xf4 }, { vpminsq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x39, 0xf4 }, { vpminsq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x39, 0xf4 }, { vpminsq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x39, 0x31 }, { vpminsq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x39, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpminsq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x39, 0x31 }, { vpminsq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x39, 0x72, 0x7f }, { vpminsq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x39, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpminsq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x39, 0x72, 0x80 }, { vpminsq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x39, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpminsq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x39, 0x72, 0x7f }, { vpminsq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x39, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpminsq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x39, 0x72, 0x80 }, { vpminsq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x39, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpminsq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x3b, 0xf4 }, { vpminud zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x3b, 0xf4 }, { vpminud zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x3b, 0xf4 }, { vpminud zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3b, 0x31 }, { vpminud zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x3b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpminud zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3b, 0x31 }, { vpminud zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3b, 0x72, 0x7f }, { vpminud zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpminud zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3b, 0x72, 0x80 }, { vpminud zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x3b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpminud zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3b, 0x72, 0x7f }, { vpminud zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpminud zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3b, 0x72, 0x80 }, { vpminud zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x3b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpminud zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x3b, 0xf4 }, { vpminuq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x3b, 0xf4 }, { vpminuq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x3b, 0xf4 }, { vpminuq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3b, 0x31 }, { vpminuq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x3b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpminuq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3b, 0x31 }, { vpminuq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3b, 0x72, 0x7f }, { vpminuq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3b, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpminuq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3b, 0x72, 0x80 }, { vpminuq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x3b, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpminuq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3b, 0x72, 0x7f }, { vpminuq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3b, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpminuq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3b, 0x72, 0x80 }, { vpminuq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x3b, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpminuq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x21, 0xf5 }, { vpmovsxbd zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x21, 0xf5 }, { vpmovsxbd zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x21, 0x31 }, { vpmovsxbd zmm30{k7},OWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x21, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsxbd zmm30{k7},OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x21, 0x72, 0x7f }, { vpmovsxbd zmm30{k7},OWORD [rdx+0x7f0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x21, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovsxbd zmm30{k7},OWORD [rdx+0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x21, 0x72, 0x80 }, { vpmovsxbd zmm30{k7},OWORD [rdx-0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x21, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovsxbd zmm30{k7},OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x22, 0xf5 }, { vpmovsxbq zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x22, 0xf5 }, { vpmovsxbq zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x22, 0x31 }, { vpmovsxbq zmm30{k7},QWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x22, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsxbq zmm30{k7},QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x22, 0x72, 0x7f }, { vpmovsxbq zmm30{k7},QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x22, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmovsxbq zmm30{k7},QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x22, 0x72, 0x80 }, { vpmovsxbq zmm30{k7},QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x22, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmovsxbq zmm30{k7},QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x25, 0xf5 }, { vpmovsxdq zmm30{k7},ymm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x25, 0xf5 }, { vpmovsxdq zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x25, 0x31 }, { vpmovsxdq zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x25, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsxdq zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x25, 0x72, 0x7f }, { vpmovsxdq zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x25, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovsxdq zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x25, 0x72, 0x80 }, { vpmovsxdq zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x25, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovsxdq zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x23, 0xf5 }, { vpmovsxwd zmm30{k7},ymm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x23, 0xf5 }, { vpmovsxwd zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x23, 0x31 }, { vpmovsxwd zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x23, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsxwd zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x23, 0x72, 0x7f }, { vpmovsxwd zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x23, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovsxwd zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x23, 0x72, 0x80 }, { vpmovsxwd zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x23, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovsxwd zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x24, 0xf5 }, { vpmovsxwq zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x24, 0xf5 }, { vpmovsxwq zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x24, 0x31 }, { vpmovsxwq zmm30{k7},OWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x24, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsxwq zmm30{k7},OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x24, 0x72, 0x7f }, { vpmovsxwq zmm30{k7},OWORD [rdx+0x7f0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x24, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovsxwq zmm30{k7},OWORD [rdx+0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x24, 0x72, 0x80 }, { vpmovsxwq zmm30{k7},OWORD [rdx-0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x24, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovsxwq zmm30{k7},OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x31, 0xf5 }, { vpmovzxbd zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x31, 0xf5 }, { vpmovzxbd zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x31, 0x31 }, { vpmovzxbd zmm30{k7},OWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x31, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovzxbd zmm30{k7},OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x31, 0x72, 0x7f }, { vpmovzxbd zmm30{k7},OWORD [rdx+0x7f0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x31, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovzxbd zmm30{k7},OWORD [rdx+0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x31, 0x72, 0x80 }, { vpmovzxbd zmm30{k7},OWORD [rdx-0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x31, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovzxbd zmm30{k7},OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x32, 0xf5 }, { vpmovzxbq zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x32, 0xf5 }, { vpmovzxbq zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x32, 0x31 }, { vpmovzxbq zmm30{k7},QWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x32, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovzxbq zmm30{k7},QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x32, 0x72, 0x7f }, { vpmovzxbq zmm30{k7},QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x32, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmovzxbq zmm30{k7},QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x32, 0x72, 0x80 }, { vpmovzxbq zmm30{k7},QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x32, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmovzxbq zmm30{k7},QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x35, 0xf5 }, { vpmovzxdq zmm30{k7},ymm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x35, 0xf5 }, { vpmovzxdq zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x35, 0x31 }, { vpmovzxdq zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x35, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovzxdq zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x35, 0x72, 0x7f }, { vpmovzxdq zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x35, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovzxdq zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x35, 0x72, 0x80 }, { vpmovzxdq zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x35, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovzxdq zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x33, 0xf5 }, { vpmovzxwd zmm30{k7},ymm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x33, 0xf5 }, { vpmovzxwd zmm30{k7}{z},ymm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x33, 0x31 }, { vpmovzxwd zmm30{k7},YWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x33, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovzxwd zmm30{k7},YWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x33, 0x72, 0x7f }, { vpmovzxwd zmm30{k7},YWORD [rdx+0xfe0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x33, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovzxwd zmm30{k7},YWORD [rdx+0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x33, 0x72, 0x80 }, { vpmovzxwd zmm30{k7},YWORD [rdx-0x1000] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x33, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovzxwd zmm30{k7},YWORD [rdx-0x1020] } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x34, 0xf5 }, { vpmovzxwq zmm30{k7},xmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x34, 0xf5 }, { vpmovzxwq zmm30{k7}{z},xmm29 } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x34, 0x31 }, { vpmovzxwq zmm30{k7},OWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x4f, 0x34, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovzxwq zmm30{k7},OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x34, 0x72, 0x7f }, { vpmovzxwq zmm30{k7},OWORD [rdx+0x7f0] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x34, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovzxwq zmm30{k7},OWORD [rdx+0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x34, 0x72, 0x80 }, { vpmovzxwq zmm30{k7},OWORD [rdx-0x800] } +testcase { 0x62, 0x62, 0x7d, 0x4f, 0x34, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovzxwq zmm30{k7},OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x95, 0x40, 0x28, 0xf4 }, { vpmuldq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x28, 0xf4 }, { vpmuldq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x28, 0xf4 }, { vpmuldq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x28, 0x31 }, { vpmuldq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x28, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmuldq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x28, 0x31 }, { vpmuldq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x28, 0x72, 0x7f }, { vpmuldq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x28, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmuldq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x28, 0x72, 0x80 }, { vpmuldq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x28, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmuldq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x28, 0x72, 0x7f }, { vpmuldq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x28, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmuldq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x28, 0x72, 0x80 }, { vpmuldq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x28, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmuldq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x40, 0xf4 }, { vpmulld zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x40, 0xf4 }, { vpmulld zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x40, 0xf4 }, { vpmulld zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x40, 0x31 }, { vpmulld zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x40, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmulld zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x40, 0x31 }, { vpmulld zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x40, 0x72, 0x7f }, { vpmulld zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x40, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmulld zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x40, 0x72, 0x80 }, { vpmulld zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x40, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmulld zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x40, 0x72, 0x7f }, { vpmulld zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x40, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpmulld zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x40, 0x72, 0x80 }, { vpmulld zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x40, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpmulld zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xf4, 0xf4 }, { vpmuludq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xf4, 0xf4 }, { vpmuludq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xf4, 0xf4 }, { vpmuludq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xf4, 0x31 }, { vpmuludq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xf4, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmuludq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xf4, 0x31 }, { vpmuludq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xf4, 0x72, 0x7f }, { vpmuludq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xf4, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpmuludq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xf4, 0x72, 0x80 }, { vpmuludq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xf4, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpmuludq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xf4, 0x72, 0x7f }, { vpmuludq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xf4, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmuludq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xf4, 0x72, 0x80 }, { vpmuludq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xf4, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmuludq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x40, 0xeb, 0xf4 }, { vpord zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0xeb, 0xf4 }, { vpord zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xeb, 0xf4 }, { vpord zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0xeb, 0x31 }, { vpord zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0xeb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpord zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xeb, 0x31 }, { vpord zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0xeb, 0x72, 0x7f }, { vpord zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xeb, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpord zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xeb, 0x72, 0x80 }, { vpord zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xeb, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpord zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xeb, 0x72, 0x7f }, { vpord zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xeb, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpord zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xeb, 0x72, 0x80 }, { vpord zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xeb, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpord zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xeb, 0xf4 }, { vporq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xeb, 0xf4 }, { vporq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xeb, 0xf4 }, { vporq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xeb, 0x31 }, { vporq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xeb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vporq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xeb, 0x31 }, { vporq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xeb, 0x72, 0x7f }, { vporq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xeb, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vporq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xeb, 0x72, 0x80 }, { vporq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xeb, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vporq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xeb, 0x72, 0x7f }, { vporq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xeb, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vporq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xeb, 0x72, 0x80 }, { vporq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xeb, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vporq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x41, 0xa0, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpscatterdd [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x41, 0xa0, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpscatterdd [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x41, 0xa0, 0x74, 0x39, 0x40 }, { vpscatterdd [r9+zmm31*1+0x100]{k1},zmm30 } +testcase { 0x62, 0x22, 0x7d, 0x41, 0xa0, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vpscatterdd [rcx+zmm31*4+0x400]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa0, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpscatterdq [r14+ymm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa0, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpscatterdq [r14+ymm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa0, 0x74, 0x39, 0x20 }, { vpscatterdq [r9+ymm31*1+0x100]{k1},zmm30 } +testcase { 0x62, 0x22, 0xfd, 0x41, 0xa0, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vpscatterdq [rcx+ymm31*4+0x400]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa1, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpscatterqq [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa1, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vpscatterqq [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa1, 0x74, 0x39, 0x20 }, { vpscatterqq [r9+zmm31*1+0x100]{k1},zmm30 } +testcase { 0x62, 0x22, 0xfd, 0x41, 0xa1, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vpscatterqq [rcx+zmm31*4+0x400]{k1},zmm30 } +testcase { 0x62, 0x01, 0x7d, 0x48, 0x70, 0xf5, 0xab }, { vpshufd zmm30,zmm29,0xab } +testcase { 0x62, 0x01, 0x7d, 0x4f, 0x70, 0xf5, 0xab }, { vpshufd zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x01, 0x7d, 0xcf, 0x70, 0xf5, 0xab }, { vpshufd zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x01, 0x7d, 0x48, 0x70, 0xf5, 0x7b }, { vpshufd zmm30,zmm29,0x7b } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x70, 0x31, 0x7b }, { vpshufd zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x21, 0x7d, 0x48, 0x70, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpshufd zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x70, 0x31, 0x7b }, { vpshufd zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x70, 0x72, 0x7f, 0x7b }, { vpshufd zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x70, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpshufd zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x70, 0x72, 0x80, 0x7b }, { vpshufd zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x70, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpshufd zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x70, 0x72, 0x7f, 0x7b }, { vpshufd zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x70, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpshufd zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x70, 0x72, 0x80, 0x7b }, { vpshufd zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x61, 0x7d, 0x58, 0x70, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpshufd zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x01, 0x15, 0x47, 0xf2, 0xf4 }, { vpslld zmm30{k7},zmm29,xmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xf2, 0xf4 }, { vpslld zmm30{k7}{z},zmm29,xmm28 } +testcase { 0x62, 0x61, 0x15, 0x47, 0xf2, 0x31 }, { vpslld zmm30{k7},zmm29,OWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x47, 0xf2, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpslld zmm30{k7},zmm29,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xf2, 0x72, 0x7f }, { vpslld zmm30{k7},zmm29,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xf2, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpslld zmm30{k7},zmm29,OWORD [rdx+0x800] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xf2, 0x72, 0x80 }, { vpslld zmm30{k7},zmm29,OWORD [rdx-0x800] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xf2, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpslld zmm30{k7},zmm29,OWORD [rdx-0x810] } +testcase { 0x62, 0x01, 0x95, 0x47, 0xf3, 0xf4 }, { vpsllq zmm30{k7},zmm29,xmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xf3, 0xf4 }, { vpsllq zmm30{k7}{z},zmm29,xmm28 } +testcase { 0x62, 0x61, 0x95, 0x47, 0xf3, 0x31 }, { vpsllq zmm30{k7},zmm29,OWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x47, 0xf3, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsllq zmm30{k7},zmm29,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xf3, 0x72, 0x7f }, { vpsllq zmm30{k7},zmm29,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xf3, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpsllq zmm30{k7},zmm29,OWORD [rdx+0x800] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xf3, 0x72, 0x80 }, { vpsllq zmm30{k7},zmm29,OWORD [rdx-0x800] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xf3, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpsllq zmm30{k7},zmm29,OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x15, 0x40, 0x47, 0xf4 }, { vpsllvd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x47, 0xf4 }, { vpsllvd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x47, 0xf4 }, { vpsllvd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x47, 0x31 }, { vpsllvd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x47, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsllvd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x47, 0x31 }, { vpsllvd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x47, 0x72, 0x7f }, { vpsllvd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x47, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsllvd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x47, 0x72, 0x80 }, { vpsllvd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x47, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsllvd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x47, 0x72, 0x7f }, { vpsllvd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x47, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpsllvd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x47, 0x72, 0x80 }, { vpsllvd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x47, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpsllvd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x47, 0xf4 }, { vpsllvq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x47, 0xf4 }, { vpsllvq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x47, 0xf4 }, { vpsllvq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x47, 0x31 }, { vpsllvq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x47, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsllvq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x47, 0x31 }, { vpsllvq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x47, 0x72, 0x7f }, { vpsllvq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x47, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsllvq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x47, 0x72, 0x80 }, { vpsllvq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x47, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsllvq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x47, 0x72, 0x7f }, { vpsllvq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x47, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpsllvq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x47, 0x72, 0x80 }, { vpsllvq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x47, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpsllvq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x47, 0xe2, 0xf4 }, { vpsrad zmm30{k7},zmm29,xmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xe2, 0xf4 }, { vpsrad zmm30{k7}{z},zmm29,xmm28 } +testcase { 0x62, 0x61, 0x15, 0x47, 0xe2, 0x31 }, { vpsrad zmm30{k7},zmm29,OWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x47, 0xe2, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsrad zmm30{k7},zmm29,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xe2, 0x72, 0x7f }, { vpsrad zmm30{k7},zmm29,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xe2, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpsrad zmm30{k7},zmm29,OWORD [rdx+0x800] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xe2, 0x72, 0x80 }, { vpsrad zmm30{k7},zmm29,OWORD [rdx-0x800] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xe2, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpsrad zmm30{k7},zmm29,OWORD [rdx-0x810] } +testcase { 0x62, 0x01, 0x95, 0x47, 0xe2, 0xf4 }, { vpsraq zmm30{k7},zmm29,xmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xe2, 0xf4 }, { vpsraq zmm30{k7}{z},zmm29,xmm28 } +testcase { 0x62, 0x61, 0x95, 0x47, 0xe2, 0x31 }, { vpsraq zmm30{k7},zmm29,OWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x47, 0xe2, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsraq zmm30{k7},zmm29,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xe2, 0x72, 0x7f }, { vpsraq zmm30{k7},zmm29,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xe2, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpsraq zmm30{k7},zmm29,OWORD [rdx+0x800] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xe2, 0x72, 0x80 }, { vpsraq zmm30{k7},zmm29,OWORD [rdx-0x800] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xe2, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpsraq zmm30{k7},zmm29,OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x15, 0x40, 0x46, 0xf4 }, { vpsravd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x46, 0xf4 }, { vpsravd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x46, 0xf4 }, { vpsravd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x46, 0x31 }, { vpsravd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x46, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsravd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x46, 0x31 }, { vpsravd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x46, 0x72, 0x7f }, { vpsravd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x46, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsravd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x46, 0x72, 0x80 }, { vpsravd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x46, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsravd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x46, 0x72, 0x7f }, { vpsravd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x46, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpsravd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x46, 0x72, 0x80 }, { vpsravd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x46, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpsravd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x46, 0xf4 }, { vpsravq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x46, 0xf4 }, { vpsravq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x46, 0xf4 }, { vpsravq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x46, 0x31 }, { vpsravq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x46, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsravq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x46, 0x31 }, { vpsravq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x46, 0x72, 0x7f }, { vpsravq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x46, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsravq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x46, 0x72, 0x80 }, { vpsravq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x46, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsravq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x46, 0x72, 0x7f }, { vpsravq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x46, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpsravq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x46, 0x72, 0x80 }, { vpsravq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x46, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpsravq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x47, 0xd2, 0xf4 }, { vpsrld zmm30{k7},zmm29,xmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xd2, 0xf4 }, { vpsrld zmm30{k7}{z},zmm29,xmm28 } +testcase { 0x62, 0x61, 0x15, 0x47, 0xd2, 0x31 }, { vpsrld zmm30{k7},zmm29,OWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x47, 0xd2, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsrld zmm30{k7},zmm29,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xd2, 0x72, 0x7f }, { vpsrld zmm30{k7},zmm29,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xd2, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpsrld zmm30{k7},zmm29,OWORD [rdx+0x800] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xd2, 0x72, 0x80 }, { vpsrld zmm30{k7},zmm29,OWORD [rdx-0x800] } +testcase { 0x62, 0x61, 0x15, 0x47, 0xd2, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpsrld zmm30{k7},zmm29,OWORD [rdx-0x810] } +testcase { 0x62, 0x01, 0x95, 0x47, 0xd3, 0xf4 }, { vpsrlq zmm30{k7},zmm29,xmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xd3, 0xf4 }, { vpsrlq zmm30{k7}{z},zmm29,xmm28 } +testcase { 0x62, 0x61, 0x95, 0x47, 0xd3, 0x31 }, { vpsrlq zmm30{k7},zmm29,OWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x47, 0xd3, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsrlq zmm30{k7},zmm29,OWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xd3, 0x72, 0x7f }, { vpsrlq zmm30{k7},zmm29,OWORD [rdx+0x7f0] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xd3, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpsrlq zmm30{k7},zmm29,OWORD [rdx+0x800] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xd3, 0x72, 0x80 }, { vpsrlq zmm30{k7},zmm29,OWORD [rdx-0x800] } +testcase { 0x62, 0x61, 0x95, 0x47, 0xd3, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpsrlq zmm30{k7},zmm29,OWORD [rdx-0x810] } +testcase { 0x62, 0x02, 0x15, 0x40, 0x45, 0xf4 }, { vpsrlvd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x45, 0xf4 }, { vpsrlvd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x45, 0xf4 }, { vpsrlvd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x45, 0x31 }, { vpsrlvd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x45, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsrlvd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x45, 0x31 }, { vpsrlvd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x45, 0x72, 0x7f }, { vpsrlvd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x45, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsrlvd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x45, 0x72, 0x80 }, { vpsrlvd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x45, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsrlvd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x45, 0x72, 0x7f }, { vpsrlvd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x45, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpsrlvd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x45, 0x72, 0x80 }, { vpsrlvd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x45, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpsrlvd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x45, 0xf4 }, { vpsrlvq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x45, 0xf4 }, { vpsrlvq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x45, 0xf4 }, { vpsrlvq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x45, 0x31 }, { vpsrlvq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x45, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsrlvq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x45, 0x31 }, { vpsrlvq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x45, 0x72, 0x7f }, { vpsrlvq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x45, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsrlvq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x45, 0x72, 0x80 }, { vpsrlvq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x45, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsrlvq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x45, 0x72, 0x7f }, { vpsrlvq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x45, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpsrlvq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x45, 0x72, 0x80 }, { vpsrlvq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x45, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpsrlvq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xd5, 0xab }, { vpsrld zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x72, 0xd5, 0xab }, { vpsrld zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0xc7, 0x72, 0xd5, 0xab }, { vpsrld zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xd5, 0x7b }, { vpsrld zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x11, 0x7b }, { vpsrld zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x72, 0x94, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpsrld zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x11, 0x7b }, { vpsrld zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x52, 0x7f, 0x7b }, { vpsrld zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x92, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpsrld zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x52, 0x80, 0x7b }, { vpsrld zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x92, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpsrld zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x52, 0x7f, 0x7b }, { vpsrld zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x92, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpsrld zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x52, 0x80, 0x7b }, { vpsrld zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x92, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpsrld zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x73, 0xd5, 0xab }, { vpsrlq zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x47, 0x73, 0xd5, 0xab }, { vpsrlq zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0xc7, 0x73, 0xd5, 0xab }, { vpsrlq zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x73, 0xd5, 0x7b }, { vpsrlq zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x11, 0x7b }, { vpsrlq zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0x73, 0x94, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpsrlq zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x11, 0x7b }, { vpsrlq zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x52, 0x7f, 0x7b }, { vpsrlq zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x92, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpsrlq zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x52, 0x80, 0x7b }, { vpsrlq zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x92, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpsrlq zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x52, 0x7f, 0x7b }, { vpsrlq zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x92, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpsrlq zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x52, 0x80, 0x7b }, { vpsrlq zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x92, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpsrlq zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x01, 0x15, 0x40, 0xfa, 0xf4 }, { vpsubd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0xfa, 0xf4 }, { vpsubd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xfa, 0xf4 }, { vpsubd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfa, 0x31 }, { vpsubd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0xfa, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsubd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfa, 0x31 }, { vpsubd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfa, 0x72, 0x7f }, { vpsubd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfa, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsubd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfa, 0x72, 0x80 }, { vpsubd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xfa, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsubd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfa, 0x72, 0x7f }, { vpsubd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfa, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpsubd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfa, 0x72, 0x80 }, { vpsubd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xfa, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpsubd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xfb, 0xf4 }, { vpsubq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xfb, 0xf4 }, { vpsubq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xfb, 0xf4 }, { vpsubq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xfb, 0x31 }, { vpsubq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xfb, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpsubq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xfb, 0x31 }, { vpsubq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xfb, 0x72, 0x7f }, { vpsubq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xfb, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpsubq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xfb, 0x72, 0x80 }, { vpsubq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xfb, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpsubq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xfb, 0x72, 0x7f }, { vpsubq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xfb, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpsubq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xfb, 0x72, 0x80 }, { vpsubq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xfb, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpsubq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x92, 0x0d, 0x40, 0x27, 0xed }, { vptestmd k5,zmm30,zmm29 } +testcase { 0x62, 0x92, 0x0d, 0x47, 0x27, 0xed }, { vptestmd k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf2, 0x0d, 0x40, 0x27, 0x29 }, { vptestmd k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb2, 0x0d, 0x40, 0x27, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vptestmd k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf2, 0x0d, 0x50, 0x27, 0x29 }, { vptestmd k5,zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0xf2, 0x0d, 0x40, 0x27, 0x6a, 0x7f }, { vptestmd k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf2, 0x0d, 0x40, 0x27, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vptestmd k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf2, 0x0d, 0x40, 0x27, 0x6a, 0x80 }, { vptestmd k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf2, 0x0d, 0x40, 0x27, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vptestmd k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf2, 0x0d, 0x50, 0x27, 0x6a, 0x7f }, { vptestmd k5,zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0xf2, 0x0d, 0x50, 0x27, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vptestmd k5,zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0xf2, 0x0d, 0x50, 0x27, 0x6a, 0x80 }, { vptestmd k5,zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0xf2, 0x0d, 0x50, 0x27, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vptestmd k5,zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x92, 0x8d, 0x40, 0x27, 0xed }, { vptestmq k5,zmm30,zmm29 } +testcase { 0x62, 0x92, 0x8d, 0x47, 0x27, 0xed }, { vptestmq k5{k7},zmm30,zmm29 } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x27, 0x29 }, { vptestmq k5,zmm30,ZWORD [rcx] } +testcase { 0x62, 0xb2, 0x8d, 0x40, 0x27, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vptestmq k5,zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x27, 0x29 }, { vptestmq k5,zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x27, 0x6a, 0x7f }, { vptestmq k5,zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x27, 0xaa, 0x00, 0x20, 0x00, 0x00 }, { vptestmq k5,zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x27, 0x6a, 0x80 }, { vptestmq k5,zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0xf2, 0x8d, 0x40, 0x27, 0xaa, 0xc0, 0xdf, 0xff, 0xff }, { vptestmq k5,zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x27, 0x6a, 0x7f }, { vptestmq k5,zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x27, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vptestmq k5,zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x27, 0x6a, 0x80 }, { vptestmq k5,zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0xf2, 0x8d, 0x50, 0x27, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vptestmq k5,zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x40, 0x6a, 0xf4 }, { vpunpckhdq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0x6a, 0xf4 }, { vpunpckhdq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0x6a, 0xf4 }, { vpunpckhdq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0x6a, 0x31 }, { vpunpckhdq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0x6a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpunpckhdq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0x6a, 0x31 }, { vpunpckhdq zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0x6a, 0x72, 0x7f }, { vpunpckhdq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0x6a, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpunpckhdq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0x6a, 0x72, 0x80 }, { vpunpckhdq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0x6a, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpunpckhdq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0x6a, 0x72, 0x7f }, { vpunpckhdq zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0x6a, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpunpckhdq zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0x6a, 0x72, 0x80 }, { vpunpckhdq zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0x6a, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpunpckhdq zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0x6d, 0xf4 }, { vpunpckhqdq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x6d, 0xf4 }, { vpunpckhqdq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x6d, 0xf4 }, { vpunpckhqdq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6d, 0x31 }, { vpunpckhqdq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x6d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpunpckhqdq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6d, 0x31 }, { vpunpckhqdq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6d, 0x72, 0x7f }, { vpunpckhqdq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6d, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpunpckhqdq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6d, 0x72, 0x80 }, { vpunpckhqdq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6d, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpunpckhqdq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6d, 0x72, 0x7f }, { vpunpckhqdq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpunpckhqdq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6d, 0x72, 0x80 }, { vpunpckhqdq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpunpckhqdq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x40, 0x62, 0xf4 }, { vpunpckldq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0x62, 0xf4 }, { vpunpckldq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0x62, 0xf4 }, { vpunpckldq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0x62, 0x31 }, { vpunpckldq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0x62, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpunpckldq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0x62, 0x31 }, { vpunpckldq zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0x62, 0x72, 0x7f }, { vpunpckldq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0x62, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpunpckldq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0x62, 0x72, 0x80 }, { vpunpckldq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0x62, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpunpckldq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0x62, 0x72, 0x7f }, { vpunpckldq zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0x62, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpunpckldq zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0x62, 0x72, 0x80 }, { vpunpckldq zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0x62, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpunpckldq zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0x6c, 0xf4 }, { vpunpcklqdq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x6c, 0xf4 }, { vpunpcklqdq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x6c, 0xf4 }, { vpunpcklqdq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6c, 0x31 }, { vpunpcklqdq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x6c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpunpcklqdq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6c, 0x31 }, { vpunpcklqdq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6c, 0x72, 0x7f }, { vpunpcklqdq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpunpcklqdq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6c, 0x72, 0x80 }, { vpunpcklqdq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x6c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpunpcklqdq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6c, 0x72, 0x7f }, { vpunpcklqdq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6c, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpunpcklqdq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6c, 0x72, 0x80 }, { vpunpcklqdq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x6c, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpunpcklqdq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x15, 0x40, 0xef, 0xf4 }, { vpxord zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0x47, 0xef, 0xf4 }, { vpxord zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x15, 0xc7, 0xef, 0xf4 }, { vpxord zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x15, 0x40, 0xef, 0x31 }, { vpxord zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x15, 0x40, 0xef, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpxord zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xef, 0x31 }, { vpxord zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x40, 0xef, 0x72, 0x7f }, { vpxord zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xef, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpxord zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xef, 0x72, 0x80 }, { vpxord zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x15, 0x40, 0xef, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpxord zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x15, 0x50, 0xef, 0x72, 0x7f }, { vpxord zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xef, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpxord zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xef, 0x72, 0x80 }, { vpxord zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x15, 0x50, 0xef, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpxord zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0xef, 0xf4 }, { vpxorq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0xef, 0xf4 }, { vpxorq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xef, 0xf4 }, { vpxorq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0xef, 0x31 }, { vpxorq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0xef, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpxorq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xef, 0x31 }, { vpxorq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0xef, 0x72, 0x7f }, { vpxorq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xef, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpxorq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xef, 0x72, 0x80 }, { vpxorq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0xef, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpxorq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0xef, 0x72, 0x7f }, { vpxorq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xef, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpxorq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xef, 0x72, 0x80 }, { vpxorq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0xef, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpxorq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x4c, 0xf5 }, { vrcp14pd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x4c, 0xf5 }, { vrcp14pd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x4c, 0xf5 }, { vrcp14pd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4c, 0x31 }, { vrcp14pd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x4c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp14pd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4c, 0x31 }, { vrcp14pd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4c, 0x72, 0x7f }, { vrcp14pd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrcp14pd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4c, 0x72, 0x80 }, { vrcp14pd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrcp14pd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4c, 0x72, 0x7f }, { vrcp14pd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4c, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrcp14pd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4c, 0x72, 0x80 }, { vrcp14pd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4c, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrcp14pd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x4c, 0xf5 }, { vrcp14ps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x4c, 0xf5 }, { vrcp14ps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x4c, 0xf5 }, { vrcp14ps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4c, 0x31 }, { vrcp14ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x4c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp14ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4c, 0x31 }, { vrcp14ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4c, 0x72, 0x7f }, { vrcp14ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrcp14ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4c, 0x72, 0x80 }, { vrcp14ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrcp14ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4c, 0x72, 0x7f }, { vrcp14ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4c, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrcp14ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4c, 0x72, 0x80 }, { vrcp14ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4c, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrcp14ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x4d, 0xf4 }, { vrcp14sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x4d, 0xf4 }, { vrcp14sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4d, 0x31 }, { vrcp14sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x4d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp14sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4d, 0x72, 0x7f }, { vrcp14sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrcp14sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4d, 0x72, 0x80 }, { vrcp14sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrcp14sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x4d, 0xf4 }, { vrcp14ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x4d, 0xf4 }, { vrcp14ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4d, 0x31 }, { vrcp14ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x4d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrcp14ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4d, 0x72, 0x7f }, { vrcp14ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4d, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrcp14ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4d, 0x72, 0x80 }, { vrcp14ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4d, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrcp14ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x4e, 0xf5 }, { vrsqrt14pd zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x4e, 0xf5 }, { vrsqrt14pd zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x4e, 0xf5 }, { vrsqrt14pd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4e, 0x31 }, { vrsqrt14pd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x4e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt14pd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4e, 0x31 }, { vrsqrt14pd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4e, 0x72, 0x7f }, { vrsqrt14pd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrsqrt14pd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4e, 0x72, 0x80 }, { vrsqrt14pd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x4e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrsqrt14pd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4e, 0x72, 0x7f }, { vrsqrt14pd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrsqrt14pd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4e, 0x72, 0x80 }, { vrsqrt14pd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0xfd, 0x58, 0x4e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrsqrt14pd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x7d, 0x48, 0x4e, 0xf5 }, { vrsqrt14ps zmm30,zmm29 } +testcase { 0x62, 0x02, 0x7d, 0x4f, 0x4e, 0xf5 }, { vrsqrt14ps zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7d, 0xcf, 0x4e, 0xf5 }, { vrsqrt14ps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4e, 0x31 }, { vrsqrt14ps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x7d, 0x48, 0x4e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt14ps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4e, 0x31 }, { vrsqrt14ps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4e, 0x72, 0x7f }, { vrsqrt14ps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vrsqrt14ps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4e, 0x72, 0x80 }, { vrsqrt14ps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x7d, 0x48, 0x4e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vrsqrt14ps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4e, 0x72, 0x7f }, { vrsqrt14ps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrsqrt14ps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4e, 0x72, 0x80 }, { vrsqrt14ps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x7d, 0x58, 0x4e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrsqrt14ps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x4f, 0xf4 }, { vrsqrt14sd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x4f, 0xf4 }, { vrsqrt14sd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4f, 0x31 }, { vrsqrt14sd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x4f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt14sd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4f, 0x72, 0x7f }, { vrsqrt14sd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vrsqrt14sd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4f, 0x72, 0x80 }, { vrsqrt14sd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x4f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vrsqrt14sd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x4f, 0xf4 }, { vrsqrt14ss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x4f, 0xf4 }, { vrsqrt14ss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4f, 0x31 }, { vrsqrt14ss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x4f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vrsqrt14ss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4f, 0x72, 0x7f }, { vrsqrt14ss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vrsqrt14ss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4f, 0x72, 0x80 }, { vrsqrt14ss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x4f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vrsqrt14ss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa2, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterdpd [r14+ymm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa2, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterdpd [r14+ymm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa2, 0x74, 0x39, 0x20 }, { vscatterdpd [r9+ymm31*1+0x100]{k1},zmm30 } +testcase { 0x62, 0x22, 0xfd, 0x41, 0xa2, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterdpd [rcx+ymm31*4+0x400]{k1},zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x41, 0xa2, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterdps [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x41, 0xa2, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterdps [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0x7d, 0x41, 0xa2, 0x74, 0x39, 0x40 }, { vscatterdps [r9+zmm31*1+0x100]{k1},zmm30 } +testcase { 0x62, 0x22, 0x7d, 0x41, 0xa2, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterdps [rcx+zmm31*4+0x400]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa3, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterqpd [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa3, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterqpd [r14+zmm31*8+0x7b]{k1},zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x41, 0xa3, 0x74, 0x39, 0x20 }, { vscatterqpd [r9+zmm31*1+0x100]{k1},zmm30 } +testcase { 0x62, 0x22, 0xfd, 0x41, 0xa3, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterqpd [rcx+zmm31*4+0x400]{k1},zmm30 } +testcase { 0x62, 0x01, 0x95, 0x40, 0xc6, 0xf4, 0xab }, { vshufpd zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x01, 0x95, 0x47, 0xc6, 0xf4, 0xab }, { vshufpd zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x01, 0x95, 0xc7, 0xc6, 0xf4, 0xab }, { vshufpd zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x01, 0x95, 0x40, 0xc6, 0xf4, 0x7b }, { vshufpd zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x61, 0x95, 0x40, 0xc6, 0x31, 0x7b }, { vshufpd zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x21, 0x95, 0x40, 0xc6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vshufpd zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x61, 0x95, 0x50, 0xc6, 0x31, 0x7b }, { vshufpd zmm30,zmm29,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x61, 0x95, 0x40, 0xc6, 0x72, 0x7f, 0x7b }, { vshufpd zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x61, 0x95, 0x40, 0xc6, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vshufpd zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x61, 0x95, 0x40, 0xc6, 0x72, 0x80, 0x7b }, { vshufpd zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x61, 0x95, 0x40, 0xc6, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vshufpd zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x61, 0x95, 0x50, 0xc6, 0x72, 0x7f, 0x7b }, { vshufpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x61, 0x95, 0x50, 0xc6, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vshufpd zmm30,zmm29,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x61, 0x95, 0x50, 0xc6, 0x72, 0x80, 0x7b }, { vshufpd zmm30,zmm29,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x61, 0x95, 0x50, 0xc6, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vshufpd zmm30,zmm29,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x01, 0x14, 0x40, 0xc6, 0xf4, 0xab }, { vshufps zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x01, 0x14, 0x47, 0xc6, 0xf4, 0xab }, { vshufps zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x01, 0x14, 0xc7, 0xc6, 0xf4, 0xab }, { vshufps zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x01, 0x14, 0x40, 0xc6, 0xf4, 0x7b }, { vshufps zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x61, 0x14, 0x40, 0xc6, 0x31, 0x7b }, { vshufps zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x21, 0x14, 0x40, 0xc6, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vshufps zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x61, 0x14, 0x50, 0xc6, 0x31, 0x7b }, { vshufps zmm30,zmm29,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x61, 0x14, 0x40, 0xc6, 0x72, 0x7f, 0x7b }, { vshufps zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x61, 0x14, 0x40, 0xc6, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vshufps zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x61, 0x14, 0x40, 0xc6, 0x72, 0x80, 0x7b }, { vshufps zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x61, 0x14, 0x40, 0xc6, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vshufps zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x61, 0x14, 0x50, 0xc6, 0x72, 0x7f, 0x7b }, { vshufps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x61, 0x14, 0x50, 0xc6, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vshufps zmm30,zmm29,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x61, 0x14, 0x50, 0xc6, 0x72, 0x80, 0x7b }, { vshufps zmm30,zmm29,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x61, 0x14, 0x50, 0xc6, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vshufps zmm30,zmm29,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x01, 0xfd, 0x48, 0x51, 0xf5 }, { vsqrtpd zmm30,zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x4f, 0x51, 0xf5 }, { vsqrtpd zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0xcf, 0x51, 0xf5 }, { vsqrtpd zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0xfd, 0x18, 0x51, 0xf5 }, { vsqrtpd zmm30,zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0xfd, 0x58, 0x51, 0xf5 }, { vsqrtpd zmm30,zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0xfd, 0x38, 0x51, 0xf5 }, { vsqrtpd zmm30,zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0xfd, 0x78, 0x51, 0xf5 }, { vsqrtpd zmm30,zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x51, 0x31 }, { vsqrtpd zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x51, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsqrtpd zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x58, 0x51, 0x31 }, { vsqrtpd zmm30,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x51, 0x72, 0x7f }, { vsqrtpd zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x51, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vsqrtpd zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x51, 0x72, 0x80 }, { vsqrtpd zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x51, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vsqrtpd zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xfd, 0x58, 0x51, 0x72, 0x7f }, { vsqrtpd zmm30,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x58, 0x51, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vsqrtpd zmm30,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x58, 0x51, 0x72, 0x80 }, { vsqrtpd zmm30,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0xfd, 0x58, 0x51, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vsqrtpd zmm30,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x7c, 0x48, 0x51, 0xf5 }, { vsqrtps zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x51, 0xf5 }, { vsqrtps zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x51, 0xf5 }, { vsqrtps zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x18, 0x51, 0xf5 }, { vsqrtps zmm30,zmm29,{rn-sae} } +testcase { 0x62, 0x01, 0x7c, 0x58, 0x51, 0xf5 }, { vsqrtps zmm30,zmm29,{ru-sae} } +testcase { 0x62, 0x01, 0x7c, 0x38, 0x51, 0xf5 }, { vsqrtps zmm30,zmm29,{rd-sae} } +testcase { 0x62, 0x01, 0x7c, 0x78, 0x51, 0xf5 }, { vsqrtps zmm30,zmm29,{rz-sae} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x51, 0x31 }, { vsqrtps zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x51, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsqrtps zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x51, 0x31 }, { vsqrtps zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x51, 0x72, 0x7f }, { vsqrtps zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x51, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vsqrtps zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x51, 0x72, 0x80 }, { vsqrtps zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x51, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vsqrtps zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x51, 0x72, 0x7f }, { vsqrtps zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x51, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vsqrtps zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x51, 0x72, 0x80 }, { vsqrtps zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x51, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vsqrtps zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x51, 0xf4 }, { vsqrtsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x51, 0xf4 }, { vsqrtsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x51, 0xf4 }, { vsqrtsd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x97, 0x57, 0x51, 0xf4 }, { vsqrtsd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x97, 0x37, 0x51, 0xf4 }, { vsqrtsd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x97, 0x77, 0x51, 0xf4 }, { vsqrtsd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x51, 0x31 }, { vsqrtsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x51, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsqrtsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x51, 0x72, 0x7f }, { vsqrtsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x51, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vsqrtsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x51, 0x72, 0x80 }, { vsqrtsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x51, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vsqrtsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x51, 0xf4 }, { vsqrtss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x51, 0xf4 }, { vsqrtss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x51, 0xf4 }, { vsqrtss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x16, 0x57, 0x51, 0xf4 }, { vsqrtss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x16, 0x37, 0x51, 0xf4 }, { vsqrtss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x16, 0x77, 0x51, 0xf4 }, { vsqrtss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x51, 0x31 }, { vsqrtss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x51, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsqrtss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x51, 0x72, 0x7f }, { vsqrtss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x51, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vsqrtss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x51, 0x72, 0x80 }, { vsqrtss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x51, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vsqrtss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x01, 0x95, 0x40, 0x5c, 0xf4 }, { vsubpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x5c, 0xf4 }, { vsubpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x5c, 0xf4 }, { vsubpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x10, 0x5c, 0xf4 }, { vsubpd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x95, 0x50, 0x5c, 0xf4 }, { vsubpd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x95, 0x30, 0x5c, 0xf4 }, { vsubpd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x95, 0x70, 0x5c, 0xf4 }, { vsubpd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5c, 0x31 }, { vsubpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x5c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsubpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5c, 0x31 }, { vsubpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5c, 0x72, 0x7f }, { vsubpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vsubpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5c, 0x72, 0x80 }, { vsubpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x5c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vsubpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5c, 0x72, 0x7f }, { vsubpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5c, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vsubpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5c, 0x72, 0x80 }, { vsubpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x5c, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vsubpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x5c, 0xf4 }, { vsubps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x5c, 0xf4 }, { vsubps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x5c, 0xf4 }, { vsubps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x10, 0x5c, 0xf4 }, { vsubps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x14, 0x50, 0x5c, 0xf4 }, { vsubps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x14, 0x30, 0x5c, 0xf4 }, { vsubps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x14, 0x70, 0x5c, 0xf4 }, { vsubps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5c, 0x31 }, { vsubps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x5c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsubps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5c, 0x31 }, { vsubps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5c, 0x72, 0x7f }, { vsubps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vsubps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5c, 0x72, 0x80 }, { vsubps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x5c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vsubps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5c, 0x72, 0x7f }, { vsubps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5c, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vsubps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5c, 0x72, 0x80 }, { vsubps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x5c, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vsubps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x97, 0x07, 0x5c, 0xf4 }, { vsubsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x87, 0x5c, 0xf4 }, { vsubsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x97, 0x17, 0x5c, 0xf4 }, { vsubsd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x97, 0x57, 0x5c, 0xf4 }, { vsubsd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x97, 0x37, 0x5c, 0xf4 }, { vsubsd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x97, 0x77, 0x5c, 0xf4 }, { vsubsd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5c, 0x31 }, { vsubsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x07, 0x5c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsubsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5c, 0x72, 0x7f }, { vsubsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5c, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vsubsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5c, 0x72, 0x80 }, { vsubsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x07, 0x5c, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vsubsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x16, 0x07, 0x5c, 0xf4 }, { vsubss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x87, 0x5c, 0xf4 }, { vsubss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x01, 0x16, 0x17, 0x5c, 0xf4 }, { vsubss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x01, 0x16, 0x57, 0x5c, 0xf4 }, { vsubss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x01, 0x16, 0x37, 0x5c, 0xf4 }, { vsubss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x01, 0x16, 0x77, 0x5c, 0xf4 }, { vsubss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5c, 0x31 }, { vsubss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x07, 0x5c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vsubss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5c, 0x72, 0x7f }, { vsubss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5c, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vsubss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5c, 0x72, 0x80 }, { vsubss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x07, 0x5c, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vsubss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x01, 0xfd, 0x08, 0x2e, 0xf5 }, { vucomisd xmm30,xmm29 } +testcase { 0x62, 0x01, 0xfd, 0x18, 0x2e, 0xf5 }, { vucomisd xmm30,xmm29,{sae} } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2e, 0x31 }, { vucomisd xmm30,QWORD [rcx] } +testcase { 0x62, 0x21, 0xfd, 0x08, 0x2e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vucomisd xmm30,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2e, 0x72, 0x7f }, { vucomisd xmm30,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vucomisd xmm30,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2e, 0x72, 0x80 }, { vucomisd xmm30,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0xfd, 0x08, 0x2e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vucomisd xmm30,QWORD [rdx-0x408] } +testcase { 0x62, 0x01, 0x7c, 0x08, 0x2e, 0xf5 }, { vucomiss xmm30,xmm29 } +testcase { 0x62, 0x01, 0x7c, 0x18, 0x2e, 0xf5 }, { vucomiss xmm30,xmm29,{sae} } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2e, 0x31 }, { vucomiss xmm30,DWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x08, 0x2e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vucomiss xmm30,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2e, 0x72, 0x7f }, { vucomiss xmm30,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vucomiss xmm30,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2e, 0x72, 0x80 }, { vucomiss xmm30,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x7c, 0x08, 0x2e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vucomiss xmm30,DWORD [rdx-0x204] } +testcase { 0x62, 0x01, 0x95, 0x40, 0x15, 0xf4 }, { vunpckhpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x15, 0xf4 }, { vunpckhpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x15, 0xf4 }, { vunpckhpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0x15, 0x31 }, { vunpckhpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x15, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vunpckhpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x15, 0x31 }, { vunpckhpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x15, 0x72, 0x7f }, { vunpckhpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x15, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vunpckhpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x15, 0x72, 0x80 }, { vunpckhpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x15, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vunpckhpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x15, 0x72, 0x7f }, { vunpckhpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x15, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vunpckhpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x15, 0x72, 0x80 }, { vunpckhpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x15, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vunpckhpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x15, 0xf4 }, { vunpckhps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x15, 0xf4 }, { vunpckhps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x15, 0xf4 }, { vunpckhps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x14, 0x40, 0x15, 0x31 }, { vunpckhps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x15, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vunpckhps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x15, 0x31 }, { vunpckhps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x15, 0x72, 0x7f }, { vunpckhps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x15, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vunpckhps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x15, 0x72, 0x80 }, { vunpckhps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x15, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vunpckhps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x15, 0x72, 0x7f }, { vunpckhps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x15, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vunpckhps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x15, 0x72, 0x80 }, { vunpckhps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x15, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vunpckhps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x01, 0x95, 0x40, 0x14, 0xf4 }, { vunpcklpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0x47, 0x14, 0xf4 }, { vunpcklpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x95, 0xc7, 0x14, 0xf4 }, { vunpcklpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x95, 0x40, 0x14, 0x31 }, { vunpcklpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x95, 0x40, 0x14, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vunpcklpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x14, 0x31 }, { vunpcklpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x40, 0x14, 0x72, 0x7f }, { vunpcklpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x14, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vunpcklpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x14, 0x72, 0x80 }, { vunpcklpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x95, 0x40, 0x14, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vunpcklpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x95, 0x50, 0x14, 0x72, 0x7f }, { vunpcklpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x14, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vunpcklpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x14, 0x72, 0x80 }, { vunpcklpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0x95, 0x50, 0x14, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vunpcklpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x14, 0x40, 0x14, 0xf4 }, { vunpcklps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0x47, 0x14, 0xf4 }, { vunpcklps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x01, 0x14, 0xc7, 0x14, 0xf4 }, { vunpcklps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x61, 0x14, 0x40, 0x14, 0x31 }, { vunpcklps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x14, 0x40, 0x14, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vunpcklps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x14, 0x31 }, { vunpcklps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x40, 0x14, 0x72, 0x7f }, { vunpcklps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x14, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vunpcklps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x14, 0x72, 0x80 }, { vunpcklps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x14, 0x40, 0x14, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vunpcklps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x14, 0x50, 0x14, 0x72, 0x7f }, { vunpcklps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x14, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vunpcklps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x14, 0x72, 0x80 }, { vunpcklps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x14, 0x50, 0x14, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vunpcklps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x03, 0x15, 0x40, 0x25, 0xf4, 0xab }, { vpternlogd zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x25, 0xf4, 0xab }, { vpternlogd zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x25, 0xf4, 0xab }, { vpternlogd zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x40, 0x25, 0xf4, 0x7b }, { vpternlogd zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x25, 0x31, 0x7b }, { vpternlogd zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x40, 0x25, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpternlogd zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x25, 0x31, 0x7b }, { vpternlogd zmm30,zmm29,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x25, 0x72, 0x7f, 0x7b }, { vpternlogd zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x25, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpternlogd zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x25, 0x72, 0x80, 0x7b }, { vpternlogd zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x25, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpternlogd zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x25, 0x72, 0x7f, 0x7b }, { vpternlogd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x25, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpternlogd zmm30,zmm29,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x25, 0x72, 0x80, 0x7b }, { vpternlogd zmm30,zmm29,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x25, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpternlogd zmm30,zmm29,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x03, 0x95, 0x40, 0x25, 0xf4, 0xab }, { vpternlogq zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x25, 0xf4, 0xab }, { vpternlogq zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x25, 0xf4, 0xab }, { vpternlogq zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x40, 0x25, 0xf4, 0x7b }, { vpternlogq zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x25, 0x31, 0x7b }, { vpternlogq zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x40, 0x25, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpternlogq zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x25, 0x31, 0x7b }, { vpternlogq zmm30,zmm29,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x25, 0x72, 0x7f, 0x7b }, { vpternlogq zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x25, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpternlogq zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x25, 0x72, 0x80, 0x7b }, { vpternlogq zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x25, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpternlogq zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x25, 0x72, 0x7f, 0x7b }, { vpternlogq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x25, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpternlogq zmm30,zmm29,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x25, 0x72, 0x80, 0x7b }, { vpternlogq zmm30,zmm29,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x25, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpternlogq zmm30,zmm29,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x32, 0xee }, { vpmovqb xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x32, 0xee }, { vpmovqb xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x22, 0xee }, { vpmovsqb xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x22, 0xee }, { vpmovsqb xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x12, 0xee }, { vpmovusqb xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x12, 0xee }, { vpmovusqb xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x34, 0xee }, { vpmovqw xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x34, 0xee }, { vpmovqw xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x24, 0xee }, { vpmovsqw xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x24, 0xee }, { vpmovsqw xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x14, 0xee }, { vpmovusqw xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x14, 0xee }, { vpmovusqw xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x35, 0xee }, { vpmovqd ymm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x35, 0xee }, { vpmovqd ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x25, 0xee }, { vpmovsqd ymm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x25, 0xee }, { vpmovsqd ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x15, 0xee }, { vpmovusqd ymm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x15, 0xee }, { vpmovusqd ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x31, 0xee }, { vpmovdb xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x31, 0xee }, { vpmovdb xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x21, 0xee }, { vpmovsdb xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x21, 0xee }, { vpmovsdb xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x11, 0xee }, { vpmovusdb xmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x11, 0xee }, { vpmovusdb xmm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x33, 0xee }, { vpmovdw ymm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x33, 0xee }, { vpmovdw ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x23, 0xee }, { vpmovsdw ymm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x23, 0xee }, { vpmovsdw ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0x4f, 0x13, 0xee }, { vpmovusdw ymm30{k7},zmm29 } +testcase { 0x62, 0x02, 0x7e, 0xcf, 0x13, 0xee }, { vpmovusdw ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x03, 0x15, 0x40, 0x23, 0xf4, 0xab }, { vshuff32x4 zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x23, 0xf4, 0xab }, { vshuff32x4 zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x23, 0xf4, 0xab }, { vshuff32x4 zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x40, 0x23, 0xf4, 0x7b }, { vshuff32x4 zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x23, 0x31, 0x7b }, { vshuff32x4 zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x40, 0x23, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vshuff32x4 zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x23, 0x31, 0x7b }, { vshuff32x4 zmm30,zmm29,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x23, 0x72, 0x7f, 0x7b }, { vshuff32x4 zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x23, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vshuff32x4 zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x23, 0x72, 0x80, 0x7b }, { vshuff32x4 zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x23, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vshuff32x4 zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x23, 0x72, 0x7f, 0x7b }, { vshuff32x4 zmm30,zmm29,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x23, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vshuff32x4 zmm30,zmm29,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x23, 0x72, 0x80, 0x7b }, { vshuff32x4 zmm30,zmm29,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x23, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vshuff32x4 zmm30,zmm29,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x03, 0x95, 0x40, 0x23, 0xf4, 0xab }, { vshuff64x2 zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x23, 0xf4, 0xab }, { vshuff64x2 zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x23, 0xf4, 0xab }, { vshuff64x2 zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x40, 0x23, 0xf4, 0x7b }, { vshuff64x2 zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x23, 0x31, 0x7b }, { vshuff64x2 zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x40, 0x23, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vshuff64x2 zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x23, 0x31, 0x7b }, { vshuff64x2 zmm30,zmm29,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x23, 0x72, 0x7f, 0x7b }, { vshuff64x2 zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x23, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vshuff64x2 zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x23, 0x72, 0x80, 0x7b }, { vshuff64x2 zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x23, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vshuff64x2 zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x23, 0x72, 0x7f, 0x7b }, { vshuff64x2 zmm30,zmm29,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x23, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vshuff64x2 zmm30,zmm29,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x23, 0x72, 0x80, 0x7b }, { vshuff64x2 zmm30,zmm29,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x23, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vshuff64x2 zmm30,zmm29,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x03, 0x15, 0x40, 0x43, 0xf4, 0xab }, { vshufi32x4 zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x43, 0xf4, 0xab }, { vshufi32x4 zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x43, 0xf4, 0xab }, { vshufi32x4 zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x40, 0x43, 0xf4, 0x7b }, { vshufi32x4 zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x43, 0x31, 0x7b }, { vshufi32x4 zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x40, 0x43, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vshufi32x4 zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x43, 0x31, 0x7b }, { vshufi32x4 zmm30,zmm29,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x43, 0x72, 0x7f, 0x7b }, { vshufi32x4 zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x43, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vshufi32x4 zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x43, 0x72, 0x80, 0x7b }, { vshufi32x4 zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x43, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vshufi32x4 zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x43, 0x72, 0x7f, 0x7b }, { vshufi32x4 zmm30,zmm29,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x43, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vshufi32x4 zmm30,zmm29,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x43, 0x72, 0x80, 0x7b }, { vshufi32x4 zmm30,zmm29,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x43, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vshufi32x4 zmm30,zmm29,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x03, 0x95, 0x40, 0x43, 0xf4, 0xab }, { vshufi64x2 zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x43, 0xf4, 0xab }, { vshufi64x2 zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x43, 0xf4, 0xab }, { vshufi64x2 zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x40, 0x43, 0xf4, 0x7b }, { vshufi64x2 zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x43, 0x31, 0x7b }, { vshufi64x2 zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x40, 0x43, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vshufi64x2 zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x43, 0x31, 0x7b }, { vshufi64x2 zmm30,zmm29,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x43, 0x72, 0x7f, 0x7b }, { vshufi64x2 zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x43, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vshufi64x2 zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x43, 0x72, 0x80, 0x7b }, { vshufi64x2 zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x43, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vshufi64x2 zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x43, 0x72, 0x7f, 0x7b }, { vshufi64x2 zmm30,zmm29,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x43, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vshufi64x2 zmm30,zmm29,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x43, 0x72, 0x80, 0x7b }, { vshufi64x2 zmm30,zmm29,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x43, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vshufi64x2 zmm30,zmm29,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x02, 0x95, 0x40, 0x36, 0xf4 }, { vpermq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x36, 0xf4 }, { vpermq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x36, 0xf4 }, { vpermq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x36, 0x31 }, { vpermq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x36, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x36, 0x31 }, { vpermq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x36, 0x72, 0x7f }, { vpermq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x36, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x36, 0x72, 0x80 }, { vpermq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x36, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x36, 0x72, 0x7f }, { vpermq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x36, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x36, 0x72, 0x80 }, { vpermq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x36, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x16, 0xf4 }, { vpermpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x16, 0xf4 }, { vpermpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x16, 0xf4 }, { vpermpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x16, 0x31 }, { vpermpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x16, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x16, 0x31 }, { vpermpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x16, 0x72, 0x7f }, { vpermpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x16, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x16, 0x72, 0x80 }, { vpermpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x16, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x16, 0x72, 0x7f }, { vpermpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x16, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x16, 0x72, 0x80 }, { vpermpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x16, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x7e, 0xf4 }, { vpermt2d zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x7e, 0xf4 }, { vpermt2d zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x7e, 0xf4 }, { vpermt2d zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7e, 0x31 }, { vpermt2d zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x7e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermt2d zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7e, 0x31 }, { vpermt2d zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7e, 0x72, 0x7f }, { vpermt2d zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermt2d zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7e, 0x72, 0x80 }, { vpermt2d zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermt2d zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7e, 0x72, 0x7f }, { vpermt2d zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7e, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermt2d zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7e, 0x72, 0x80 }, { vpermt2d zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7e, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermt2d zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x7e, 0xf4 }, { vpermt2q zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x7e, 0xf4 }, { vpermt2q zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x7e, 0xf4 }, { vpermt2q zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7e, 0x31 }, { vpermt2q zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x7e, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermt2q zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7e, 0x31 }, { vpermt2q zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7e, 0x72, 0x7f }, { vpermt2q zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7e, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermt2q zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7e, 0x72, 0x80 }, { vpermt2q zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7e, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermt2q zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7e, 0x72, 0x7f }, { vpermt2q zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7e, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermt2q zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7e, 0x72, 0x80 }, { vpermt2q zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7e, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermt2q zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x7f, 0xf4 }, { vpermt2ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x7f, 0xf4 }, { vpermt2ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x7f, 0xf4 }, { vpermt2ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7f, 0x31 }, { vpermt2ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x7f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermt2ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7f, 0x31 }, { vpermt2ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7f, 0x72, 0x7f }, { vpermt2ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermt2ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7f, 0x72, 0x80 }, { vpermt2ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x7f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermt2ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7f, 0x72, 0x7f }, { vpermt2ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7f, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermt2ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7f, 0x72, 0x80 }, { vpermt2ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x7f, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermt2ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x7f, 0xf4 }, { vpermt2pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x7f, 0xf4 }, { vpermt2pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x7f, 0xf4 }, { vpermt2pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7f, 0x31 }, { vpermt2pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x7f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermt2pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7f, 0x31 }, { vpermt2pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7f, 0x72, 0x7f }, { vpermt2pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermt2pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7f, 0x72, 0x80 }, { vpermt2pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x7f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermt2pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7f, 0x72, 0x7f }, { vpermt2pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7f, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermt2pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7f, 0x72, 0x80 }, { vpermt2pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x7f, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermt2pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x03, 0x95, 0x40, 0x03, 0xf4, 0xab }, { valignq zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x03, 0xf4, 0xab }, { valignq zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x03, 0xf4, 0xab }, { valignq zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x40, 0x03, 0xf4, 0x7b }, { valignq zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x03, 0x31, 0x7b }, { valignq zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x40, 0x03, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { valignq zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x03, 0x31, 0x7b }, { valignq zmm30,zmm29,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x03, 0x72, 0x7f, 0x7b }, { valignq zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x03, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { valignq zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x03, 0x72, 0x80, 0x7b }, { valignq zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x03, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { valignq zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x03, 0x72, 0x7f, 0x7b }, { valignq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x03, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { valignq zmm30,zmm29,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x03, 0x72, 0x80, 0x7b }, { valignq zmm30,zmm29,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x03, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { valignq zmm30,zmm29,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x91, 0x7f, 0x08, 0x79, 0xc6 }, { vcvtsd2usi eax,xmm30 } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x79, 0xc6 }, { vcvtsd2usi eax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7f, 0x58, 0x79, 0xc6 }, { vcvtsd2usi eax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7f, 0x38, 0x79, 0xc6 }, { vcvtsd2usi eax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7f, 0x78, 0x79, 0xc6 }, { vcvtsd2usi eax,xmm30,{rz-sae} } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x01 }, { vcvtsd2usi eax,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x7f, 0x08, 0x79, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsd2usi eax,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x42, 0x7f }, { vcvtsd2usi eax,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x82, 0x00, 0x04, 0x00, 0x00 }, { vcvtsd2usi eax,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x42, 0x80 }, { vcvtsd2usi eax,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x82, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsd2usi eax,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x7f, 0x08, 0x79, 0xee }, { vcvtsd2usi ebp,xmm30 } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x79, 0xee }, { vcvtsd2usi ebp,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7f, 0x58, 0x79, 0xee }, { vcvtsd2usi ebp,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7f, 0x38, 0x79, 0xee }, { vcvtsd2usi ebp,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7f, 0x78, 0x79, 0xee }, { vcvtsd2usi ebp,xmm30,{rz-sae} } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x29 }, { vcvtsd2usi ebp,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x7f, 0x08, 0x79, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsd2usi ebp,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x6a, 0x7f }, { vcvtsd2usi ebp,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vcvtsd2usi ebp,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0x6a, 0x80 }, { vcvtsd2usi ebp,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x79, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsd2usi ebp,QWORD [rdx-0x408] } +testcase { 0x62, 0x11, 0x7f, 0x08, 0x79, 0xee }, { vcvtsd2usi r13d,xmm30 } +testcase { 0x62, 0x11, 0x7f, 0x18, 0x79, 0xee }, { vcvtsd2usi r13d,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0x7f, 0x58, 0x79, 0xee }, { vcvtsd2usi r13d,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0x7f, 0x38, 0x79, 0xee }, { vcvtsd2usi r13d,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0x7f, 0x78, 0x79, 0xee }, { vcvtsd2usi r13d,xmm30,{rz-sae} } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x79, 0x29 }, { vcvtsd2usi r13d,QWORD [rcx] } +testcase { 0x62, 0x31, 0x7f, 0x08, 0x79, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsd2usi r13d,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x79, 0x6a, 0x7f }, { vcvtsd2usi r13d,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x79, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vcvtsd2usi r13d,QWORD [rdx+0x400] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x79, 0x6a, 0x80 }, { vcvtsd2usi r13d,QWORD [rdx-0x400] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x79, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsd2usi r13d,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0xff, 0x08, 0x79, 0xc6 }, { vcvtsd2usi rax,xmm30 } +testcase { 0x62, 0x91, 0xff, 0x18, 0x79, 0xc6 }, { vcvtsd2usi rax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0xff, 0x58, 0x79, 0xc6 }, { vcvtsd2usi rax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0xff, 0x38, 0x79, 0xc6 }, { vcvtsd2usi rax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0xff, 0x78, 0x79, 0xc6 }, { vcvtsd2usi rax,xmm30,{rz-sae} } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x79, 0x01 }, { vcvtsd2usi rax,QWORD [rcx] } +testcase { 0x62, 0xb1, 0xff, 0x08, 0x79, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsd2usi rax,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x79, 0x42, 0x7f }, { vcvtsd2usi rax,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x79, 0x82, 0x00, 0x04, 0x00, 0x00 }, { vcvtsd2usi rax,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x79, 0x42, 0x80 }, { vcvtsd2usi rax,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x79, 0x82, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsd2usi rax,QWORD [rdx-0x408] } +testcase { 0x62, 0x11, 0xff, 0x08, 0x79, 0xc6 }, { vcvtsd2usi r8,xmm30 } +testcase { 0x62, 0x11, 0xff, 0x18, 0x79, 0xc6 }, { vcvtsd2usi r8,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0xff, 0x58, 0x79, 0xc6 }, { vcvtsd2usi r8,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0xff, 0x38, 0x79, 0xc6 }, { vcvtsd2usi r8,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0xff, 0x78, 0x79, 0xc6 }, { vcvtsd2usi r8,xmm30,{rz-sae} } +testcase { 0x62, 0x71, 0xff, 0x08, 0x79, 0x01 }, { vcvtsd2usi r8,QWORD [rcx] } +testcase { 0x62, 0x31, 0xff, 0x08, 0x79, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtsd2usi r8,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x79, 0x42, 0x7f }, { vcvtsd2usi r8,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x79, 0x82, 0x00, 0x04, 0x00, 0x00 }, { vcvtsd2usi r8,QWORD [rdx+0x400] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x79, 0x42, 0x80 }, { vcvtsd2usi r8,QWORD [rdx-0x400] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x79, 0x82, 0xf8, 0xfb, 0xff, 0xff }, { vcvtsd2usi r8,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x7e, 0x08, 0x79, 0xc6 }, { vcvtss2usi eax,xmm30 } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x79, 0xc6 }, { vcvtss2usi eax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7e, 0x58, 0x79, 0xc6 }, { vcvtss2usi eax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7e, 0x38, 0x79, 0xc6 }, { vcvtss2usi eax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7e, 0x78, 0x79, 0xc6 }, { vcvtss2usi eax,xmm30,{rz-sae} } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x01 }, { vcvtss2usi eax,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x7e, 0x08, 0x79, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtss2usi eax,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x42, 0x7f }, { vcvtss2usi eax,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x82, 0x00, 0x02, 0x00, 0x00 }, { vcvtss2usi eax,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x42, 0x80 }, { vcvtss2usi eax,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x82, 0xfc, 0xfd, 0xff, 0xff }, { vcvtss2usi eax,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x7e, 0x08, 0x79, 0xee }, { vcvtss2usi ebp,xmm30 } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x79, 0xee }, { vcvtss2usi ebp,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0x7e, 0x58, 0x79, 0xee }, { vcvtss2usi ebp,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0x7e, 0x38, 0x79, 0xee }, { vcvtss2usi ebp,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0x7e, 0x78, 0x79, 0xee }, { vcvtss2usi ebp,xmm30,{rz-sae} } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x29 }, { vcvtss2usi ebp,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x7e, 0x08, 0x79, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtss2usi ebp,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x6a, 0x7f }, { vcvtss2usi ebp,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vcvtss2usi ebp,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0x6a, 0x80 }, { vcvtss2usi ebp,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x79, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vcvtss2usi ebp,DWORD [rdx-0x204] } +testcase { 0x62, 0x11, 0x7e, 0x08, 0x79, 0xee }, { vcvtss2usi r13d,xmm30 } +testcase { 0x62, 0x11, 0x7e, 0x18, 0x79, 0xee }, { vcvtss2usi r13d,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0x7e, 0x58, 0x79, 0xee }, { vcvtss2usi r13d,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0x7e, 0x38, 0x79, 0xee }, { vcvtss2usi r13d,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0x7e, 0x78, 0x79, 0xee }, { vcvtss2usi r13d,xmm30,{rz-sae} } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x79, 0x29 }, { vcvtss2usi r13d,DWORD [rcx] } +testcase { 0x62, 0x31, 0x7e, 0x08, 0x79, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtss2usi r13d,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x79, 0x6a, 0x7f }, { vcvtss2usi r13d,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x79, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vcvtss2usi r13d,DWORD [rdx+0x200] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x79, 0x6a, 0x80 }, { vcvtss2usi r13d,DWORD [rdx-0x200] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x79, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vcvtss2usi r13d,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0xfe, 0x08, 0x79, 0xc6 }, { vcvtss2usi rax,xmm30 } +testcase { 0x62, 0x91, 0xfe, 0x18, 0x79, 0xc6 }, { vcvtss2usi rax,xmm30,{rn-sae} } +testcase { 0x62, 0x91, 0xfe, 0x58, 0x79, 0xc6 }, { vcvtss2usi rax,xmm30,{ru-sae} } +testcase { 0x62, 0x91, 0xfe, 0x38, 0x79, 0xc6 }, { vcvtss2usi rax,xmm30,{rd-sae} } +testcase { 0x62, 0x91, 0xfe, 0x78, 0x79, 0xc6 }, { vcvtss2usi rax,xmm30,{rz-sae} } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x79, 0x01 }, { vcvtss2usi rax,DWORD [rcx] } +testcase { 0x62, 0xb1, 0xfe, 0x08, 0x79, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtss2usi rax,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x79, 0x42, 0x7f }, { vcvtss2usi rax,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x79, 0x82, 0x00, 0x02, 0x00, 0x00 }, { vcvtss2usi rax,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x79, 0x42, 0x80 }, { vcvtss2usi rax,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x79, 0x82, 0xfc, 0xfd, 0xff, 0xff }, { vcvtss2usi rax,DWORD [rdx-0x204] } +testcase { 0x62, 0x11, 0xfe, 0x08, 0x79, 0xc6 }, { vcvtss2usi r8,xmm30 } +testcase { 0x62, 0x11, 0xfe, 0x18, 0x79, 0xc6 }, { vcvtss2usi r8,xmm30,{rn-sae} } +testcase { 0x62, 0x11, 0xfe, 0x58, 0x79, 0xc6 }, { vcvtss2usi r8,xmm30,{ru-sae} } +testcase { 0x62, 0x11, 0xfe, 0x38, 0x79, 0xc6 }, { vcvtss2usi r8,xmm30,{rd-sae} } +testcase { 0x62, 0x11, 0xfe, 0x78, 0x79, 0xc6 }, { vcvtss2usi r8,xmm30,{rz-sae} } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x79, 0x01 }, { vcvtss2usi r8,DWORD [rcx] } +testcase { 0x62, 0x31, 0xfe, 0x08, 0x79, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtss2usi r8,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x79, 0x42, 0x7f }, { vcvtss2usi r8,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x79, 0x82, 0x00, 0x02, 0x00, 0x00 }, { vcvtss2usi r8,DWORD [rdx+0x200] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x79, 0x42, 0x80 }, { vcvtss2usi r8,DWORD [rdx-0x200] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x79, 0x82, 0xfc, 0xfd, 0xff, 0xff }, { vcvtss2usi r8,DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,eax } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0xf5 }, { vcvtusi2sd xmm30,xmm29,ebp } +testcase { 0x62, 0x41, 0x17, 0x00, 0x7b, 0xf5 }, { vcvtusi2sd xmm30,xmm29,r13d } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0x31 }, { vcvtusi2sd xmm30,xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x17, 0x00, 0x7b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtusi2sd xmm30,xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0x72, 0x7f }, { vcvtusi2sd xmm30,xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtusi2sd xmm30,xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0x72, 0x80 }, { vcvtusi2sd xmm30,xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x17, 0x00, 0x7b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtusi2sd xmm30,xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,rax } +testcase { 0x62, 0x61, 0x97, 0x10, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{rn-sae},rax } +testcase { 0x62, 0x61, 0x97, 0x50, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{ru-sae},rax } +testcase { 0x62, 0x61, 0x97, 0x30, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{rd-sae},rax } +testcase { 0x62, 0x61, 0x97, 0x70, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{rz-sae},rax } +testcase { 0x62, 0x41, 0x97, 0x00, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,r8 } +testcase { 0x62, 0x41, 0x97, 0x10, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{rn-sae},r8 } +testcase { 0x62, 0x41, 0x97, 0x50, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{ru-sae},r8 } +testcase { 0x62, 0x41, 0x97, 0x30, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{rd-sae},r8 } +testcase { 0x62, 0x41, 0x97, 0x70, 0x7b, 0xf0 }, { vcvtusi2sd xmm30,xmm29,{rz-sae},r8 } +testcase { 0x62, 0x61, 0x97, 0x00, 0x7b, 0x31 }, { vcvtusi2sd xmm30,xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x97, 0x00, 0x7b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtusi2sd xmm30,xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x7b, 0x72, 0x7f }, { vcvtusi2sd xmm30,xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x7b, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtusi2sd xmm30,xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x7b, 0x72, 0x80 }, { vcvtusi2sd xmm30,xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x97, 0x00, 0x7b, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtusi2sd xmm30,xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,eax } +testcase { 0x62, 0x61, 0x16, 0x10, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rn-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x50, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{ru-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x30, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rd-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x70, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rz-sae},eax } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,ebp } +testcase { 0x62, 0x61, 0x16, 0x10, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{rn-sae},ebp } +testcase { 0x62, 0x61, 0x16, 0x50, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{ru-sae},ebp } +testcase { 0x62, 0x61, 0x16, 0x30, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{rd-sae},ebp } +testcase { 0x62, 0x61, 0x16, 0x70, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{rz-sae},ebp } +testcase { 0x62, 0x41, 0x16, 0x00, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,r13d } +testcase { 0x62, 0x41, 0x16, 0x10, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{rn-sae},r13d } +testcase { 0x62, 0x41, 0x16, 0x50, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{ru-sae},r13d } +testcase { 0x62, 0x41, 0x16, 0x30, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{rd-sae},r13d } +testcase { 0x62, 0x41, 0x16, 0x70, 0x7b, 0xf5 }, { vcvtusi2ss xmm30,xmm29,{rz-sae},r13d } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0x31 }, { vcvtusi2ss xmm30,xmm29,DWORD [rcx] } +testcase { 0x62, 0x21, 0x16, 0x00, 0x7b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtusi2ss xmm30,xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0x72, 0x7f }, { vcvtusi2ss xmm30,xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvtusi2ss xmm30,xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0x72, 0x80 }, { vcvtusi2ss xmm30,xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x61, 0x16, 0x00, 0x7b, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvtusi2ss xmm30,xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,rax } +testcase { 0x62, 0x61, 0x96, 0x10, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rn-sae},rax } +testcase { 0x62, 0x61, 0x96, 0x50, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{ru-sae},rax } +testcase { 0x62, 0x61, 0x96, 0x30, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rd-sae},rax } +testcase { 0x62, 0x61, 0x96, 0x70, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rz-sae},rax } +testcase { 0x62, 0x41, 0x96, 0x00, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,r8 } +testcase { 0x62, 0x41, 0x96, 0x10, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rn-sae},r8 } +testcase { 0x62, 0x41, 0x96, 0x50, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{ru-sae},r8 } +testcase { 0x62, 0x41, 0x96, 0x30, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rd-sae},r8 } +testcase { 0x62, 0x41, 0x96, 0x70, 0x7b, 0xf0 }, { vcvtusi2ss xmm30,xmm29,{rz-sae},r8 } +testcase { 0x62, 0x61, 0x96, 0x00, 0x7b, 0x31 }, { vcvtusi2ss xmm30,xmm29,QWORD [rcx] } +testcase { 0x62, 0x21, 0x96, 0x00, 0x7b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvtusi2ss xmm30,xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x7b, 0x72, 0x7f }, { vcvtusi2ss xmm30,xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x7b, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvtusi2ss xmm30,xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x7b, 0x72, 0x80 }, { vcvtusi2ss xmm30,xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x61, 0x96, 0x00, 0x7b, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvtusi2ss xmm30,xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x95, 0x40, 0x2c, 0xf4 }, { vscalefpd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x2c, 0xf4 }, { vscalefpd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x2c, 0xf4 }, { vscalefpd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x10, 0x2c, 0xf4 }, { vscalefpd zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x50, 0x2c, 0xf4 }, { vscalefpd zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x30, 0x2c, 0xf4 }, { vscalefpd zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x70, 0x2c, 0xf4 }, { vscalefpd zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x2c, 0x31 }, { vscalefpd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x2c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vscalefpd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x2c, 0x31 }, { vscalefpd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x2c, 0x72, 0x7f }, { vscalefpd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x2c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vscalefpd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x2c, 0x72, 0x80 }, { vscalefpd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x2c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vscalefpd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x2c, 0x72, 0x7f }, { vscalefpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x2c, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vscalefpd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x2c, 0x72, 0x80 }, { vscalefpd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x2c, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vscalefpd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x2c, 0xf4 }, { vscalefps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x2c, 0xf4 }, { vscalefps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x2c, 0xf4 }, { vscalefps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x10, 0x2c, 0xf4 }, { vscalefps zmm30,zmm29,zmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x50, 0x2c, 0xf4 }, { vscalefps zmm30,zmm29,zmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x30, 0x2c, 0xf4 }, { vscalefps zmm30,zmm29,zmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x70, 0x2c, 0xf4 }, { vscalefps zmm30,zmm29,zmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x2c, 0x31 }, { vscalefps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x2c, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vscalefps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x2c, 0x31 }, { vscalefps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x2c, 0x72, 0x7f }, { vscalefps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x2c, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vscalefps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x2c, 0x72, 0x80 }, { vscalefps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x2c, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vscalefps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x2c, 0x72, 0x7f }, { vscalefps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x2c, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vscalefps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x2c, 0x72, 0x80 }, { vscalefps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x2c, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vscalefps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x07, 0x2d, 0xf4 }, { vscalefsd xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x87, 0x2d, 0xf4 }, { vscalefsd xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x95, 0x17, 0x2d, 0xf4 }, { vscalefsd xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x95, 0x57, 0x2d, 0xf4 }, { vscalefsd xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x95, 0x37, 0x2d, 0xf4 }, { vscalefsd xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x95, 0x77, 0x2d, 0xf4 }, { vscalefsd xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x95, 0x07, 0x2d, 0x31 }, { vscalefsd xmm30{k7},xmm29,QWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x07, 0x2d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vscalefsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x2d, 0x72, 0x7f }, { vscalefsd xmm30{k7},xmm29,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x2d, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vscalefsd xmm30{k7},xmm29,QWORD [rdx+0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x2d, 0x72, 0x80 }, { vscalefsd xmm30{k7},xmm29,QWORD [rdx-0x400] } +testcase { 0x62, 0x62, 0x95, 0x07, 0x2d, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vscalefsd xmm30{k7},xmm29,QWORD [rdx-0x408] } +testcase { 0x62, 0x02, 0x15, 0x07, 0x2d, 0xf4 }, { vscalefss xmm30{k7},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x87, 0x2d, 0xf4 }, { vscalefss xmm30{k7}{z},xmm29,xmm28 } +testcase { 0x62, 0x02, 0x15, 0x17, 0x2d, 0xf4 }, { vscalefss xmm30{k7},xmm29,xmm28,{rn-sae} } +testcase { 0x62, 0x02, 0x15, 0x57, 0x2d, 0xf4 }, { vscalefss xmm30{k7},xmm29,xmm28,{ru-sae} } +testcase { 0x62, 0x02, 0x15, 0x37, 0x2d, 0xf4 }, { vscalefss xmm30{k7},xmm29,xmm28,{rd-sae} } +testcase { 0x62, 0x02, 0x15, 0x77, 0x2d, 0xf4 }, { vscalefss xmm30{k7},xmm29,xmm28,{rz-sae} } +testcase { 0x62, 0x62, 0x15, 0x07, 0x2d, 0x31 }, { vscalefss xmm30{k7},xmm29,DWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x07, 0x2d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vscalefss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x2d, 0x72, 0x7f }, { vscalefss xmm30{k7},xmm29,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x2d, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vscalefss xmm30{k7},xmm29,DWORD [rdx+0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x2d, 0x72, 0x80 }, { vscalefss xmm30{k7},xmm29,DWORD [rdx-0x200] } +testcase { 0x62, 0x62, 0x15, 0x07, 0x2d, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vscalefss xmm30{k7},xmm29,DWORD [rdx-0x204] } +testcase { 0x62, 0x03, 0x15, 0x40, 0x54, 0xf4, 0xab }, { vfixupimmps zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x47, 0x54, 0xf4, 0xab }, { vfixupimmps zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0xc7, 0x54, 0xf4, 0xab }, { vfixupimmps zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x10, 0x54, 0xf4, 0xab }, { vfixupimmps zmm30,zmm29,zmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x15, 0x40, 0x54, 0xf4, 0x7b }, { vfixupimmps zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x03, 0x15, 0x10, 0x54, 0xf4, 0x7b }, { vfixupimmps zmm30,zmm29,zmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x54, 0x31, 0x7b }, { vfixupimmps zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x40, 0x54, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vfixupimmps zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x54, 0x31, 0x7b }, { vfixupimmps zmm30,zmm29,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x54, 0x72, 0x7f, 0x7b }, { vfixupimmps zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x54, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vfixupimmps zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x54, 0x72, 0x80, 0x7b }, { vfixupimmps zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x15, 0x40, 0x54, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vfixupimmps zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x54, 0x72, 0x7f, 0x7b }, { vfixupimmps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x54, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vfixupimmps zmm30,zmm29,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x54, 0x72, 0x80, 0x7b }, { vfixupimmps zmm30,zmm29,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x15, 0x50, 0x54, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vfixupimmps zmm30,zmm29,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x03, 0x95, 0x40, 0x54, 0xf4, 0xab }, { vfixupimmpd zmm30,zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x47, 0x54, 0xf4, 0xab }, { vfixupimmpd zmm30{k7},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0xc7, 0x54, 0xf4, 0xab }, { vfixupimmpd zmm30{k7}{z},zmm29,zmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x10, 0x54, 0xf4, 0xab }, { vfixupimmpd zmm30,zmm29,zmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x95, 0x40, 0x54, 0xf4, 0x7b }, { vfixupimmpd zmm30,zmm29,zmm28,0x7b } +testcase { 0x62, 0x03, 0x95, 0x10, 0x54, 0xf4, 0x7b }, { vfixupimmpd zmm30,zmm29,zmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x54, 0x31, 0x7b }, { vfixupimmpd zmm30,zmm29,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x40, 0x54, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vfixupimmpd zmm30,zmm29,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x54, 0x31, 0x7b }, { vfixupimmpd zmm30,zmm29,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x54, 0x72, 0x7f, 0x7b }, { vfixupimmpd zmm30,zmm29,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x54, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vfixupimmpd zmm30,zmm29,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x54, 0x72, 0x80, 0x7b }, { vfixupimmpd zmm30,zmm29,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x95, 0x40, 0x54, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vfixupimmpd zmm30,zmm29,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x54, 0x72, 0x7f, 0x7b }, { vfixupimmpd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x54, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vfixupimmpd zmm30,zmm29,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x54, 0x72, 0x80, 0x7b }, { vfixupimmpd zmm30,zmm29,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0x95, 0x50, 0x54, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vfixupimmpd zmm30,zmm29,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x03, 0x15, 0x07, 0x55, 0xf4, 0xab }, { vfixupimmss xmm30{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x87, 0x55, 0xf4, 0xab }, { vfixupimmss xmm30{k7}{z},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x17, 0x55, 0xf4, 0xab }, { vfixupimmss xmm30{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x15, 0x07, 0x55, 0xf4, 0x7b }, { vfixupimmss xmm30{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x03, 0x15, 0x17, 0x55, 0xf4, 0x7b }, { vfixupimmss xmm30{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x55, 0x31, 0x7b }, { vfixupimmss xmm30{k7},xmm29,DWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x07, 0x55, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vfixupimmss xmm30{k7},xmm29,DWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x55, 0x72, 0x7f, 0x7b }, { vfixupimmss xmm30{k7},xmm29,DWORD [rdx+0x1fc],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x55, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vfixupimmss xmm30{k7},xmm29,DWORD [rdx+0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x55, 0x72, 0x80, 0x7b }, { vfixupimmss xmm30{k7},xmm29,DWORD [rdx-0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x55, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vfixupimmss xmm30{k7},xmm29,DWORD [rdx-0x204],0x7b } +testcase { 0x62, 0x03, 0x95, 0x07, 0x55, 0xf4, 0xab }, { vfixupimmsd xmm30{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x87, 0x55, 0xf4, 0xab }, { vfixupimmsd xmm30{k7}{z},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x17, 0x55, 0xf4, 0xab }, { vfixupimmsd xmm30{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x95, 0x07, 0x55, 0xf4, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x03, 0x95, 0x17, 0x55, 0xf4, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x55, 0x31, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,QWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x07, 0x55, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x55, 0x72, 0x7f, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,QWORD [rdx+0x3f8],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x55, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,QWORD [rdx+0x400],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x55, 0x72, 0x80, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,QWORD [rdx-0x400],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x55, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vfixupimmsd xmm30{k7},xmm29,QWORD [rdx-0x408],0x7b } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xf5, 0xab }, { vpslld zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x72, 0xf5, 0xab }, { vpslld zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0xc7, 0x72, 0xf5, 0xab }, { vpslld zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xf5, 0x7b }, { vpslld zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x31, 0x7b }, { vpslld zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x72, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpslld zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x31, 0x7b }, { vpslld zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x72, 0x7f, 0x7b }, { vpslld zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpslld zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x72, 0x80, 0x7b }, { vpslld zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpslld zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x72, 0x7f, 0x7b }, { vpslld zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpslld zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x72, 0x80, 0x7b }, { vpslld zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpslld zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x73, 0xf5, 0xab }, { vpsllq zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x47, 0x73, 0xf5, 0xab }, { vpsllq zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0xc7, 0x73, 0xf5, 0xab }, { vpsllq zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x73, 0xf5, 0x7b }, { vpsllq zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x31, 0x7b }, { vpsllq zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0x73, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpsllq zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x31, 0x7b }, { vpsllq zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x72, 0x7f, 0x7b }, { vpsllq zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpsllq zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0x72, 0x80, 0x7b }, { vpsllq zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x73, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpsllq zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x72, 0x7f, 0x7b }, { vpsllq zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpsllq zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0x72, 0x80, 0x7b }, { vpsllq zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x73, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpsllq zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xe5, 0xab }, { vpsrad zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x72, 0xe5, 0xab }, { vpsrad zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0xc7, 0x72, 0xe5, 0xab }, { vpsrad zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xe5, 0x7b }, { vpsrad zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x21, 0x7b }, { vpsrad zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x72, 0xa4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpsrad zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x21, 0x7b }, { vpsrad zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x62, 0x7f, 0x7b }, { vpsrad zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0xa2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpsrad zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x62, 0x80, 0x7b }, { vpsrad zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0xa2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpsrad zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x62, 0x7f, 0x7b }, { vpsrad zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0xa2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vpsrad zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x62, 0x80, 0x7b }, { vpsrad zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0xa2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vpsrad zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x72, 0xe5, 0xab }, { vpsraq zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x47, 0x72, 0xe5, 0xab }, { vpsraq zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0xc7, 0x72, 0xe5, 0xab }, { vpsraq zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x72, 0xe5, 0x7b }, { vpsraq zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x21, 0x7b }, { vpsraq zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0x72, 0xa4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vpsraq zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x21, 0x7b }, { vpsraq zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x62, 0x7f, 0x7b }, { vpsraq zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0xa2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vpsraq zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x62, 0x80, 0x7b }, { vpsraq zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0xa2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vpsraq zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x62, 0x7f, 0x7b }, { vpsraq zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0xa2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vpsraq zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x62, 0x80, 0x7b }, { vpsraq zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0xa2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vpsraq zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x02, 0x15, 0x40, 0x15, 0xf4 }, { vprolvd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x15, 0xf4 }, { vprolvd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x15, 0xf4 }, { vprolvd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x15, 0x31 }, { vprolvd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x15, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vprolvd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x15, 0x31 }, { vprolvd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x15, 0x72, 0x7f }, { vprolvd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x15, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vprolvd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x15, 0x72, 0x80 }, { vprolvd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x15, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vprolvd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x15, 0x72, 0x7f }, { vprolvd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x15, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vprolvd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x15, 0x72, 0x80 }, { vprolvd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x15, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vprolvd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xcd, 0xab }, { vprold zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x72, 0xcd, 0xab }, { vprold zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0xc7, 0x72, 0xcd, 0xab }, { vprold zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xcd, 0x7b }, { vprold zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x09, 0x7b }, { vprold zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x72, 0x8c, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vprold zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x09, 0x7b }, { vprold zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x4a, 0x7f, 0x7b }, { vprold zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x8a, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vprold zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x4a, 0x80, 0x7b }, { vprold zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x8a, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vprold zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x4a, 0x7f, 0x7b }, { vprold zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x8a, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vprold zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x4a, 0x80, 0x7b }, { vprold zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x8a, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vprold zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x02, 0x95, 0x40, 0x15, 0xf4 }, { vprolvq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x15, 0xf4 }, { vprolvq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x15, 0xf4 }, { vprolvq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x15, 0x31 }, { vprolvq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x15, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vprolvq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x15, 0x31 }, { vprolvq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x15, 0x72, 0x7f }, { vprolvq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x15, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vprolvq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x15, 0x72, 0x80 }, { vprolvq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x15, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vprolvq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x15, 0x72, 0x7f }, { vprolvq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x15, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vprolvq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x15, 0x72, 0x80 }, { vprolvq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x15, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vprolvq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x72, 0xcd, 0xab }, { vprolq zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x47, 0x72, 0xcd, 0xab }, { vprolq zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0xc7, 0x72, 0xcd, 0xab }, { vprolq zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x72, 0xcd, 0x7b }, { vprolq zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x09, 0x7b }, { vprolq zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0x72, 0x8c, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vprolq zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x09, 0x7b }, { vprolq zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x4a, 0x7f, 0x7b }, { vprolq zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x8a, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vprolq zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x4a, 0x80, 0x7b }, { vprolq zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x8a, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vprolq zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x4a, 0x7f, 0x7b }, { vprolq zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x8a, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vprolq zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x4a, 0x80, 0x7b }, { vprolq zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x8a, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vprolq zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x02, 0x15, 0x40, 0x14, 0xf4 }, { vprorvd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x14, 0xf4 }, { vprorvd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x14, 0xf4 }, { vprorvd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x14, 0x31 }, { vprorvd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x14, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vprorvd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x14, 0x31 }, { vprorvd zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x14, 0x72, 0x7f }, { vprorvd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x14, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vprorvd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x14, 0x72, 0x80 }, { vprorvd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x14, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vprorvd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x14, 0x72, 0x7f }, { vprorvd zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x14, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vprorvd zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x14, 0x72, 0x80 }, { vprorvd zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x14, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vprorvd zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xc5, 0xab }, { vprord zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x47, 0x72, 0xc5, 0xab }, { vprord zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0xc7, 0x72, 0xc5, 0xab }, { vprord zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x0d, 0x40, 0x72, 0xc5, 0x7b }, { vprord zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x01, 0x7b }, { vprord zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x0d, 0x40, 0x72, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vprord zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x01, 0x7b }, { vprord zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x42, 0x7f, 0x7b }, { vprord zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x82, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vprord zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x42, 0x80, 0x7b }, { vprord zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x40, 0x72, 0x82, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vprord zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x42, 0x7f, 0x7b }, { vprord zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x82, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vprord zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x42, 0x80, 0x7b }, { vprord zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0xf1, 0x0d, 0x50, 0x72, 0x82, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vprord zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x02, 0x95, 0x40, 0x14, 0xf4 }, { vprorvq zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x14, 0xf4 }, { vprorvq zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x14, 0xf4 }, { vprorvq zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x14, 0x31 }, { vprorvq zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x14, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vprorvq zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x14, 0x31 }, { vprorvq zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x14, 0x72, 0x7f }, { vprorvq zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x14, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vprorvq zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x14, 0x72, 0x80 }, { vprorvq zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x14, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vprorvq zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x14, 0x72, 0x7f }, { vprorvq zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x14, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vprorvq zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x14, 0x72, 0x80 }, { vprorvq zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x14, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vprorvq zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x72, 0xc5, 0xab }, { vprorq zmm30,zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x47, 0x72, 0xc5, 0xab }, { vprorq zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0xc7, 0x72, 0xc5, 0xab }, { vprorq zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x91, 0x8d, 0x40, 0x72, 0xc5, 0x7b }, { vprorq zmm30,zmm29,0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x01, 0x7b }, { vprorq zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0xb1, 0x8d, 0x40, 0x72, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vprorq zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x01, 0x7b }, { vprorq zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x42, 0x7f, 0x7b }, { vprorq zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x82, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vprorq zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x42, 0x80, 0x7b }, { vprorq zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x40, 0x72, 0x82, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vprorq zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x42, 0x7f, 0x7b }, { vprorq zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x82, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vprorq zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x42, 0x80, 0x7b }, { vprorq zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0xf1, 0x8d, 0x50, 0x72, 0x82, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vprorq zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x09, 0xf5, 0xab }, { vrndscalepd zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x4f, 0x09, 0xf5, 0xab }, { vrndscalepd zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0xcf, 0x09, 0xf5, 0xab }, { vrndscalepd zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0xfd, 0x18, 0x09, 0xf5, 0xab }, { vrndscalepd zmm30,zmm29,{sae},0xab } +testcase { 0x62, 0x03, 0xfd, 0x48, 0x09, 0xf5, 0x7b }, { vrndscalepd zmm30,zmm29,0x7b } +testcase { 0x62, 0x03, 0xfd, 0x18, 0x09, 0xf5, 0x7b }, { vrndscalepd zmm30,zmm29,{sae},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x09, 0x31, 0x7b }, { vrndscalepd zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x09, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vrndscalepd zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x09, 0x31, 0x7b }, { vrndscalepd zmm30,QWORD [rcx]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x09, 0x72, 0x7f, 0x7b }, { vrndscalepd zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x09, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vrndscalepd zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x09, 0x72, 0x80, 0x7b }, { vrndscalepd zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x09, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vrndscalepd zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x09, 0x72, 0x7f, 0x7b }, { vrndscalepd zmm30,QWORD [rdx+0x3f8]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x09, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vrndscalepd zmm30,QWORD [rdx+0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x09, 0x72, 0x80, 0x7b }, { vrndscalepd zmm30,QWORD [rdx-0x400]{1to8},0x7b } +testcase { 0x62, 0x63, 0xfd, 0x58, 0x09, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vrndscalepd zmm30,QWORD [rdx-0x408]{1to8},0x7b } +testcase { 0x62, 0x03, 0x7d, 0x48, 0x08, 0xf5, 0xab }, { vrndscaleps zmm30,zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x4f, 0x08, 0xf5, 0xab }, { vrndscaleps zmm30{k7},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0xcf, 0x08, 0xf5, 0xab }, { vrndscaleps zmm30{k7}{z},zmm29,0xab } +testcase { 0x62, 0x03, 0x7d, 0x18, 0x08, 0xf5, 0xab }, { vrndscaleps zmm30,zmm29,{sae},0xab } +testcase { 0x62, 0x03, 0x7d, 0x48, 0x08, 0xf5, 0x7b }, { vrndscaleps zmm30,zmm29,0x7b } +testcase { 0x62, 0x03, 0x7d, 0x18, 0x08, 0xf5, 0x7b }, { vrndscaleps zmm30,zmm29,{sae},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x08, 0x31, 0x7b }, { vrndscaleps zmm30,ZWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x7d, 0x48, 0x08, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vrndscaleps zmm30,ZWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x08, 0x31, 0x7b }, { vrndscaleps zmm30,DWORD [rcx]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x08, 0x72, 0x7f, 0x7b }, { vrndscaleps zmm30,ZWORD [rdx+0x1fc0],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x08, 0xb2, 0x00, 0x20, 0x00, 0x00, 0x7b }, { vrndscaleps zmm30,ZWORD [rdx+0x2000],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x08, 0x72, 0x80, 0x7b }, { vrndscaleps zmm30,ZWORD [rdx-0x2000],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x08, 0xb2, 0xc0, 0xdf, 0xff, 0xff, 0x7b }, { vrndscaleps zmm30,ZWORD [rdx-0x2040],0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x08, 0x72, 0x7f, 0x7b }, { vrndscaleps zmm30,DWORD [rdx+0x1fc]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x08, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vrndscaleps zmm30,DWORD [rdx+0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x08, 0x72, 0x80, 0x7b }, { vrndscaleps zmm30,DWORD [rdx-0x200]{1to16},0x7b } +testcase { 0x62, 0x63, 0x7d, 0x58, 0x08, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vrndscaleps zmm30,DWORD [rdx-0x204]{1to16},0x7b } +testcase { 0x62, 0x03, 0x95, 0x07, 0x0b, 0xf4, 0xab }, { vrndscalesd xmm30{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x87, 0x0b, 0xf4, 0xab }, { vrndscalesd xmm30{k7}{z},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x95, 0x17, 0x0b, 0xf4, 0xab }, { vrndscalesd xmm30{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x95, 0x07, 0x0b, 0xf4, 0x7b }, { vrndscalesd xmm30{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x03, 0x95, 0x17, 0x0b, 0xf4, 0x7b }, { vrndscalesd xmm30{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x0b, 0x31, 0x7b }, { vrndscalesd xmm30{k7},xmm29,QWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x95, 0x07, 0x0b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vrndscalesd xmm30{k7},xmm29,QWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x0b, 0x72, 0x7f, 0x7b }, { vrndscalesd xmm30{k7},xmm29,QWORD [rdx+0x3f8],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x0b, 0xb2, 0x00, 0x04, 0x00, 0x00, 0x7b }, { vrndscalesd xmm30{k7},xmm29,QWORD [rdx+0x400],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x0b, 0x72, 0x80, 0x7b }, { vrndscalesd xmm30{k7},xmm29,QWORD [rdx-0x400],0x7b } +testcase { 0x62, 0x63, 0x95, 0x07, 0x0b, 0xb2, 0xf8, 0xfb, 0xff, 0xff, 0x7b }, { vrndscalesd xmm30{k7},xmm29,QWORD [rdx-0x408],0x7b } +testcase { 0x62, 0x03, 0x15, 0x07, 0x0a, 0xf4, 0xab }, { vrndscaless xmm30{k7},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x87, 0x0a, 0xf4, 0xab }, { vrndscaless xmm30{k7}{z},xmm29,xmm28,0xab } +testcase { 0x62, 0x03, 0x15, 0x17, 0x0a, 0xf4, 0xab }, { vrndscaless xmm30{k7},xmm29,xmm28,{sae},0xab } +testcase { 0x62, 0x03, 0x15, 0x07, 0x0a, 0xf4, 0x7b }, { vrndscaless xmm30{k7},xmm29,xmm28,0x7b } +testcase { 0x62, 0x03, 0x15, 0x17, 0x0a, 0xf4, 0x7b }, { vrndscaless xmm30{k7},xmm29,xmm28,{sae},0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x0a, 0x31, 0x7b }, { vrndscaless xmm30{k7},xmm29,DWORD [rcx],0x7b } +testcase { 0x62, 0x23, 0x15, 0x07, 0x0a, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vrndscaless xmm30{k7},xmm29,DWORD [rax+r14*8+0x123],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x0a, 0x72, 0x7f, 0x7b }, { vrndscaless xmm30{k7},xmm29,DWORD [rdx+0x1fc],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x0a, 0xb2, 0x00, 0x02, 0x00, 0x00, 0x7b }, { vrndscaless xmm30{k7},xmm29,DWORD [rdx+0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x0a, 0x72, 0x80, 0x7b }, { vrndscaless xmm30{k7},xmm29,DWORD [rdx-0x200],0x7b } +testcase { 0x62, 0x63, 0x15, 0x07, 0x0a, 0xb2, 0xfc, 0xfd, 0xff, 0xff, 0x7b }, { vrndscaless xmm30{k7},xmm29,DWORD [rdx-0x204],0x7b } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8b, 0x31 }, { vpcompressq ZWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x4f, 0x8b, 0x31 }, { vpcompressq ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0xfd, 0x48, 0x8b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpcompressq ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8b, 0x72, 0x7f }, { vpcompressq ZWORD [rdx+0x3f8],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8b, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpcompressq ZWORD [rdx+0x400],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8b, 0x72, 0x80 }, { vpcompressq ZWORD [rdx-0x400],zmm30 } +testcase { 0x62, 0x62, 0xfd, 0x48, 0x8b, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpcompressq ZWORD [rdx-0x408],zmm30 } +testcase { 0x62, 0x02, 0xfd, 0x48, 0x8b, 0xee }, { vpcompressq zmm30,zmm29 } +testcase { 0x62, 0x02, 0xfd, 0x4f, 0x8b, 0xee }, { vpcompressq zmm30{k7},zmm29 } +testcase { 0x62, 0x02, 0xfd, 0xcf, 0x8b, 0xee }, { vpcompressq zmm30{k7}{z},zmm29 } +testcase { 0xc5, 0xcc, 0x41, 0xef }, { kandw k5,k6,k7 } +testcase { 0xc5, 0xcc, 0x42, 0xef }, { kandnw k5,k6,k7 } +testcase { 0xc5, 0xcc, 0x45, 0xef }, { korw k5,k6,k7 } +testcase { 0xc5, 0xcc, 0x46, 0xef }, { kxnorw k5,k6,k7 } +testcase { 0xc5, 0xcc, 0x47, 0xef }, { kxorw k5,k6,k7 } +testcase { 0xc5, 0xf8, 0x44, 0xee }, { knotw k5,k6 } +testcase { 0xc5, 0xf8, 0x98, 0xee }, { kortestw k5,k6 } +testcase { 0xc4, 0xe3, 0xf9, 0x30, 0xee, 0xab }, { kshiftrw k5,k6,0xab } +testcase { 0xc4, 0xe3, 0xf9, 0x30, 0xee, 0x7b }, { kshiftrw k5,k6,0x7b } +testcase { 0xc4, 0xe3, 0xf9, 0x32, 0xee, 0xab }, { kshiftlw k5,k6,0xab } +testcase { 0xc4, 0xe3, 0xf9, 0x32, 0xee, 0x7b }, { kshiftlw k5,k6,0x7b } +testcase { 0xc5, 0xf8, 0x90, 0xee }, { kmovw k5,k6 } +testcase { 0xc5, 0xf8, 0x90, 0x29 }, { kmovw k5,WORD [rcx] } +testcase { 0xc4, 0xa1, 0x78, 0x90, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { kmovw k5,WORD [rax+r14*8+0x123] } +testcase { 0xc5, 0xf8, 0x91, 0x29 }, { kmovw WORD [rcx],k5 } +testcase { 0xc4, 0xa1, 0x78, 0x91, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { kmovw WORD [rax+r14*8+0x123],k5 } +testcase { 0xc5, 0xf8, 0x92, 0xe8 }, { kmovw k5,eax } +testcase { 0xc5, 0xf8, 0x92, 0xed }, { kmovw k5,ebp } +testcase { 0xc4, 0xc1, 0x78, 0x92, 0xed }, { kmovw k5,r13d } +testcase { 0xc5, 0xf8, 0x93, 0xc5 }, { kmovw eax,k5 } +testcase { 0xc5, 0xf8, 0x93, 0xed }, { kmovw ebp,k5 } +testcase { 0xc5, 0x78, 0x93, 0xed }, { kmovw r13d,k5 } +testcase { 0xc5, 0xcd, 0x4b, 0xef }, { kunpckbw k5,k6,k7 } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x1d, 0x31, 0xab }, { vcvtps2ph YWORD [rcx],zmm30,0xab } +testcase { 0x62, 0x63, 0x7d, 0x4f, 0x1d, 0x31, 0xab }, { vcvtps2ph YWORD [rcx]{k7},zmm30,0xab } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x1d, 0x31, 0x7b }, { vcvtps2ph YWORD [rcx],zmm30,0x7b } +testcase { 0x62, 0x23, 0x7d, 0x48, 0x1d, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vcvtps2ph YWORD [rax+r14*8+0x123],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x1d, 0x72, 0x7f, 0x7b }, { vcvtps2ph YWORD [rdx+0xfe0],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x1d, 0xb2, 0x00, 0x10, 0x00, 0x00, 0x7b }, { vcvtps2ph YWORD [rdx+0x1000],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x1d, 0x72, 0x80, 0x7b }, { vcvtps2ph YWORD [rdx-0x1000],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x1d, 0xb2, 0xe0, 0xef, 0xff, 0xff, 0x7b }, { vcvtps2ph YWORD [rdx-0x1020],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x19, 0x31, 0xab }, { vextractf32x4 OWORD [rcx],zmm30,0xab } +testcase { 0x62, 0x63, 0x7d, 0x4f, 0x19, 0x31, 0xab }, { vextractf32x4 OWORD [rcx]{k7},zmm30,0xab } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x19, 0x31, 0x7b }, { vextractf32x4 OWORD [rcx],zmm30,0x7b } +testcase { 0x62, 0x23, 0x7d, 0x48, 0x19, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vextractf32x4 OWORD [rax+r14*8+0x123],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x19, 0x72, 0x7f, 0x7b }, { vextractf32x4 OWORD [rdx+0x7f0],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x19, 0xb2, 0x00, 0x08, 0x00, 0x00, 0x7b }, { vextractf32x4 OWORD [rdx+0x800],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x19, 0x72, 0x80, 0x7b }, { vextractf32x4 OWORD [rdx-0x800],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x19, 0xb2, 0xf0, 0xf7, 0xff, 0xff, 0x7b }, { vextractf32x4 OWORD [rdx-0x810],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x1b, 0x31, 0xab }, { vextractf64x4 YWORD [rcx],zmm30,0xab } +testcase { 0x62, 0x63, 0xfd, 0x4f, 0x1b, 0x31, 0xab }, { vextractf64x4 YWORD [rcx]{k7},zmm30,0xab } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x1b, 0x31, 0x7b }, { vextractf64x4 YWORD [rcx],zmm30,0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x1b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vextractf64x4 YWORD [rax+r14*8+0x123],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x1b, 0x72, 0x7f, 0x7b }, { vextractf64x4 YWORD [rdx+0xfe0],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x1b, 0xb2, 0x00, 0x10, 0x00, 0x00, 0x7b }, { vextractf64x4 YWORD [rdx+0x1000],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x1b, 0x72, 0x80, 0x7b }, { vextractf64x4 YWORD [rdx-0x1000],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x1b, 0xb2, 0xe0, 0xef, 0xff, 0xff, 0x7b }, { vextractf64x4 YWORD [rdx-0x1020],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x39, 0x31, 0xab }, { vextracti32x4 OWORD [rcx],zmm30,0xab } +testcase { 0x62, 0x63, 0x7d, 0x4f, 0x39, 0x31, 0xab }, { vextracti32x4 OWORD [rcx]{k7},zmm30,0xab } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x39, 0x31, 0x7b }, { vextracti32x4 OWORD [rcx],zmm30,0x7b } +testcase { 0x62, 0x23, 0x7d, 0x48, 0x39, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vextracti32x4 OWORD [rax+r14*8+0x123],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x39, 0x72, 0x7f, 0x7b }, { vextracti32x4 OWORD [rdx+0x7f0],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x39, 0xb2, 0x00, 0x08, 0x00, 0x00, 0x7b }, { vextracti32x4 OWORD [rdx+0x800],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x39, 0x72, 0x80, 0x7b }, { vextracti32x4 OWORD [rdx-0x800],zmm30,0x7b } +testcase { 0x62, 0x63, 0x7d, 0x48, 0x39, 0xb2, 0xf0, 0xf7, 0xff, 0xff, 0x7b }, { vextracti32x4 OWORD [rdx-0x810],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x3b, 0x31, 0xab }, { vextracti64x4 YWORD [rcx],zmm30,0xab } +testcase { 0x62, 0x63, 0xfd, 0x4f, 0x3b, 0x31, 0xab }, { vextracti64x4 YWORD [rcx]{k7},zmm30,0xab } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x3b, 0x31, 0x7b }, { vextracti64x4 YWORD [rcx],zmm30,0x7b } +testcase { 0x62, 0x23, 0xfd, 0x48, 0x3b, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00, 0x7b }, { vextracti64x4 YWORD [rax+r14*8+0x123],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x3b, 0x72, 0x7f, 0x7b }, { vextracti64x4 YWORD [rdx+0xfe0],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x3b, 0xb2, 0x00, 0x10, 0x00, 0x00, 0x7b }, { vextracti64x4 YWORD [rdx+0x1000],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x3b, 0x72, 0x80, 0x7b }, { vextracti64x4 YWORD [rdx-0x1000],zmm30,0x7b } +testcase { 0x62, 0x63, 0xfd, 0x48, 0x3b, 0xb2, 0xe0, 0xef, 0xff, 0xff, 0x7b }, { vextracti64x4 YWORD [rdx-0x1020],zmm30,0x7b } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x29, 0x31 }, { vmovapd ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x29, 0x31 }, { vmovapd ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x29, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovapd ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x29, 0x72, 0x7f }, { vmovapd ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x29, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovapd ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x29, 0x72, 0x80 }, { vmovapd ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x29, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovapd ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x29, 0x31 }, { vmovaps ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x29, 0x31 }, { vmovaps ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x29, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovaps ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x29, 0x72, 0x7f }, { vmovaps ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x29, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovaps ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x29, 0x72, 0x80 }, { vmovaps ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x29, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovaps ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x7f, 0x31 }, { vmovdqa32 ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x4f, 0x7f, 0x31 }, { vmovdqa32 ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0x7d, 0x48, 0x7f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqa32 ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x7f, 0x72, 0x7f }, { vmovdqa32 ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x7f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqa32 ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x7f, 0x72, 0x80 }, { vmovdqa32 ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7d, 0x48, 0x7f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqa32 ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x7f, 0x31 }, { vmovdqa64 ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x7f, 0x31 }, { vmovdqa64 ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x7f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqa64 ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x7f, 0x72, 0x7f }, { vmovdqa64 ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x7f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqa64 ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x7f, 0x72, 0x80 }, { vmovdqa64 ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x7f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqa64 ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x7f, 0x31 }, { vmovdqu32 ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0x7e, 0x4f, 0x7f, 0x31 }, { vmovdqu32 ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0x7e, 0x48, 0x7f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqu32 ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x7f, 0x72, 0x7f }, { vmovdqu32 ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x7f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqu32 ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x7f, 0x72, 0x80 }, { vmovdqu32 ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7e, 0x48, 0x7f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqu32 ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x7f, 0x31 }, { vmovdqu64 ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0xfe, 0x4f, 0x7f, 0x31 }, { vmovdqu64 ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0xfe, 0x48, 0x7f, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovdqu64 ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x7f, 0x72, 0x7f }, { vmovdqu64 ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x7f, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovdqu64 ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x7f, 0x72, 0x80 }, { vmovdqu64 ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfe, 0x48, 0x7f, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovdqu64 ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x11, 0x31 }, { vmovupd ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x4f, 0x11, 0x31 }, { vmovupd ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0xfd, 0x48, 0x11, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovupd ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x11, 0x72, 0x7f }, { vmovupd ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x11, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovupd ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x11, 0x72, 0x80 }, { vmovupd ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0xfd, 0x48, 0x11, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovupd ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x11, 0x31 }, { vmovups ZWORD [rcx],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x4f, 0x11, 0x31 }, { vmovups ZWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x11, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vmovups ZWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x11, 0x72, 0x7f }, { vmovups ZWORD [rdx+0x1fc0],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x11, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vmovups ZWORD [rdx+0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x11, 0x72, 0x80 }, { vmovups ZWORD [rdx-0x2000],zmm30 } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x11, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vmovups ZWORD [rdx-0x2040],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x32, 0x31 }, { vpmovqb QWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x32, 0x31 }, { vpmovqb QWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x32, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovqb QWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x32, 0x72, 0x7f }, { vpmovqb QWORD [rdx+0x3f8],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x32, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmovqb QWORD [rdx+0x400],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x32, 0x72, 0x80 }, { vpmovqb QWORD [rdx-0x400],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x32, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmovqb QWORD [rdx-0x408],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x22, 0x31 }, { vpmovsqb QWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x22, 0x31 }, { vpmovsqb QWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x22, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsqb QWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x22, 0x72, 0x7f }, { vpmovsqb QWORD [rdx+0x3f8],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x22, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmovsqb QWORD [rdx+0x400],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x22, 0x72, 0x80 }, { vpmovsqb QWORD [rdx-0x400],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x22, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmovsqb QWORD [rdx-0x408],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x12, 0x31 }, { vpmovusqb QWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x12, 0x31 }, { vpmovusqb QWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x12, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovusqb QWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x12, 0x72, 0x7f }, { vpmovusqb QWORD [rdx+0x3f8],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x12, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpmovusqb QWORD [rdx+0x400],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x12, 0x72, 0x80 }, { vpmovusqb QWORD [rdx-0x400],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x12, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpmovusqb QWORD [rdx-0x408],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x34, 0x31 }, { vpmovqw OWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x34, 0x31 }, { vpmovqw OWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x34, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovqw OWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x34, 0x72, 0x7f }, { vpmovqw OWORD [rdx+0x7f0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x34, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovqw OWORD [rdx+0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x34, 0x72, 0x80 }, { vpmovqw OWORD [rdx-0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x34, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovqw OWORD [rdx-0x810],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x24, 0x31 }, { vpmovsqw OWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x24, 0x31 }, { vpmovsqw OWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x24, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsqw OWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x24, 0x72, 0x7f }, { vpmovsqw OWORD [rdx+0x7f0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x24, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovsqw OWORD [rdx+0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x24, 0x72, 0x80 }, { vpmovsqw OWORD [rdx-0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x24, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovsqw OWORD [rdx-0x810],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x14, 0x31 }, { vpmovusqw OWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x14, 0x31 }, { vpmovusqw OWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x14, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovusqw OWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x14, 0x72, 0x7f }, { vpmovusqw OWORD [rdx+0x7f0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x14, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovusqw OWORD [rdx+0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x14, 0x72, 0x80 }, { vpmovusqw OWORD [rdx-0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x14, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovusqw OWORD [rdx-0x810],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x35, 0x31 }, { vpmovqd YWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x35, 0x31 }, { vpmovqd YWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x35, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovqd YWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x35, 0x72, 0x7f }, { vpmovqd YWORD [rdx+0xfe0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x35, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovqd YWORD [rdx+0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x35, 0x72, 0x80 }, { vpmovqd YWORD [rdx-0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x35, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovqd YWORD [rdx-0x1020],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x25, 0x31 }, { vpmovsqd YWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x25, 0x31 }, { vpmovsqd YWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x25, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsqd YWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x25, 0x72, 0x7f }, { vpmovsqd YWORD [rdx+0xfe0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x25, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovsqd YWORD [rdx+0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x25, 0x72, 0x80 }, { vpmovsqd YWORD [rdx-0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x25, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovsqd YWORD [rdx-0x1020],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x15, 0x31 }, { vpmovusqd YWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x15, 0x31 }, { vpmovusqd YWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x15, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovusqd YWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x15, 0x72, 0x7f }, { vpmovusqd YWORD [rdx+0xfe0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x15, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovusqd YWORD [rdx+0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x15, 0x72, 0x80 }, { vpmovusqd YWORD [rdx-0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x15, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovusqd YWORD [rdx-0x1020],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x31, 0x31 }, { vpmovdb OWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x31, 0x31 }, { vpmovdb OWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x31, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovdb OWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x31, 0x72, 0x7f }, { vpmovdb OWORD [rdx+0x7f0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x31, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovdb OWORD [rdx+0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x31, 0x72, 0x80 }, { vpmovdb OWORD [rdx-0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x31, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovdb OWORD [rdx-0x810],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x21, 0x31 }, { vpmovsdb OWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x21, 0x31 }, { vpmovsdb OWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x21, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsdb OWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x21, 0x72, 0x7f }, { vpmovsdb OWORD [rdx+0x7f0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x21, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovsdb OWORD [rdx+0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x21, 0x72, 0x80 }, { vpmovsdb OWORD [rdx-0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x21, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovsdb OWORD [rdx-0x810],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x11, 0x31 }, { vpmovusdb OWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x11, 0x31 }, { vpmovusdb OWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x11, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovusdb OWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x11, 0x72, 0x7f }, { vpmovusdb OWORD [rdx+0x7f0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x11, 0xb2, 0x00, 0x08, 0x00, 0x00 }, { vpmovusdb OWORD [rdx+0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x11, 0x72, 0x80 }, { vpmovusdb OWORD [rdx-0x800],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x11, 0xb2, 0xf0, 0xf7, 0xff, 0xff }, { vpmovusdb OWORD [rdx-0x810],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x33, 0x31 }, { vpmovdw YWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x33, 0x31 }, { vpmovdw YWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x33, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovdw YWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x33, 0x72, 0x7f }, { vpmovdw YWORD [rdx+0xfe0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x33, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovdw YWORD [rdx+0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x33, 0x72, 0x80 }, { vpmovdw YWORD [rdx-0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x33, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovdw YWORD [rdx-0x1020],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x23, 0x31 }, { vpmovsdw YWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x23, 0x31 }, { vpmovsdw YWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x23, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovsdw YWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x23, 0x72, 0x7f }, { vpmovsdw YWORD [rdx+0xfe0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x23, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovsdw YWORD [rdx+0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x23, 0x72, 0x80 }, { vpmovsdw YWORD [rdx-0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x23, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovsdw YWORD [rdx-0x1020],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x13, 0x31 }, { vpmovusdw YWORD [rcx],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x4f, 0x13, 0x31 }, { vpmovusdw YWORD [rcx]{k7},zmm30 } +testcase { 0x62, 0x22, 0x7e, 0x48, 0x13, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpmovusdw YWORD [rax+r14*8+0x123],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x13, 0x72, 0x7f }, { vpmovusdw YWORD [rdx+0xfe0],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x13, 0xb2, 0x00, 0x10, 0x00, 0x00 }, { vpmovusdw YWORD [rdx+0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x13, 0x72, 0x80 }, { vpmovusdw YWORD [rdx-0x1000],zmm30 } +testcase { 0x62, 0x62, 0x7e, 0x48, 0x13, 0xb2, 0xe0, 0xef, 0xff, 0xff }, { vpmovusdw YWORD [rdx-0x1020],zmm30 } +testcase { 0x62, 0x01, 0xfc, 0x4f, 0x78, 0xf5 }, { vcvttpd2udq ymm30{k7},zmm29 } +testcase { 0x62, 0x01, 0xfc, 0xcf, 0x78, 0xf5 }, { vcvttpd2udq ymm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0xfc, 0x1f, 0x78, 0xf5 }, { vcvttpd2udq ymm30{k7},zmm29,{sae} } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x78, 0x31 }, { vcvttpd2udq ymm30{k7},ZWORD [rcx] } +testcase { 0x62, 0x21, 0xfc, 0x4f, 0x78, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttpd2udq ymm30{k7},ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x78, 0x31 }, { vcvttpd2udq ymm30{k7},QWORD [rcx]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x78, 0x72, 0x7f }, { vcvttpd2udq ymm30{k7},ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x78, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvttpd2udq ymm30{k7},ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x78, 0x72, 0x80 }, { vcvttpd2udq ymm30{k7},ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0xfc, 0x4f, 0x78, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvttpd2udq ymm30{k7},ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x78, 0x72, 0x7f }, { vcvttpd2udq ymm30{k7},QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x78, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vcvttpd2udq ymm30{k7},QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x78, 0x72, 0x80 }, { vcvttpd2udq ymm30{k7},QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x61, 0xfc, 0x5f, 0x78, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vcvttpd2udq ymm30{k7},QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x01, 0x7c, 0x48, 0x78, 0xf5 }, { vcvttps2udq zmm30,zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x4f, 0x78, 0xf5 }, { vcvttps2udq zmm30{k7},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0xcf, 0x78, 0xf5 }, { vcvttps2udq zmm30{k7}{z},zmm29 } +testcase { 0x62, 0x01, 0x7c, 0x18, 0x78, 0xf5 }, { vcvttps2udq zmm30,zmm29,{sae} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x78, 0x31 }, { vcvttps2udq zmm30,ZWORD [rcx] } +testcase { 0x62, 0x21, 0x7c, 0x48, 0x78, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttps2udq zmm30,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x78, 0x31 }, { vcvttps2udq zmm30,DWORD [rcx]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x78, 0x72, 0x7f }, { vcvttps2udq zmm30,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x78, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vcvttps2udq zmm30,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x78, 0x72, 0x80 }, { vcvttps2udq zmm30,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x61, 0x7c, 0x48, 0x78, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vcvttps2udq zmm30,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x78, 0x72, 0x7f }, { vcvttps2udq zmm30,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x78, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vcvttps2udq zmm30,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x78, 0x72, 0x80 }, { vcvttps2udq zmm30,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x61, 0x7c, 0x58, 0x78, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vcvttps2udq zmm30,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x91, 0x7f, 0x08, 0x78, 0xc6 }, { vcvttsd2usi eax,xmm30 } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x78, 0xc6 }, { vcvttsd2usi eax,xmm30,{sae} } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x01 }, { vcvttsd2usi eax,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x7f, 0x08, 0x78, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttsd2usi eax,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x42, 0x7f }, { vcvttsd2usi eax,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x82, 0x00, 0x04, 0x00, 0x00 }, { vcvttsd2usi eax,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x42, 0x80 }, { vcvttsd2usi eax,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x82, 0xf8, 0xfb, 0xff, 0xff }, { vcvttsd2usi eax,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x7f, 0x08, 0x78, 0xee }, { vcvttsd2usi ebp,xmm30 } +testcase { 0x62, 0x91, 0x7f, 0x18, 0x78, 0xee }, { vcvttsd2usi ebp,xmm30,{sae} } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x29 }, { vcvttsd2usi ebp,QWORD [rcx] } +testcase { 0x62, 0xb1, 0x7f, 0x08, 0x78, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttsd2usi ebp,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x6a, 0x7f }, { vcvttsd2usi ebp,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vcvttsd2usi ebp,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0x6a, 0x80 }, { vcvttsd2usi ebp,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0x7f, 0x08, 0x78, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vcvttsd2usi ebp,QWORD [rdx-0x408] } +testcase { 0x62, 0x11, 0x7f, 0x08, 0x78, 0xee }, { vcvttsd2usi r13d,xmm30 } +testcase { 0x62, 0x11, 0x7f, 0x18, 0x78, 0xee }, { vcvttsd2usi r13d,xmm30,{sae} } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x78, 0x29 }, { vcvttsd2usi r13d,QWORD [rcx] } +testcase { 0x62, 0x31, 0x7f, 0x08, 0x78, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttsd2usi r13d,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x78, 0x6a, 0x7f }, { vcvttsd2usi r13d,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x78, 0xaa, 0x00, 0x04, 0x00, 0x00 }, { vcvttsd2usi r13d,QWORD [rdx+0x400] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x78, 0x6a, 0x80 }, { vcvttsd2usi r13d,QWORD [rdx-0x400] } +testcase { 0x62, 0x71, 0x7f, 0x08, 0x78, 0xaa, 0xf8, 0xfb, 0xff, 0xff }, { vcvttsd2usi r13d,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0xff, 0x08, 0x78, 0xc6 }, { vcvttsd2usi rax,xmm30 } +testcase { 0x62, 0x91, 0xff, 0x18, 0x78, 0xc6 }, { vcvttsd2usi rax,xmm30,{sae} } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x78, 0x01 }, { vcvttsd2usi rax,QWORD [rcx] } +testcase { 0x62, 0xb1, 0xff, 0x08, 0x78, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttsd2usi rax,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x78, 0x42, 0x7f }, { vcvttsd2usi rax,QWORD [rdx+0x3f8] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x78, 0x82, 0x00, 0x04, 0x00, 0x00 }, { vcvttsd2usi rax,QWORD [rdx+0x400] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x78, 0x42, 0x80 }, { vcvttsd2usi rax,QWORD [rdx-0x400] } +testcase { 0x62, 0xf1, 0xff, 0x08, 0x78, 0x82, 0xf8, 0xfb, 0xff, 0xff }, { vcvttsd2usi rax,QWORD [rdx-0x408] } +testcase { 0x62, 0x11, 0xff, 0x08, 0x78, 0xc6 }, { vcvttsd2usi r8,xmm30 } +testcase { 0x62, 0x11, 0xff, 0x18, 0x78, 0xc6 }, { vcvttsd2usi r8,xmm30,{sae} } +testcase { 0x62, 0x71, 0xff, 0x08, 0x78, 0x01 }, { vcvttsd2usi r8,QWORD [rcx] } +testcase { 0x62, 0x31, 0xff, 0x08, 0x78, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttsd2usi r8,QWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x78, 0x42, 0x7f }, { vcvttsd2usi r8,QWORD [rdx+0x3f8] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x78, 0x82, 0x00, 0x04, 0x00, 0x00 }, { vcvttsd2usi r8,QWORD [rdx+0x400] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x78, 0x42, 0x80 }, { vcvttsd2usi r8,QWORD [rdx-0x400] } +testcase { 0x62, 0x71, 0xff, 0x08, 0x78, 0x82, 0xf8, 0xfb, 0xff, 0xff }, { vcvttsd2usi r8,QWORD [rdx-0x408] } +testcase { 0x62, 0x91, 0x7e, 0x08, 0x78, 0xc6 }, { vcvttss2usi eax,xmm30 } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x78, 0xc6 }, { vcvttss2usi eax,xmm30,{sae} } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x01 }, { vcvttss2usi eax,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x7e, 0x08, 0x78, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttss2usi eax,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x42, 0x7f }, { vcvttss2usi eax,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x82, 0x00, 0x02, 0x00, 0x00 }, { vcvttss2usi eax,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x42, 0x80 }, { vcvttss2usi eax,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x82, 0xfc, 0xfd, 0xff, 0xff }, { vcvttss2usi eax,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0x7e, 0x08, 0x78, 0xee }, { vcvttss2usi ebp,xmm30 } +testcase { 0x62, 0x91, 0x7e, 0x18, 0x78, 0xee }, { vcvttss2usi ebp,xmm30,{sae} } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x29 }, { vcvttss2usi ebp,DWORD [rcx] } +testcase { 0x62, 0xb1, 0x7e, 0x08, 0x78, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttss2usi ebp,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x6a, 0x7f }, { vcvttss2usi ebp,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vcvttss2usi ebp,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0x6a, 0x80 }, { vcvttss2usi ebp,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0x7e, 0x08, 0x78, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vcvttss2usi ebp,DWORD [rdx-0x204] } +testcase { 0x62, 0x11, 0x7e, 0x08, 0x78, 0xee }, { vcvttss2usi r13d,xmm30 } +testcase { 0x62, 0x11, 0x7e, 0x18, 0x78, 0xee }, { vcvttss2usi r13d,xmm30,{sae} } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x78, 0x29 }, { vcvttss2usi r13d,DWORD [rcx] } +testcase { 0x62, 0x31, 0x7e, 0x08, 0x78, 0xac, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttss2usi r13d,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x78, 0x6a, 0x7f }, { vcvttss2usi r13d,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x78, 0xaa, 0x00, 0x02, 0x00, 0x00 }, { vcvttss2usi r13d,DWORD [rdx+0x200] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x78, 0x6a, 0x80 }, { vcvttss2usi r13d,DWORD [rdx-0x200] } +testcase { 0x62, 0x71, 0x7e, 0x08, 0x78, 0xaa, 0xfc, 0xfd, 0xff, 0xff }, { vcvttss2usi r13d,DWORD [rdx-0x204] } +testcase { 0x62, 0x91, 0xfe, 0x08, 0x78, 0xc6 }, { vcvttss2usi rax,xmm30 } +testcase { 0x62, 0x91, 0xfe, 0x18, 0x78, 0xc6 }, { vcvttss2usi rax,xmm30,{sae} } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x78, 0x01 }, { vcvttss2usi rax,DWORD [rcx] } +testcase { 0x62, 0xb1, 0xfe, 0x08, 0x78, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttss2usi rax,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x78, 0x42, 0x7f }, { vcvttss2usi rax,DWORD [rdx+0x1fc] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x78, 0x82, 0x00, 0x02, 0x00, 0x00 }, { vcvttss2usi rax,DWORD [rdx+0x200] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x78, 0x42, 0x80 }, { vcvttss2usi rax,DWORD [rdx-0x200] } +testcase { 0x62, 0xf1, 0xfe, 0x08, 0x78, 0x82, 0xfc, 0xfd, 0xff, 0xff }, { vcvttss2usi rax,DWORD [rdx-0x204] } +testcase { 0x62, 0x11, 0xfe, 0x08, 0x78, 0xc6 }, { vcvttss2usi r8,xmm30 } +testcase { 0x62, 0x11, 0xfe, 0x18, 0x78, 0xc6 }, { vcvttss2usi r8,xmm30,{sae} } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x78, 0x01 }, { vcvttss2usi r8,DWORD [rcx] } +testcase { 0x62, 0x31, 0xfe, 0x08, 0x78, 0x84, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vcvttss2usi r8,DWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x78, 0x42, 0x7f }, { vcvttss2usi r8,DWORD [rdx+0x1fc] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x78, 0x82, 0x00, 0x02, 0x00, 0x00 }, { vcvttss2usi r8,DWORD [rdx+0x200] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x78, 0x42, 0x80 }, { vcvttss2usi r8,DWORD [rdx-0x200] } +testcase { 0x62, 0x71, 0xfe, 0x08, 0x78, 0x82, 0xfc, 0xfd, 0xff, 0xff }, { vcvttss2usi r8,DWORD [rdx-0x204] } +testcase { 0x62, 0x02, 0x15, 0x40, 0x76, 0xf4 }, { vpermi2d zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x76, 0xf4 }, { vpermi2d zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x76, 0xf4 }, { vpermi2d zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x76, 0x31 }, { vpermi2d zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x76, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermi2d zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x76, 0x31 }, { vpermi2d zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x76, 0x72, 0x7f }, { vpermi2d zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x76, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermi2d zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x76, 0x72, 0x80 }, { vpermi2d zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x76, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermi2d zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x76, 0x72, 0x7f }, { vpermi2d zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x76, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermi2d zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x76, 0x72, 0x80 }, { vpermi2d zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x76, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermi2d zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x76, 0xf4 }, { vpermi2q zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x76, 0xf4 }, { vpermi2q zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x76, 0xf4 }, { vpermi2q zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x76, 0x31 }, { vpermi2q zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x76, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermi2q zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x76, 0x31 }, { vpermi2q zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x76, 0x72, 0x7f }, { vpermi2q zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x76, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermi2q zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x76, 0x72, 0x80 }, { vpermi2q zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x76, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermi2q zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x76, 0x72, 0x7f }, { vpermi2q zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x76, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermi2q zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x76, 0x72, 0x80 }, { vpermi2q zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x76, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermi2q zmm30,zmm29,QWORD [rdx-0x408]{1to8} } +testcase { 0x62, 0x02, 0x15, 0x40, 0x77, 0xf4 }, { vpermi2ps zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0x47, 0x77, 0xf4 }, { vpermi2ps zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x15, 0xc7, 0x77, 0xf4 }, { vpermi2ps zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x15, 0x40, 0x77, 0x31 }, { vpermi2ps zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x15, 0x40, 0x77, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermi2ps zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x77, 0x31 }, { vpermi2ps zmm30,zmm29,DWORD [rcx]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x40, 0x77, 0x72, 0x7f }, { vpermi2ps zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x77, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermi2ps zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x77, 0x72, 0x80 }, { vpermi2ps zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x15, 0x40, 0x77, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermi2ps zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x15, 0x50, 0x77, 0x72, 0x7f }, { vpermi2ps zmm30,zmm29,DWORD [rdx+0x1fc]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x77, 0xb2, 0x00, 0x02, 0x00, 0x00 }, { vpermi2ps zmm30,zmm29,DWORD [rdx+0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x77, 0x72, 0x80 }, { vpermi2ps zmm30,zmm29,DWORD [rdx-0x200]{1to16} } +testcase { 0x62, 0x62, 0x15, 0x50, 0x77, 0xb2, 0xfc, 0xfd, 0xff, 0xff }, { vpermi2ps zmm30,zmm29,DWORD [rdx-0x204]{1to16} } +testcase { 0x62, 0x02, 0x95, 0x40, 0x77, 0xf4 }, { vpermi2pd zmm30,zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0x47, 0x77, 0xf4 }, { vpermi2pd zmm30{k7},zmm29,zmm28 } +testcase { 0x62, 0x02, 0x95, 0xc7, 0x77, 0xf4 }, { vpermi2pd zmm30{k7}{z},zmm29,zmm28 } +testcase { 0x62, 0x62, 0x95, 0x40, 0x77, 0x31 }, { vpermi2pd zmm30,zmm29,ZWORD [rcx] } +testcase { 0x62, 0x22, 0x95, 0x40, 0x77, 0xb4, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { vpermi2pd zmm30,zmm29,ZWORD [rax+r14*8+0x123] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x77, 0x31 }, { vpermi2pd zmm30,zmm29,QWORD [rcx]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x40, 0x77, 0x72, 0x7f }, { vpermi2pd zmm30,zmm29,ZWORD [rdx+0x1fc0] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x77, 0xb2, 0x00, 0x20, 0x00, 0x00 }, { vpermi2pd zmm30,zmm29,ZWORD [rdx+0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x77, 0x72, 0x80 }, { vpermi2pd zmm30,zmm29,ZWORD [rdx-0x2000] } +testcase { 0x62, 0x62, 0x95, 0x40, 0x77, 0xb2, 0xc0, 0xdf, 0xff, 0xff }, { vpermi2pd zmm30,zmm29,ZWORD [rdx-0x2040] } +testcase { 0x62, 0x62, 0x95, 0x50, 0x77, 0x72, 0x7f }, { vpermi2pd zmm30,zmm29,QWORD [rdx+0x3f8]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x77, 0xb2, 0x00, 0x04, 0x00, 0x00 }, { vpermi2pd zmm30,zmm29,QWORD [rdx+0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x77, 0x72, 0x80 }, { vpermi2pd zmm30,zmm29,QWORD [rdx-0x400]{1to8} } +testcase { 0x62, 0x62, 0x95, 0x50, 0x77, 0xb2, 0xf8, 0xfb, 0xff, 0xff }, { vpermi2pd zmm30,zmm29,QWORD [rdx-0x408]{1to8} } diff --git a/travis/test/avx512f.json b/travis/test/avx512f.json new file mode 100644 index 00000000..4537b4a3 --- /dev/null +++ b/travis/test/avx512f.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test AVX512F errors", + "id": "avx512f", + "format": "bin", + "source": "avx512f.asm", + "option": "-O0 -DSRC", + "target": [ + { "stderr": "avx512f.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/avx512f.stderr b/travis/test/avx512f.stderr new file mode 100644 index 00000000..8e52fbcc --- /dev/null +++ b/travis/test/avx512f.stderr @@ -0,0 +1,572 @@ +./travis/test/avx512f.asm:4398: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4399: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4400: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4401: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4402: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4403: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4404: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4405: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4406: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4407: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4408: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4409: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4410: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4411: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4412: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4413: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4414: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4415: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4416: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4417: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4418: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4419: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4420: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4421: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4422: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4423: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4424: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4425: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4426: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4427: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4428: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4429: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4430: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4431: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4432: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4433: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4434: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4435: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4436: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4437: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4438: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4439: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4440: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4441: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4442: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4443: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4444: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4445: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4446: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4447: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4448: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4449: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4450: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4451: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4452: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4453: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4454: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4455: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4456: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4457: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4458: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4459: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4460: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4461: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4462: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4529: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4530: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4531: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4532: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4533: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4534: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4535: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4536: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4537: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4538: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4539: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4540: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4541: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4542: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4543: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4544: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4545: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4546: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4547: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4548: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4549: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4550: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4551: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4552: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4553: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4554: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4555: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4556: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4557: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4558: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4559: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4560: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4561: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4562: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4563: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4564: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4565: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4566: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4567: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4568: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4569: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4570: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4571: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4572: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4573: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4574: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4575: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4576: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4577: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4578: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4579: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4580: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4581: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4582: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4583: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4584: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4585: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4586: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4587: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4588: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4589: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4590: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4591: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4592: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4593: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4608: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4609: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4610: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4611: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4612: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4613: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4614: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4615: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4616: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4617: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4618: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4619: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4620: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4621: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4622: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4623: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4624: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4625: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4626: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4627: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4628: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4629: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4630: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4631: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4632: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4633: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4634: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4635: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4636: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4637: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4638: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4639: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4640: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4641: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4642: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4643: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4644: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4645: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4646: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4647: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4648: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4649: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4650: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4651: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4652: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4653: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4654: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4655: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4656: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4657: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4658: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4659: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4660: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4661: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4662: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4663: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4664: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4665: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4666: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4667: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4668: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4669: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4670: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4671: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4672: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4673: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4674: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4675: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4676: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4677: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4678: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4679: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4680: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4681: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4682: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4683: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4684: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4685: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4700: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4701: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4702: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4703: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4704: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4705: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4706: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4707: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4708: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4709: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4710: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4711: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4712: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4713: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4714: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4715: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4716: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4717: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4718: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4719: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4720: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4721: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4722: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4723: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4724: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4725: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4726: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4727: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4728: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4729: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4730: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4731: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4732: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4733: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4734: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4735: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4736: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4737: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4738: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4739: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4740: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4741: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4742: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4743: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4744: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4745: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4746: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4747: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4748: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4749: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4750: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4751: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4752: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4753: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4754: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4755: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4756: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4757: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4758: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4759: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4760: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4761: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4762: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4763: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4764: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4765: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4766: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4767: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4768: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4769: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4770: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4771: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4772: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4773: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4774: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4775: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4776: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here +./travis/test/avx512f.asm:4777: error: parser: instruction expected +./travis/test/avx512f.asm:16: ... from macro `testcase' defined here
\ No newline at end of file diff --git a/travis/test/avx512pf.asm b/travis/test/avx512pf.asm new file mode 100644 index 00000000..c6a56247 --- /dev/null +++ b/travis/test/avx512pf.asm @@ -0,0 +1,87 @@ +; AVX-512PF testcases from gas +;------------------------ +; +; This file is taken from there +; https://gnu.googlesource.com/binutils/+/master/gas/testsuite/gas/i386/x86-64-avx512pf-intel.d +; So the original author is "H.J. Lu" <hongjiu dot lu at intel dot com> +; +; Jin Kyu Song converted it for the nasm testing suite using gas2nasm.py + +%macro testcase 2 + %ifdef BIN + db %1 + %endif + %ifdef SRC + %2 + %endif +%endmacro + + +bits 64 + +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x4c, 0x39, 0x20 }, { vgatherpf0dpd [r9+ymm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf0dpd [rcx+ymm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x4c, 0x39, 0x40 }, { vgatherpf0dps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf0dps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x4c, 0x39, 0x20 }, { vgatherpf0qpd [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf0qpd [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf0qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x4c, 0x39, 0x40 }, { vgatherpf0qps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf0qps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x54, 0x39, 0x20 }, { vgatherpf1dpd [r9+ymm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf1dpd [rcx+ymm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x54, 0x39, 0x40 }, { vgatherpf1dps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf1dps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x54, 0x39, 0x20 }, { vgatherpf1qpd [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf1qpd [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vgatherpf1qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x54, 0x39, 0x40 }, { vgatherpf1qps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vgatherpf1qps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x6c, 0x39, 0x20 }, { vscatterpf0dpd [r9+ymm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf0dpd [rcx+ymm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x6c, 0x39, 0x40 }, { vscatterpf0dps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf0dps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x6c, 0x39, 0x20 }, { vscatterpf0qpd [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf0qpd [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf0qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x6c, 0x39, 0x40 }, { vscatterpf0qps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf0qps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1dpd [r14+ymm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x74, 0x39, 0x20 }, { vscatterpf1dpd [r9+ymm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf1dpd [rcx+ymm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1dps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x74, 0x39, 0x40 }, { vscatterpf1dps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf1dps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1qpd [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x74, 0x39, 0x20 }, { vscatterpf1qpd [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf1qpd [rcx+zmm31*4+0x400]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00 }, { vscatterpf1qps [r14+zmm31*8+0x7b]{k1} } +testcase { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x74, 0x39, 0x40 }, { vscatterpf1qps [r9+zmm31*1+0x100]{k1} } +testcase { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00 }, { vscatterpf1qps [rcx+zmm31*4+0x400]{k1} } +testcase { 0x0f, 0x0d, 0x11 }, { prefetchwt1 BYTE [rcx] } +testcase { 0x42, 0x0f, 0x0d, 0x94, 0xf0, 0x23, 0x01, 0x00, 0x00 }, { prefetchwt1 BYTE [rax+r14*8+0x123] } diff --git a/travis/test/avx512pf.bin.t b/travis/test/avx512pf.bin.t Binary files differnew file mode 100644 index 00000000..e84cdd49 --- /dev/null +++ b/travis/test/avx512pf.bin.t diff --git a/travis/test/avx512pf.json b/travis/test/avx512pf.json new file mode 100644 index 00000000..66816a96 --- /dev/null +++ b/travis/test/avx512pf.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test AVX512PF instructions", + "id": "avx512pf", + "format": "bin", + "source": "avx512pf.asm", + "option": "-O0 -DSRC", + "target": [ + { "output": "avx512pf.bin" } + ] + } +] diff --git a/travis/test/bcd.asm b/travis/test/bcd.asm new file mode 100644 index 00000000..b58d81aa --- /dev/null +++ b/travis/test/bcd.asm @@ -0,0 +1,23 @@ +;Testname=optimized; Arguments=-Ox -fbin -obcd.bin; Files=stdout stderr bcd.bin + + dt 765432109876543210p + dt -765432109876543210p + dt +765432109876543210p + dt 123p + dt -456p + dt +789p + dt 98765432109876543210p + dt 123.0 + dt 0x123p+44 + dt 789p + + dt 0p765432109876543210 + dt -0p765432109876543210 + dt +0p765432109876543210 + dt 0p123 + dt -0p456 + dt +0p789 + dt 0p98765432109876543210 + dt 123.0 + dt 0x123p+44 + dt 0p789 diff --git a/travis/test/bcd.bin.t b/travis/test/bcd.bin.t Binary files differnew file mode 100644 index 00000000..9aab2fa2 --- /dev/null +++ b/travis/test/bcd.bin.t diff --git a/travis/test/bcd.json b/travis/test/bcd.json new file mode 100644 index 00000000..ed140d5f --- /dev/null +++ b/travis/test/bcd.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test BCD numbers", + "id": "bcd", + "format": "bin", + "source": "bcd.asm", + "option": "-Ox", + "target": [ + { "output": "bcd.bin" }, + { "stderr": "bcd.stderr" } + ] + } +] diff --git a/travis/test/bcd.stderr b/travis/test/bcd.stderr new file mode 100644 index 00000000..9c065dc4 --- /dev/null +++ b/travis/test/bcd.stderr @@ -0,0 +1,2 @@ +./travis/test/bcd.asm:9: warning: packed BCD truncated to 18 digits [-w+other] +./travis/test/bcd.asm:20: warning: packed BCD truncated to 18 digits [-w+other]
\ No newline at end of file diff --git a/travis/test/binexe.asm b/travis/test/binexe.asm new file mode 100644 index 00000000..ab852fb9 --- /dev/null +++ b/travis/test/binexe.asm @@ -0,0 +1,32 @@ +; Demonstration of how to write an entire .EXE format program by using +; the `exebin.mac' macro package. +; To build: +; nasm -fbin binexe.asm -o binexe.exe -ipath +; (where `path' is such as to allow the %include directive to find +; exebin.mac) +; To test: +; binexe +; (should print `hello, world') + +%include "exebin.mac" + + EXE_begin + EXE_stack 64 ; demonstrates overriding the 0x800 default + + section .text + + mov ax,cs + mov ds,ax + + mov dx,hello + mov ah,9 + int 0x21 + + mov ax,0x4c00 + int 0x21 + + section .data + +hello: db 'hello, world', 13, 10, '$' + + EXE_end diff --git a/travis/test/binexe.exe.t b/travis/test/binexe.exe.t Binary files differnew file mode 100644 index 00000000..f6931424 --- /dev/null +++ b/travis/test/binexe.exe.t diff --git a/travis/test/binexe.json b/travis/test/binexe.json new file mode 100644 index 00000000..1fe6af8c --- /dev/null +++ b/travis/test/binexe.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test for exebin.mac macros (-Ox)", + "id": "binexe", + "format": "bin", + "source": "binexe.asm", + "option": "-Ox -i./misc/", + "target": [ + { "output": "binexe.exe" } + ] + }, + { + "description": "Test for exebin.mac macros (-O0)", + "ref": "binexe", + "option": "-O0 -i./misc/", + "update": false + } +] diff --git a/travis/test/bintest-o0.bin.t b/travis/test/bintest-o0.bin.t Binary files differnew file mode 100644 index 00000000..dffd8c99 --- /dev/null +++ b/travis/test/bintest-o0.bin.t diff --git a/travis/test/bintest-ox.bin.t b/travis/test/bintest-ox.bin.t Binary files differnew file mode 100644 index 00000000..9758ff8c --- /dev/null +++ b/travis/test/bintest-ox.bin.t diff --git a/travis/test/bintest.asm b/travis/test/bintest.asm new file mode 100644 index 00000000..94d2bf7f --- /dev/null +++ b/travis/test/bintest.asm @@ -0,0 +1,56 @@ +; test source file for assembling to binary files +; build with: +; nasm -f bin -o bintest.com bintest.asm + +; When run (as a DOS .COM file), this program should print +; hello, world +; on two successive lines, then exit cleanly. + +; This file should test the following: +; [1] Define a text-section symbol +; [2] Define a data-section symbol +; [3] Define a BSS-section symbol +; [4] Define a NASM local label +; [5] Reference a NASM local label +; [6] Reference a text-section symbol in the text section +; [7] Reference a data-section symbol in the text section +; [8] Reference a BSS-section symbol in the text section +; [9] Reference a text-section symbol in the data section +; [10] Reference a data-section symbol in the data section +; [11] Reference a BSS-section symbol in the data section + + BITS 16 + ORG 0x100 + + SECTION .text + + jmp start ; [6] + +endX mov ax,0x4c00 ; [1] + int 0x21 + +start mov byte [bss_sym],',' ; [1] [8] + mov bx,[bssptr] ; [7] + mov al,[bx] + mov bx,[dataptr] ; [7] + mov [bx],al + mov cx,2 +.loop mov dx,datasym ; [1] [4] [7] + mov ah,9 + push cx + int 0x21 + pop cx + loop .loop ; [5] [6] + mov bx,[textptr] ; [7] + jmp bx + + SECTION .data + +datasym db 'hello world', 13, 10, '$' ; [2] +bssptr dw bss_sym ; [2] [11] +dataptr dw datasym+5 ; [2] [10] +textptr dw endX ; [2] [9] + + SECTION .bss + +bss_sym resb 1 ; [3] diff --git a/travis/test/bintest.json b/travis/test/bintest.json new file mode 100644 index 00000000..2791d6ba --- /dev/null +++ b/travis/test/bintest.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test com generation (-Ox)", + "id": "bintest", + "format": "bin", + "source": "bintest.asm", + "option": "-Ox", + "target": [ + { "output": "bintest-ox.bin" } + ] + }, + { + "description": "Test com generation (-O0)", + "ref": "bintest", + "option": "-O0", + "target": [ + { "output": "bintest-o0.bin" } + ] + } +] diff --git a/travis/test/br1879590.asm b/travis/test/br1879590.asm new file mode 100644 index 00000000..23e38728 --- /dev/null +++ b/travis/test/br1879590.asm @@ -0,0 +1,25 @@ +;Testname=unoptimized; Arguments=-O0 -fbin -obr1879590.bin; Files=stdout stderr br1879590.bin +;Testname=optimized; Arguments=-Ox -fbin -obr1879590.bin; Files=stdout stderr br1879590.bin + + bits 32 + + pavgb mm0,[ebx] + pavgb mm0,qword [ebx] + pavgw mm0,[ebx] + pavgw mm0,qword [ebx] + pavgb xmm0,[ebx] + pavgb xmm0,oword [ebx] + pavgw xmm0,[ebx] + pavgw xmm0,oword [ebx] + + bits 64 + + pavgb mm0,[rbx] + pavgb mm0,qword [rbx] + pavgw mm0,[rbx] + pavgw mm0,qword [rbx] + pavgb xmm0,[rbx] + pavgb xmm0,oword [rbx] + pavgw xmm0,[rbx] + pavgw xmm0,oword [rbx] + diff --git a/travis/test/br1879590.bin.t b/travis/test/br1879590.bin.t new file mode 100644 index 00000000..d4a0b0d5 --- /dev/null +++ b/travis/test/br1879590.bin.t @@ -0,0 +1 @@ +ffffffff
\ No newline at end of file diff --git a/travis/test/br1879590.json b/travis/test/br1879590.json new file mode 100644 index 00000000..63fa5ca2 --- /dev/null +++ b/travis/test/br1879590.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test br1879590 (-Ox)", + "id": "br1879590", + "format": "bin", + "source": "br1879590.asm", + "option": "-Ox", + "target": [ + { "output": "br1879590.bin" } + ] + }, + { + "description": "Test br1879590 (-O0)", + "ref": "br1879590", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/br2003451.asm b/travis/test/br2003451.asm new file mode 100644 index 00000000..fb309a99 --- /dev/null +++ b/travis/test/br2003451.asm @@ -0,0 +1,15 @@ + cpu 8086 + org 0 + + ; MOV r/m16,imm16 + ; (imm16 given as number) + mov word [bx], 10h + + ; MOV r/m16,imm16 + ; (imm16 given as label) + mov word [bx], label + + align 10h + + ; This label is at address 10h +label: diff --git a/travis/test/br2003451.bin.t b/travis/test/br2003451.bin.t Binary files differnew file mode 100644 index 00000000..9c0f4d4d --- /dev/null +++ b/travis/test/br2003451.bin.t diff --git a/travis/test/br2003451.json b/travis/test/br2003451.json new file mode 100644 index 00000000..cdc51820 --- /dev/null +++ b/travis/test/br2003451.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test br2003451", + "id": "br2003451", + "format": "bin", + "source": "br2003451.asm", + "option": "-Ox", + "target": [ + { "output": "br2003451.bin" } + ] + } +] diff --git a/travis/test/br2030823.asm b/travis/test/br2030823.asm new file mode 100644 index 00000000..f9e6ae24 --- /dev/null +++ b/travis/test/br2030823.asm @@ -0,0 +1,5 @@ +bits 64 + VFMADDPD xmm0, xmm1, [0], xmm3 + VFMADDPD xmm0, xmm1, xmm2, [0] + VFMADDPD ymm0, ymm1, [0], ymm3 + VFMADDPD ymm0, ymm1, ymm2, [0] diff --git a/travis/test/br2030823.bin.t b/travis/test/br2030823.bin.t Binary files differnew file mode 100644 index 00000000..b2c18840 --- /dev/null +++ b/travis/test/br2030823.bin.t diff --git a/travis/test/br2030823.json b/travis/test/br2030823.json new file mode 100644 index 00000000..77c5a0bd --- /dev/null +++ b/travis/test/br2030823.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test br2030823", + "id": "br2030823", + "format": "bin", + "source": "br2030823.asm", + "option": "-Ox", + "target": [ + { "output": "br2030823.bin" } + ] + } +] diff --git a/travis/test/br2148476.asm b/travis/test/br2148476.asm new file mode 100644 index 00000000..875fcd68 --- /dev/null +++ b/travis/test/br2148476.asm @@ -0,0 +1,219 @@ + bits 64 + + cvtdq2pd xmm0, xmm1 + cvtdq2pd xmm0, [rdi] + cvtdq2pd xmm0, qword [rdi] + + cvtdq2ps xmm0, xmm1 + cvtdq2ps xmm0, [rdi] + cvtdq2ps xmm0, oword [rdi] + + cvtpd2dq xmm0, xmm1 + cvtpd2dq xmm0, [rdi] + cvtpd2dq xmm0, oword [rdi] + + cvtpd2pi mm0, xmm1 + cvtpd2pi mm0, [rdi] + cvtpd2pi mm0, oword [rdi] + + cvtpd2ps xmm0, xmm1 + cvtpd2ps xmm0, [rdi] + cvtpd2ps xmm0, oword [rdi] + + cvtpi2pd xmm0, mm1 + cvtpi2pd xmm0, [rdi] + cvtpi2pd xmm0, qword [rdi] + + cvtpi2ps xmm0, mm1 + cvtpi2ps xmm0, [rdi] + cvtpi2ps xmm0, qword [rdi] + + cvtps2dq xmm0, xmm1 + cvtps2dq xmm0, [rdi] + cvtps2dq xmm0, oword [rdi] + + cvtps2pd xmm0, xmm1 + cvtps2pd xmm0, [rdi] + cvtps2pd xmm0, qword [rdi] + + cvtps2pi mm0, xmm1 + cvtps2pi mm0, [rdi] + cvtps2pi mm0, qword [rdi] + + cvtsd2si eax, xmm1 + cvtsd2si eax, [rdi] + cvtsd2si eax, qword [rdi] + cvtsd2si rax, xmm1 + cvtsd2si rax, [rdi] + cvtsd2si rax, qword [rdi] + + cvtsd2ss xmm0, xmm1 + cvtsd2ss xmm0, [rdi] + cvtsd2ss xmm0, qword [rdi] + + cvtsi2sd xmm0, eax + cvtsi2sd xmm0, [rdi] ; Compatibility + cvtsi2sd xmm0, dword [rdi] + cvtsi2sd xmm0, rax + cvtsi2sd xmm0, qword [rdi] + + cvtsi2ss xmm0, eax + cvtsi2ss xmm0, [rdi] ; Compatibility + cvtsi2ss xmm0, dword [rdi] + cvtsi2ss xmm0, rax + cvtsi2ss xmm0, qword [rdi] + + cvtss2sd xmm0, xmm1 + cvtss2sd xmm0, [rdi] + cvtss2sd xmm0, dword [rdi] + + cvtss2si eax, xmm1 + cvtss2si eax, [rdi] + cvtss2si eax, dword [rdi] + cvtss2si rax, xmm1 + cvtss2si rax, [rdi] + cvtss2si rax, dword [rdi] + + cvttpd2dq xmm0, xmm1 + cvttpd2dq xmm0, [rdi] + cvttpd2dq xmm0, oword [rdi] + + cvttpd2pi mm0, xmm1 + cvttpd2pi mm0, [rdi] + cvttpd2pi mm0, oword [rdi] + + cvttps2dq xmm0, xmm1 + cvttps2dq xmm0, [rdi] + cvttps2dq xmm0, oword [rdi] + + cvttps2pi mm0, xmm1 + cvttps2pi mm0, [rdi] + cvttps2pi mm0, qword [rdi] + + cvttsd2si eax, xmm1 + cvttsd2si eax, [rdi] ; Compatibility + cvttsd2si eax, qword [rdi] + cvttsd2si rax, xmm1 + cvttsd2si rax, [rdi] + cvttsd2si rax, qword [rdi] + + cvttss2si eax, xmm1 + cvttss2si eax, [rdi] ; Compatibility + cvttss2si eax, dword [rdi] + cvttss2si rax, xmm1 + cvttss2si rax, [rdi] + cvttss2si rax, dword [rdi] + + vcvtdq2pd xmm0, xmm1 + vcvtdq2pd xmm0, [rdi] + vcvtdq2pd xmm0, qword [rdi] + vcvtdq2pd ymm0, xmm1 + vcvtdq2pd ymm0, [rdi] + vcvtdq2pd ymm0, oword [rdi] + + vcvtdq2ps xmm0, xmm1 + vcvtdq2ps xmm0, [rdi] + vcvtdq2ps xmm0, oword [rdi] + vcvtdq2ps ymm0, ymm1 + vcvtdq2ps ymm0, [rdi] + vcvtdq2ps ymm0, yword [rdi] + + vcvtpd2dq xmm0, xmm1 + vcvtpd2dq xmm0, oword [rdi] + vcvtpd2dq xmm0, ymm1 + vcvtpd2dq xmm0, yword [rdi] + + vcvtpd2ps xmm0, xmm1 + vcvtpd2ps xmm0, oword [rdi] + vcvtpd2ps xmm0, ymm1 + vcvtpd2ps xmm0, yword [rdi] + + vcvtps2dq xmm0, xmm1 + vcvtps2dq xmm0, [rdi] + vcvtps2dq xmm0, oword [rdi] + vcvtps2dq ymm0, ymm1 + vcvtps2dq ymm0, [rdi] + vcvtps2dq ymm0, yword [rdi] + + vcvtps2pd xmm0, xmm1 + vcvtps2pd xmm0, [rdi] + vcvtps2pd xmm0, qword [rdi] + vcvtps2pd ymm0, xmm1 + vcvtps2pd ymm0, [rdi] + vcvtps2pd ymm0, oword [rdi] + + vcvtsd2si eax, xmm1 + vcvtsd2si eax, [rdi] + vcvtsd2si eax, qword [rdi] + vcvtsd2si rax, xmm1 + vcvtsd2si rax, [rdi] + vcvtsd2si rax, qword [rdi] + + vcvtsd2ss xmm0, xmm1 + vcvtsd2ss xmm0, [rdi] + vcvtsd2ss xmm0, qword [rdi] + vcvtsd2ss xmm0, xmm1, xmm2 + vcvtsd2ss xmm0, xmm1, [rdi] + vcvtsd2ss xmm0, xmm1, qword [rdi] + + vcvtsi2sd xmm0, eax + vcvtsi2sd xmm0, [rdi] ; Compatibility + vcvtsi2sd xmm0, dword [rdi] + vcvtsi2sd xmm0, rax + vcvtsi2sd xmm0, qword [rdi] + vcvtsi2sd xmm0, xmm1, eax + vcvtsi2sd xmm0, xmm1, [rdi] ; Compatibility + vcvtsi2sd xmm0, xmm1, dword [rdi] + vcvtsi2sd xmm0, xmm1, rax + vcvtsi2sd xmm0, xmm1, qword [rdi] + + vcvtsi2ss xmm0, eax + vcvtsi2ss xmm0, [rdi] ; Compatibility + vcvtsi2ss xmm0, dword [rdi] + vcvtsi2ss xmm0, rax + vcvtsi2ss xmm0, qword [rdi] + vcvtsi2ss xmm0, xmm1, eax + vcvtsi2ss xmm0, xmm1, [rdi] ; Compatibility + vcvtsi2ss xmm0, xmm1, dword [rdi] + vcvtsi2ss xmm0, xmm1, rax + vcvtsi2ss xmm0, xmm1, qword [rdi] + + vcvtss2sd xmm0, xmm1 + vcvtss2sd xmm0, [rdi] + vcvtss2sd xmm0, dword [rdi] + vcvtss2sd xmm0, xmm1, xmm2 + vcvtss2sd xmm0, xmm1, [rdi] + vcvtss2sd xmm0, xmm1, dword [rdi] + + vcvtss2si eax, xmm1 + vcvtss2si eax, [rdi] + vcvtss2si eax, dword [rdi] + vcvtss2si rax, xmm1 + vcvtss2si rax, [rdi] + vcvtss2si rax, dword [rdi] + + vcvttpd2dq xmm0, xmm1 + vcvttpd2dq xmm0, oword [rdi] + vcvttpd2dq xmm0, ymm1 + vcvttpd2dq xmm0, yword [rdi] + + vcvttps2dq xmm0, xmm1 + vcvttps2dq xmm0, [rdi] + vcvttps2dq xmm0, oword [rdi] + vcvttps2dq ymm0, ymm1 + vcvttps2dq ymm0, [rdi] + vcvttps2dq ymm0, yword [rdi] + + vcvttsd2si eax, xmm1 + vcvttsd2si eax, [rdi] ; Compatibility + vcvttsd2si eax, qword [rdi] + vcvttsd2si rax, xmm1 + vcvttsd2si rax, [rdi] + vcvttsd2si rax, qword [rdi] + + vcvttss2si eax, xmm1 + vcvttss2si eax, [rdi] ; Compatibility + vcvttss2si eax, dword [rdi] + vcvttss2si rax, xmm1 + vcvttss2si rax, [rdi] + vcvttss2si rax, dword [rdi] diff --git a/travis/test/br2148476.bin.t b/travis/test/br2148476.bin.t new file mode 100644 index 00000000..ab567b3f --- /dev/null +++ b/travis/test/br2148476.bin.t @@ -0,0 +1 @@ +[[[f-f-f-fZfZfZf*f*f****f[f[f[ZZZ------H-H-H-ZZZ***H*H****H*H*ZZZ---H-H-H-ffff,f,f,[[[,,,,,,H,H,H,,,,H,H,H,[[[[[[ZZZZ[[[[[[ZZZZZZ------ZZZZZZ********************ZZZZZZ------[[[[[[,,,,,,,,,,,,
\ No newline at end of file diff --git a/travis/test/br2148476.json b/travis/test/br2148476.json new file mode 100644 index 00000000..e90fb7c3 --- /dev/null +++ b/travis/test/br2148476.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test br2148476", + "id": "br2148476", + "format": "bin", + "source": "br2148476.asm", + "target": [ + { "output": "br2148476.bin" } + ] + } +] diff --git a/travis/test/br2222615.asm b/travis/test/br2222615.asm new file mode 100644 index 00000000..61291747 --- /dev/null +++ b/travis/test/br2222615.asm @@ -0,0 +1,16 @@ +%macro bluttan 0 + nop +%endmacro + +%ifnmacro bluttan + %error "bluttan is a macro" +%endif + +%ifmacro blej + %error "blej is not a macro" +%endif + +%ifdef ERROR + %ifnmacro + %endif +%endif diff --git a/travis/test/br2222615.bin.t b/travis/test/br2222615.bin.t new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/travis/test/br2222615.bin.t diff --git a/travis/test/br2222615.json b/travis/test/br2222615.json new file mode 100644 index 00000000..04a61069 --- /dev/null +++ b/travis/test/br2222615.json @@ -0,0 +1,21 @@ +[ + { + "description": "Test br2222615 (noerr)", + "id": "br2222615", + "format": "bin", + "source": "br2222615.asm", + "option": "", + "target": [ + { "output": "br2222615.bin" } + ] + }, + { + "description": "Test br2222615 (err)", + "ref": "br2222615", + "option": "-DERROR -o br2222615.bin", + "target": [ + { "stderr": "br2222615.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/br2222615.stderr b/travis/test/br2222615.stderr new file mode 100644 index 00000000..af4fcb70 --- /dev/null +++ b/travis/test/br2222615.stderr @@ -0,0 +1 @@ +./travis/test/br2222615.asm:14: error: `%ifnmacro' expects a macro name
\ No newline at end of file diff --git a/travis/test/br2496848.asm b/travis/test/br2496848.asm new file mode 100644 index 00000000..e68066fa --- /dev/null +++ b/travis/test/br2496848.asm @@ -0,0 +1,39 @@ +bits 64 + +foo: + +default abs + +mov al, [qword 0xffffffffffffffff] +mov al, [qword 0x1ffffffffffffffff] + +mov cl, [byte 0x12345678] + +default rel + +mov cl, [foo] +mov cl, [foo + 0x10000000] +mov cl, [foo + 0x100000000] + +mov cl, [0x100] +mov cl, [$$ + 0x100] + +mov cl, [rax - 1] +mov cl, [rax + 0xffffffff] +mov cl, [rax + 0x1ffffffff] + +bits 32 +mov cl, [eax - 1] +mov cl, [eax + 0xffffffff] +mov cl, [eax + 0x1ffffffff] +mov cl, [byte eax + 0xffffffff] +mov cl, [byte eax + 0x1ffffffff] +mov cl, [byte eax + 0x1000ffff] + +bits 16 +mov cl, [di - 1] +mov cl, [di + 0xffff] +mov cl, [di + 0x1ffff] +mov cl, [byte di + 0xffff] +mov cl, [byte di + 0x1ffff] +mov cl, [byte di + 0x10ff] diff --git a/travis/test/br2496848.bin.t b/travis/test/br2496848.bin.t Binary files differnew file mode 100644 index 00000000..a56a4039 --- /dev/null +++ b/travis/test/br2496848.bin.t diff --git a/travis/test/br2496848.json b/travis/test/br2496848.json new file mode 100644 index 00000000..7baba122 --- /dev/null +++ b/travis/test/br2496848.json @@ -0,0 +1,19 @@ +[ + { + "description": "Test br2496848 (-Ox)", + "id": "br2496848", + "format": "bin", + "source": "br2496848.asm", + "option": "-Ox", + "target": [ + { "output": "br2496848.bin" }, + { "stderr": "br2496848.stderr" } + ] + }, + { + "description": "Test br2496848 (-O0)", + "ref": "br2496848", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/br2496848.stderr b/travis/test/br2496848.stderr new file mode 100644 index 00000000..3792f370 --- /dev/null +++ b/travis/test/br2496848.stderr @@ -0,0 +1,25 @@ +./travis/test/br2496848.asm:8: warning: numeric constant 0x1ffffffffffffffff does not fit in 64 bits [-w+number-overflow] +./travis/test/br2496848.asm:10: warning: displacement size ignored on absolute address [-w+other] +./travis/test/br2496848.asm:10: warning: displacement size ignored on absolute address [-w+other] +./travis/test/br2496848.asm:16: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:18: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/br2496848.asm:22: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:22: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:23: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:23: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:27: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:28: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:28: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:29: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:30: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:30: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:31: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:31: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:35: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:36: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:36: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:37: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:38: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:38: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:39: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/br2496848.asm:39: warning: byte data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/br3005117.asm b/travis/test/br3005117.asm new file mode 100644 index 00000000..4e7a5b5b --- /dev/null +++ b/travis/test/br3005117.asm @@ -0,0 +1,24 @@ +%macro B_STRUC 1-* +%push foo +%define %$strucname %1 +%%top_%$strucname: +%rep %0 - 1 +%rotate 1 +resb %{$strucname}%1 - ($ - %%top_%$strucname) +%1: +%endrep +resb %{$strucname}_size - ($ - %%top_%$strucname) +%pop +%endmacro + +struc timeval +.tv_sec resd 1 +.tv_usec resd 1 +endstruc + +mov [timeval_struct.tv_sec], eax + +section .bss + +timeval_struct B_STRUC timeval, .tv_sec, .tv_usec + timeval_struct_len equ $ - timeval_struct diff --git a/travis/test/br3005117.json b/travis/test/br3005117.json new file mode 100644 index 00000000..4389b822 --- /dev/null +++ b/travis/test/br3005117.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test br3005117", + "id": "br3005117", + "format": "elf32", + "source": "br3005117.asm", + "option": "-Ox", + "target": [ + { "output": "br3005117.o" } + ] + } +] diff --git a/travis/test/br3005117.o.t b/travis/test/br3005117.o.t Binary files differnew file mode 100644 index 00000000..c979c7d5 --- /dev/null +++ b/travis/test/br3005117.o.t diff --git a/travis/test/br3026808.asm b/travis/test/br3026808.asm new file mode 100644 index 00000000..5c61c953 --- /dev/null +++ b/travis/test/br3026808.asm @@ -0,0 +1,18 @@ +%imacro proc 1 + %push proc + %assign %$arg 1 +%endmacro + +%imacro arg 0-1 1 + %assign %$arg %1+%$arg +%endmacro + +%imacro endproc 0 + %pop +%endmacro + +;---------------------------- + +proc Test + %$ARG arg +endproc diff --git a/travis/test/br3026808.bin.t b/travis/test/br3026808.bin.t new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/travis/test/br3026808.bin.t diff --git a/travis/test/br3026808.json b/travis/test/br3026808.json new file mode 100644 index 00000000..5067517d --- /dev/null +++ b/travis/test/br3026808.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test push and pop directives", + "id": "br3026808", + "format": "bin", + "source": "br3026808.asm", + "option": "-Ox", + "target": [ + { "output": "br3026808.bin" } + ] + } +] diff --git a/travis/test/br3028880.asm b/travis/test/br3028880.asm new file mode 100644 index 00000000..d8395f0d --- /dev/null +++ b/travis/test/br3028880.asm @@ -0,0 +1,32 @@ +;Testname=br3028880; Arguments=-Ox -fbin -obr3028880.o; Files=stdout stderr br3028880.o + +%macro import 1 + %defstr %%incfile %!PROJECTBASEDIR/%{1}.inc + %defstr %%decfile %!'PROJECTBASEDIR'/%{1}.dec + db %%incfile, `\n` + db %%decfile, `\n` +%endmacro + +%ifenv PROJECTBASEDIR + import foo +%else + %warning No PROJECTBASEDIR defined +%endif + +%ifenv %!PROJECTBASEDIR + import foo +%else + %warning No PROJECTBASEDIR defined +%endif + +%ifenv 'PROJECTBASEDIR' + import foo +%else + %warning No PROJECTBASEDIR defined +%endif + +%ifenv %!'PROJECTBASEDIR' + import foo +%else + %warning No PROJECTBASEDIR defined +%endif diff --git a/travis/test/br3028880.bin.t b/travis/test/br3028880.bin.t new file mode 100644 index 00000000..79681ff2 --- /dev/null +++ b/travis/test/br3028880.bin.t @@ -0,0 +1,8 @@ +./travis/test/foo.inc +./travis/test/foo.dec +./travis/test/foo.inc +./travis/test/foo.dec +./travis/test/foo.inc +./travis/test/foo.dec +./travis/test/foo.inc +./travis/test/foo.dec diff --git a/travis/test/br3028880.json b/travis/test/br3028880.json new file mode 100644 index 00000000..751dedaa --- /dev/null +++ b/travis/test/br3028880.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test environment variables", + "id": "br3028880", + "format": "bin", + "source": "br3028880.asm", + "option": "-Ox", + "environ": ["PROJECTBASEDIR=./travis/test"], + "target": [ + { "output": "br3028880.bin" } + ] + } +] diff --git a/travis/test/br3041451.asm b/travis/test/br3041451.asm new file mode 100644 index 00000000..12f55a0b --- /dev/null +++ b/travis/test/br3041451.asm @@ -0,0 +1,56 @@ + [bits 64] + + ; + ; HIT: Maximum possible value + %assign i 0 + %rep 1000000 + mov rax, i + %assign i i+1 + %if i == 2 + %exitrep + %endif + %endrep + + ; + ; MISS: It's negative + %assign i 0 + %rep 0xffffFFFFffffFFFE + mov rax, 0xffffFFFFffffFFFE + %assign i i+1 + %if i == 2 + %exitrep + %endif + %endrep + + ; + ; MISS: It's negative + %assign i 0 + %rep 0xffffFFFFffffFFFF + db i + %assign i i+1 + %if i == 2 + %exitrep + %endif + %endrep + + ; + ; MISS: It's negative + %assign i 0 + %rep -2 + db i + %assign i i+1 + %if i == 2 + %exitrep + %endif + %endrep + + ; + ; MISS: It's negative + %assign i 0 + %rep -1 + db i + %assign i i+1 + %if i == 2 + %exitrep + %endif + %endrep diff --git a/travis/test/br3041451.bin.t b/travis/test/br3041451.bin.t Binary files differnew file mode 100644 index 00000000..83aa34c8 --- /dev/null +++ b/travis/test/br3041451.bin.t diff --git a/travis/test/br3041451.json b/travis/test/br3041451.json new file mode 100644 index 00000000..c5d8df72 --- /dev/null +++ b/travis/test/br3041451.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test rep directive", + "id": "br3041451", + "format": "bin", + "source": "br3041451.asm", + "option": "-Ox", + "target": [ + { "output": "br3041451.bin" }, + { "stderr": "br3041451.stderr" } + ] + } +] diff --git a/travis/test/br3041451.stderr b/travis/test/br3041451.stderr new file mode 100644 index 00000000..802a799c --- /dev/null +++ b/travis/test/br3041451.stderr @@ -0,0 +1,4 @@ +./travis/test/br3041451.asm:17: warning: negative `%rep' count: -2 [-w+negative-rep] +./travis/test/br3041451.asm:28: warning: negative `%rep' count: -1 [-w+negative-rep] +./travis/test/br3041451.asm:39: warning: negative `%rep' count: -2 [-w+negative-rep] +./travis/test/br3041451.asm:50: warning: negative `%rep' count: -1 [-w+negative-rep]
\ No newline at end of file diff --git a/travis/test/br3058845-o0.bin.t b/travis/test/br3058845-o0.bin.t new file mode 100644 index 00000000..1b06153b --- /dev/null +++ b/travis/test/br3058845-o0.bin.t @@ -0,0 +1 @@ +=f=f==f==
\ No newline at end of file diff --git a/travis/test/br3058845-ox.bin.t b/travis/test/br3058845-ox.bin.t new file mode 100644 index 00000000..1a04f228 --- /dev/null +++ b/travis/test/br3058845-ox.bin.t @@ -0,0 +1 @@ +fff
\ No newline at end of file diff --git a/travis/test/br3058845.asm b/travis/test/br3058845.asm new file mode 100644 index 00000000..6dce6792 --- /dev/null +++ b/travis/test/br3058845.asm @@ -0,0 +1,11 @@ +BITS 16 +cmp ax, 0xFFFF +cmp eax, 0xFFFF_FFFF + +BITS 32 +cmp ax, 0xFFFF +cmp eax, 0xFFFF_FFFF + +BITS 64 +cmp ax, 0xFFFF +cmp eax, 0xFFFF_FFFF diff --git a/travis/test/br3058845.json b/travis/test/br3058845.json new file mode 100644 index 00000000..47736727 --- /dev/null +++ b/travis/test/br3058845.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test 0xFFFF optimization (-Ox)", + "id": "br3058845", + "format": "bin", + "source": "br3058845.asm", + "option": "-Ox", + "target": [ + { "output": "br3058845-ox.bin" } + ] + }, + { + "description": "Test 0xFFFF optimization (-O0)", + "ref": "br3058845", + "option": "-O0", + "target": [ + { "output": "br3058845-o0.bin" } + ] + } +] diff --git a/travis/test/br3066383.asm b/travis/test/br3066383.asm new file mode 100644 index 00000000..09222ac7 --- /dev/null +++ b/travis/test/br3066383.asm @@ -0,0 +1,68 @@ +; +; this is a for BR3005117 +; http://sourceforge.net/tracker/?func=detail&aid=3005117&group_id=6208&atid=106208 +; +%macro b_struc 1-* + %push foo + %define %$strucname %1 +%%top_%$strucname: + %rep %0 - 1 + %rotate 1 + resb %{$strucname}%1 - ($ - %%top_%$strucname) +%1: + %endrep + resb %{$strucname}_size - ($ - %%top_%$strucname) + %pop +%endmacro + +struc timeval + .tv_sec resd 1 + .tv_usec resd 1 +endstruc + +section .text + mov [timeval_struct.tv_sec], eax + +section .bss + timeval_struct b_struc timeval, .tv_sec, .tv_usec + timeval_struct_len equ $ - timeval_struct + +section .text + +; +; this is a test for BR3026808 +; http://sourceforge.net/tracker/?func=detail&aid=3026808&group_id=6208&atid=106208 +; +%imacro proc 1 + %push proc + %assign %$arg 1 +%endmacro + +%imacro arg 0-1 1 + %assign %$arg %1+%$arg +%endmacro + +%imacro endproc 0 + %pop +%endmacro + +proc Test + %$ARG arg +endproc + +; +; this is a test for BR3066383 +; http://sourceforge.net/tracker/?func=detail&aid=3066383&group_id=6208&atid=106208 +; +%macro pp_local 1 + %push + %assign %$_uses 0 + %rep 4 + %assign %$_ur%$_uses %$_uses + mov ecx, %$_ur%$_uses + %assign %$_uses %$_uses+1 + %endrep + %pop +%endmacro + +pp_local 1 diff --git a/travis/test/br3066383.bin.t b/travis/test/br3066383.bin.t Binary files differnew file mode 100644 index 00000000..be139fb2 --- /dev/null +++ b/travis/test/br3066383.bin.t diff --git a/travis/test/br3066383.json b/travis/test/br3066383.json new file mode 100644 index 00000000..9aea9a24 --- /dev/null +++ b/travis/test/br3066383.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test macro expansion", + "id": "br3066383", + "format": "bin", + "source": "br3066383.asm", + "option": "-Ox", + "target": [ + { "output": "br3066383.bin" } + ] + } +] diff --git a/travis/test/br3109604.asm b/travis/test/br3109604.asm new file mode 100644 index 00000000..0cc39e2f --- /dev/null +++ b/travis/test/br3109604.asm @@ -0,0 +1,6 @@ + bits 64 +b0: vmovd xmm2, [rdx+r9] +e0: + + section .data +len: dd e0 - b0 ; Should be 6 diff --git a/travis/test/br3109604.bin.t b/travis/test/br3109604.bin.t Binary files differnew file mode 100644 index 00000000..9709a979 --- /dev/null +++ b/travis/test/br3109604.bin.t diff --git a/travis/test/br3109604.json b/travis/test/br3109604.json new file mode 100644 index 00000000..6c63f70f --- /dev/null +++ b/travis/test/br3109604.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test vmovd (-Ox)", + "id": "br3109604", + "format": "bin", + "source": "br3109604.asm", + "option": "-Ox", + "target": [ + { "output": "br3109604.bin" } + ] + }, + { + "description": "Test vmovd (-O0)", + "ref": "br3109604", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/br3174983.asm b/travis/test/br3174983.asm new file mode 100644 index 00000000..48a293ab --- /dev/null +++ b/travis/test/br3174983.asm @@ -0,0 +1,6 @@ + bits 32 + vpextrw ecx,xmm0,8 ; c5 f9 c5 c8 08 + vpextrw ecx,xmm2,3 ; c5 f9 c5 ca 03 + + bits 64 + vpextrw rcx,xmm0,8 ; c5 f9 c5 c8 08 diff --git a/travis/test/br3174983.bin.t b/travis/test/br3174983.bin.t new file mode 100644 index 00000000..f5ba588b --- /dev/null +++ b/travis/test/br3174983.bin.t @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/travis/test/br3174983.json b/travis/test/br3174983.json new file mode 100644 index 00000000..0f9646e2 --- /dev/null +++ b/travis/test/br3174983.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test vpextrw instruction (-Ox)", + "id": "br3174983", + "format": "bin", + "source": "br3174983.asm", + "option": "-Ox", + "target": [ + { "output": "br3174983.bin" } + ] + }, + { + "description": "Test vpextrw instruction (-O0)", + "ref": "br3174983", + "option": "-Ox", + "update": "false" + } +] diff --git a/travis/test/br3187743.asm b/travis/test/br3187743.asm new file mode 100644 index 00000000..03a2e5ce --- /dev/null +++ b/travis/test/br3187743.asm @@ -0,0 +1,4 @@ + bits 64 + + vlddqu xmm0,[edi] + vlddqu ymm0,[edi] diff --git a/travis/test/br3187743.bin.t b/travis/test/br3187743.bin.t new file mode 100644 index 00000000..b32db5a0 --- /dev/null +++ b/travis/test/br3187743.bin.t @@ -0,0 +1 @@ +gg
\ No newline at end of file diff --git a/travis/test/br3187743.json b/travis/test/br3187743.json new file mode 100644 index 00000000..0aca6729 --- /dev/null +++ b/travis/test/br3187743.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test vlddqu instruction (-Ox)", + "id": "br3187743", + "format": "bin", + "source": "br3187743.asm", + "option": "-Ox", + "target": [ + { "output": "br3187743.bin" } + ] + }, + { + "description": "Test vlddqu instruction (-O0)", + "ref": "br3187743", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/br3189064.asm b/travis/test/br3189064.asm new file mode 100644 index 00000000..4d120cd6 --- /dev/null +++ b/travis/test/br3189064.asm @@ -0,0 +1,4 @@ +[bits 64] + vmaskmovps [edi],ymm0,ymm1 + vextractf128 xmm0,ymm1,1 + vextractf128 [edi],ymm1,1 diff --git a/travis/test/br3189064.bin.t b/travis/test/br3189064.bin.t new file mode 100644 index 00000000..2235ace4 --- /dev/null +++ b/travis/test/br3189064.bin.t @@ -0,0 +1 @@ +g}.}g}
\ No newline at end of file diff --git a/travis/test/br3189064.json b/travis/test/br3189064.json new file mode 100644 index 00000000..a68d56e4 --- /dev/null +++ b/travis/test/br3189064.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test vextractf128 instruction (-Ox)", + "id": "br3189064", + "format": "bin", + "source": "br3189064.asm", + "option": "-Ox", + "target": [ + { "output": "br3189064.bin" } + ] + }, + { + "description": "Test vextractf128 instruction (-O0)", + "ref": "br3189064", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/br3200749.asm b/travis/test/br3200749.asm new file mode 100644 index 00000000..a809b753 --- /dev/null +++ b/travis/test/br3200749.asm @@ -0,0 +1,7 @@ +%define IFNDEF %ifndef +%define ENDIF %endif + +IFNDEF foo + ; bar +ENDIF + diff --git a/travis/test/br3200749.json b/travis/test/br3200749.json new file mode 100644 index 00000000..6d4bc281 --- /dev/null +++ b/travis/test/br3200749.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test macro expansion", + "id": "br3200749", + "format": "bin", + "source": "br3200749.asm", + "option": "-Ox", + "target": [ + { "stderr": "br3200749.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/br3200749.stderr b/travis/test/br3200749.stderr new file mode 100644 index 00000000..ce6ada2b --- /dev/null +++ b/travis/test/br3200749.stderr @@ -0,0 +1,2 @@ +./travis/test/br3200749.asm:4: error: label or instruction expected at start of line +./travis/test/br3200749.asm:6: error: label or instruction expected at start of line
\ No newline at end of file diff --git a/travis/test/br3385573.asm b/travis/test/br3385573.asm new file mode 100644 index 00000000..0f5f1f0f --- /dev/null +++ b/travis/test/br3385573.asm @@ -0,0 +1,9 @@ +[bits 64] + + vpmovsxbw ymm1, xmm2 + vpsllw ymm1, ymm2, 3 + vpslld ymm1, ymm2, 3 + vpsllq ymm1, ymm2, 3 + vpsrld ymm1, ymm2, 3 + vpsrad ymm1, ymm2, 3 + vpermq ymm1, [rsi], 9 diff --git a/travis/test/br3385573.bin.t b/travis/test/br3385573.bin.t Binary files differnew file mode 100644 index 00000000..877207c4 --- /dev/null +++ b/travis/test/br3385573.bin.t diff --git a/travis/test/br3385573.json b/travis/test/br3385573.json new file mode 100644 index 00000000..10c02198 --- /dev/null +++ b/travis/test/br3385573.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test vpsl instructions (-Ox)", + "id": "br3385573", + "format": "bin", + "source": "br3385573.asm", + "option": "-Ox", + "target": [ + { "output": "br3385573.bin" } + ] + }, + { + "description": "Test vpsl instructions (-O0)", + "ref": "br3385573", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/br3392252.asm b/travis/test/br3392252.asm new file mode 100644 index 00000000..12a739e9 --- /dev/null +++ b/travis/test/br3392252.asm @@ -0,0 +1,41 @@ +[BITS 64] + + bextr rax, rsi, 1 + bextr eax, esi, 1 + bextr eax, esi, eax + + blcfill edx, ebx + blcfill edx, [ebx] + blcfill rax, rbx + + blci edx, ebx + blci edx, [ebx] + blci rax, rbx + + blcic edx, ebx + blcic edx, [ebx] + blcic rax, rbx + + blcmsk edx, ebx + blcmsk edx, [ebx] + blcmsk rax, rbx + + blcs edx, ebx + blcs edx, [ebx] + blcs rax, rbx + + blsfill edx, ebx + blsfill edx, [ebx] + blsfill rax, rbx + + blsic edx, ebx + blsic edx, [ebx] + blsic rax, rbx + + t1mskc edx, ebx + t1mskc edx, [ebx] + t1mskc rax, rbx + + tzmsk edx, ebx + tzmsk edx, [ebx] + tzmsk rax, rbx diff --git a/travis/test/br3392252.bin.t b/travis/test/br3392252.bin.t Binary files differnew file mode 100644 index 00000000..60203914 --- /dev/null +++ b/travis/test/br3392252.bin.t diff --git a/travis/test/br3392252.json b/travis/test/br3392252.json new file mode 100644 index 00000000..ed34c17f --- /dev/null +++ b/travis/test/br3392252.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test bls, blc instructions", + "id": "br3392252", + "format": "bin", + "source": "br3392252.asm", + "option": "-Ox", + "target": [ + { "output": "br3392252.bin" } + ] + } +] diff --git a/travis/test/br3392259.asm b/travis/test/br3392259.asm new file mode 100644 index 00000000..655b22bf --- /dev/null +++ b/travis/test/br3392259.asm @@ -0,0 +1,7 @@ +[BITS 64] + + vmovntdqa ymm1, yword [rsi] ; fails: "error: invalid combination of opcode and operands" + vmovntdqa ymm1, [rsi] ; works + vmovntdqa xmm1, oword [rsi] ; works + movntdqa xmm1, oword [rsi] ; fails, see bug 978756: "error: mismatch in operand sizes" + movntdqa xmm1, [rsi] ; works diff --git a/travis/test/br3392259.json b/travis/test/br3392259.json new file mode 100644 index 00000000..f882165c --- /dev/null +++ b/travis/test/br3392259.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test vmovnt, movnt instructions", + "id": "br3392259", + "format": "elf64", + "source": "br3392259.asm", + "option": "-Ox", + "target": [ + { "output": "br3392259.o" } + ] + } +] diff --git a/travis/test/br3392259.o.t b/travis/test/br3392259.o.t Binary files differnew file mode 100644 index 00000000..e8c03c58 --- /dev/null +++ b/travis/test/br3392259.o.t diff --git a/travis/test/br3392528.asm b/travis/test/br3392528.asm new file mode 100644 index 00000000..88a3de6c --- /dev/null +++ b/travis/test/br3392528.asm @@ -0,0 +1,5 @@ +%macro huge_params 2222222222-222222222211 + mov eax, eax +%endm + +huge_params diff --git a/travis/test/br3392528.json b/travis/test/br3392528.json new file mode 100644 index 00000000..0c0be613 --- /dev/null +++ b/travis/test/br3392528.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test the macro params count being integer", + "id": "br3392528", + "format": "bin", + "source": "br3392528.asm", + "option": "-Ox -o br3392528.bin", + "target": [ + { "stderr": "br3392528.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/br3392528.stderr b/travis/test/br3392528.stderr new file mode 100644 index 00000000..36fe3268 --- /dev/null +++ b/travis/test/br3392528.stderr @@ -0,0 +1,2 @@ +./travis/test/br3392528.asm:1: error: parameter count `2222222222' is out of bounds [0; 2147483647] +./travis/test/br3392528.asm:1: error: parameter count `222222222211' is out of bounds [0; 2147483647]
\ No newline at end of file diff --git a/travis/test/br560575.asm b/travis/test/br560575.asm new file mode 100644 index 00000000..20806a68 --- /dev/null +++ b/travis/test/br560575.asm @@ -0,0 +1,5 @@ +;Test for bug report 560575 - Using SEG with non-relocatable values doesn't work +; + dw seg ~1 + dw seg "a" + dw seg 'a' diff --git a/travis/test/br560575.json b/travis/test/br560575.json new file mode 100644 index 00000000..35ac2156 --- /dev/null +++ b/travis/test/br560575.json @@ -0,0 +1,37 @@ +[ + { + "description": "Test SEG with non-relocatable values (bin)", + "id": "br560575", + "format": "bin", + "source": "br560575.asm", + "option": "-Ox", + "target": [ + { "stderr": "br560575.stderr" } + ], + "error": "expected" + }, + { + "description": "Test SEG with non-relocatable values (elf32)", + "ref": "br560575", + "format": "elf32", + "update": "false" + }, + { + "description": "Test SEG with non-relocatable values (elf64)", + "ref": "br560575", + "format": "elf64", + "update": "false" + }, + { + "description": "Test SEG with non-relocatable values (macho32)", + "ref": "br560575", + "format": "macho32", + "update": "false" + }, + { + "description": "Test SEG with non-relocatable values (macho64)", + "ref": "br560575", + "format": "macho64", + "update": "false" + } +] diff --git a/travis/test/br560575.stderr b/travis/test/br560575.stderr new file mode 100644 index 00000000..873f9081 --- /dev/null +++ b/travis/test/br560575.stderr @@ -0,0 +1,3 @@ +./travis/test/br560575.asm:3: error: cannot apply SEG to a non-relocatable value +./travis/test/br560575.asm:4: error: cannot apply SEG to a non-relocatable value +./travis/test/br560575.asm:5: error: cannot apply SEG to a non-relocatable value
\ No newline at end of file diff --git a/travis/test/br890790.asm b/travis/test/br890790.asm new file mode 100644 index 00000000..c0f95f73 --- /dev/null +++ b/travis/test/br890790.asm @@ -0,0 +1,6 @@ +%rep 5 + db 0 + %include "br890790_i.asm" +%endrep + +db 1 diff --git a/travis/test/br890790.bin.t b/travis/test/br890790.bin.t Binary files differnew file mode 100644 index 00000000..66ef4986 --- /dev/null +++ b/travis/test/br890790.bin.t diff --git a/travis/test/br890790.json b/travis/test/br890790.json new file mode 100644 index 00000000..c4388265 --- /dev/null +++ b/travis/test/br890790.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test inclusion inside rep directive", + "id": "br890790", + "format": "bin", + "source": "br890790.asm", + "option": "-Ox -I./travis/test/", + "target": [ + { "output": "br890790.bin" } + ] + } +] diff --git a/travis/test/br890790_i.asm b/travis/test/br890790_i.asm new file mode 100644 index 00000000..7ff797f3 --- /dev/null +++ b/travis/test/br890790_i.asm @@ -0,0 +1 @@ +db 2 diff --git a/travis/test/br978756.asm b/travis/test/br978756.asm new file mode 100644 index 00000000..44f7a51b --- /dev/null +++ b/travis/test/br978756.asm @@ -0,0 +1,6 @@ +[bits 64] + movntdqa xmm1, oword [rsi] + movlpd xmm2, qword [rdi] + movlpd xmm2, [rdi] + movlpd qword [rdi], xmm2 + movlpd [rdi], xmm2 diff --git a/travis/test/br978756.json b/travis/test/br978756.json new file mode 100644 index 00000000..114bd665 --- /dev/null +++ b/travis/test/br978756.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test for movlpd instruction", + "id": "br978756", + "format": "elf64", + "source": "br978756.asm", + "option": "-Ox", + "target": [ + { "output": "br978756.o" } + ] + } +] diff --git a/travis/test/br978756.o.t b/travis/test/br978756.o.t Binary files differnew file mode 100644 index 00000000..9ba6a441 --- /dev/null +++ b/travis/test/br978756.o.t diff --git a/travis/test/crc32.asm b/travis/test/crc32.asm new file mode 100644 index 00000000..f984a9db --- /dev/null +++ b/travis/test/crc32.asm @@ -0,0 +1,35 @@ + bits 16 + + crc32 eax,cl + crc32 eax,byte [di] + crc32 eax,cx + crc32 eax,word [di] + crc32 eax,ecx + crc32 eax,dword [di] + + bits 32 + align 16 + + crc32 eax,cl + crc32 eax,byte [edi] + crc32 eax,cx + crc32 eax,word [edi] + crc32 eax,ecx + crc32 eax,dword [edi] + + bits 64 + align 16 + + crc32 eax,cl + crc32 eax,byte [rdi] + crc32 eax,r9b + crc32 eax,cx + crc32 eax,word [rdi] + crc32 eax,ecx + crc32 eax,dword [rdi] + crc32 rax,cl + crc32 rax,byte [rdi] + crc32 rax,r9b + crc32 rax,rcx + crc32 rax,qword [rdi] + crc32 rax,r9 diff --git a/travis/test/crc32.bin.t b/travis/test/crc32.bin.t new file mode 100644 index 00000000..a9742f8a --- /dev/null +++ b/travis/test/crc32.bin.t @@ -0,0 +1 @@ +8888f8f888f8f88888A8f8f888H8H8I8H8H8I8
\ No newline at end of file diff --git a/travis/test/crc32.json b/travis/test/crc32.json new file mode 100644 index 00000000..945f45d8 --- /dev/null +++ b/travis/test/crc32.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test crc32 instruction", + "id": "crc32", + "format": "bin", + "source": "crc32.asm", + "target": [ + { "output": "crc32.bin" } + ] + } +] diff --git a/travis/test/elfso-o0.o.t b/travis/test/elfso-o0.o.t Binary files differnew file mode 100644 index 00000000..7474e3e6 --- /dev/null +++ b/travis/test/elfso-o0.o.t diff --git a/travis/test/elfso-o0.stderr b/travis/test/elfso-o0.stderr new file mode 100644 index 00000000..77bf808f --- /dev/null +++ b/travis/test/elfso-o0.stderr @@ -0,0 +1 @@ +./travis/test/elfso.asm:83: warning: label alone on a line without a colon might be in error [-w+orphan-labels]
\ No newline at end of file diff --git a/travis/test/elfso-ox.o.t b/travis/test/elfso-ox.o.t Binary files differnew file mode 100644 index 00000000..1536fedb --- /dev/null +++ b/travis/test/elfso-ox.o.t diff --git a/travis/test/elfso-ox.stderr b/travis/test/elfso-ox.stderr new file mode 100644 index 00000000..77bf808f --- /dev/null +++ b/travis/test/elfso-ox.stderr @@ -0,0 +1 @@ +./travis/test/elfso.asm:83: warning: label alone on a line without a colon might be in error [-w+orphan-labels]
\ No newline at end of file diff --git a/travis/test/elfso.asm b/travis/test/elfso.asm new file mode 100644 index 00000000..e72497ba --- /dev/null +++ b/travis/test/elfso.asm @@ -0,0 +1,100 @@ +;Testname=unoptimized; Arguments=-O0 -felf -oelfso.o; Files=stdout stderr elfso.o +;Testname=optimized; Arguments=-Ox -felf -oelfso.o; Files=stdout stderr elfso.o + +; test source file for assembling to ELF shared library +; build with: +; nasm -f elf elfso.asm +; ld -shared -o elfso.so elfso.o +; test with: +; gcc -o elfso elftest.c ./elfso.so +; ./elfso +; (assuming your gcc is ELF, and you're running bash) + +; This file should test the following: +; [1] Define and export a global text-section symbol +; [2] Define and export a global data-section symbol +; [3] Define and export a global BSS-section symbol +; [4] Define a non-global text-section symbol +; [5] Define a non-global data-section symbol +; [6] Define a non-global BSS-section symbol +; [7] Define a COMMON symbol +; [8] Define a NASM local label +; [9] Reference a NASM local label +; [10] Import an external symbol +; [11] Make a PC-relative call to an external symbol +; [12] Reference a text-section symbol in the text section +; [13] Reference a data-section symbol in the text section +; [14] Reference a BSS-section symbol in the text section +; [15] Reference a text-section symbol in the data section +; [16] Reference a data-section symbol in the data section +; [17] Reference a BSS-section symbol in the data section + + BITS 32 + GLOBAL lrotate:function ; [1] + GLOBAL greet:function ; [1] + GLOBAL asmstr:data asmstr.end-asmstr ; [2] + GLOBAL textptr:data 4 ; [2] + GLOBAL selfptr:data 4 ; [2] + GLOBAL integer:data 4 ; [3] + EXTERN printf ; [10] + COMMON commvar 4:4 ; [7] + EXTERN _GLOBAL_OFFSET_TABLE_ + + SECTION .text + +; prototype: long lrotate(long x, int num); +lrotate: ; [1] + push ebp + mov ebp,esp + mov eax,[ebp+8] + mov ecx,[ebp+12] +.label rol eax,1 ; [4] [8] + loop .label ; [9] [12] + mov esp,ebp + pop ebp + ret + +; prototype: void greet(void); +greet push ebx ; we'll use EBX for GOT, so save it + call .getgot +.getgot: pop ebx + add ebx,_GLOBAL_OFFSET_TABLE_ + $$ - .getgot wrt ..gotpc + mov eax,[ebx+integer wrt ..got] ; [14] + mov eax,[eax] + inc eax + mov [ebx+localint wrt ..gotoff],eax ; [14] + mov eax,[ebx+commvar wrt ..got] + push dword [eax] + mov eax,[ebx+localptr wrt ..gotoff] ; [13] + push dword [eax] + mov eax,[ebx+integer wrt ..got] ; [1] [14] + push dword [eax] + lea eax,[ebx+printfstr wrt ..gotoff] + push eax ; [13] + call printf wrt ..plt ; [11] + add esp,16 + pop ebx + ret + + SECTION .data + +; a string +asmstr db 'hello, world', 0 ; [2] +.end + +; a string for Printf +printfstr db "integer==%d, localint==%d, commvar=%d" + db 10, 0 + +; some pointers +localptr dd localint ; [5] [17] +textptr dd greet wrt ..sym ; [15] +selfptr dd selfptr wrt ..sym ; [16] + + SECTION .bss + +; an integer +integer resd 1 ; [3] + +; a local integer +localint resd 1 ; [6] diff --git a/travis/test/elfso.json b/travis/test/elfso.json new file mode 100644 index 00000000..ff7ddde1 --- /dev/null +++ b/travis/test/elfso.json @@ -0,0 +1,22 @@ +[ + { + "description": "Test elf shared library (-Ox)", + "id": "elfso", + "format": "elf32", + "source": "elfso.asm", + "option": "-Ox", + "target": [ + { "output": "elfso-ox.o" }, + { "stderr": "elfso-ox.stderr" } + ] + }, + { + "description": "Test elf shared library (-O0)", + "ref": "elfso", + "option": "-O0", + "target": [ + { "output": "elfso-o0.o" }, + { "stderr": "elfso-o0.stderr" } + ] + } +] diff --git a/travis/test/elif.asm b/travis/test/elif.asm new file mode 100644 index 00000000..0f1f870b --- /dev/null +++ b/travis/test/elif.asm @@ -0,0 +1,38 @@ +%macro DosPrintMsg 1+ + %ifnid %1 + section .data + + %%str_to_print:db %1 + + section .text + + mov dx,%%str_to_print + mov ah,9 + int 0x21 + %else + mov dx,(%1) + mov ah,9 + int 0x21 + %endif +%endmacro + +%macro DosExit 1 + %if (%1) == 0 + ;use short-form return 0 exit + int 0x20 + %elif ((%1) < 256) && ((%1) > 0) + mov ax,0x4C00 | (%1) + int 0x21 + %else + %error Invalid return value + %endif +%endmacro + + section .text + DosPrintMsg predefined_str + DosPrintMsg "Using string with macro-defined label",10,0 + DosExit 0 + DosExit 1 + + section .data + predefined_str:db "Using string with predefined label",10,0 diff --git a/travis/test/elif.json b/travis/test/elif.json new file mode 100644 index 00000000..824d62df --- /dev/null +++ b/travis/test/elif.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test elif directive", + "id": "elif", + "format": "obj", + "source": "elif.asm", + "option": "-Ox", + "target": [ + { "output": "elif.o" } + ] + } +] diff --git a/travis/test/elif.o.t b/travis/test/elif.o.t Binary files differnew file mode 100644 index 00000000..60336dcd --- /dev/null +++ b/travis/test/elif.o.t diff --git a/travis/test/expimp-o0-error.stderr b/travis/test/expimp-o0-error.stderr new file mode 100644 index 00000000..6fb20f52 --- /dev/null +++ b/travis/test/expimp-o0-error.stderr @@ -0,0 +1,8 @@ +./travis/test/expimp.asm:17: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:24: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:31: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:38: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:59: error: short jump is out of range +./travis/test/expimp.asm:59: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:77: error: short jump is out of range +./travis/test/expimp.asm:77: warning: byte data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/expimp-o0.bin.t b/travis/test/expimp-o0.bin.t Binary files differnew file mode 100644 index 00000000..b4034a9d --- /dev/null +++ b/travis/test/expimp-o0.bin.t diff --git a/travis/test/expimp-o0.stderr b/travis/test/expimp-o0.stderr new file mode 100644 index 00000000..9a336950 --- /dev/null +++ b/travis/test/expimp-o0.stderr @@ -0,0 +1,4 @@ +./travis/test/expimp.asm:17: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:24: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:31: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:38: warning: signed byte value exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/expimp-o1.bin.t b/travis/test/expimp-o1.bin.t Binary files differnew file mode 100644 index 00000000..161df87f --- /dev/null +++ b/travis/test/expimp-o1.bin.t diff --git a/travis/test/expimp-o1.stderr b/travis/test/expimp-o1.stderr new file mode 100644 index 00000000..9a336950 --- /dev/null +++ b/travis/test/expimp-o1.stderr @@ -0,0 +1,4 @@ +./travis/test/expimp.asm:17: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:24: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:31: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:38: warning: signed byte value exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/expimp-ox-error.stderr b/travis/test/expimp-ox-error.stderr new file mode 100644 index 00000000..6fb20f52 --- /dev/null +++ b/travis/test/expimp-ox-error.stderr @@ -0,0 +1,8 @@ +./travis/test/expimp.asm:17: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:24: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:31: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:38: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:59: error: short jump is out of range +./travis/test/expimp.asm:59: warning: byte data exceeds bounds [-w+number-overflow] +./travis/test/expimp.asm:77: error: short jump is out of range +./travis/test/expimp.asm:77: warning: byte data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/expimp-ox.bin.t b/travis/test/expimp-ox.bin.t Binary files differnew file mode 100644 index 00000000..11c0d01d --- /dev/null +++ b/travis/test/expimp-ox.bin.t diff --git a/travis/test/expimp.asm b/travis/test/expimp.asm new file mode 100644 index 00000000..89e32a14 --- /dev/null +++ b/travis/test/expimp.asm @@ -0,0 +1,90 @@ +;Testname=O0; Arguments=-O0 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin +;Testname=O1; Arguments=-O1 -fbin -oexpimp.bin; Files=stdout stderr expimp.bin +;Testname=Ox; Arguments=-Ox -fbin -oexpimp.bin; Files=stdout stderr expimp.bin +;Testname=error-O0; Arguments=-O0 -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin +;Testname=error-Ox; Arguments=-Ox -fbin -oexpimp.bin -DERROR; Files=stdout stderr expimp.bin + +; +; Test of explicitly and implicitly sized operands +; + BITS 32 + + add esi,2 ; Implicit + add esi,123456h ; Implicit + add esi,byte 2 ; Explicit + add esi,dword 2 ; Explicit + add esi,dword 123456h ; Explicit + add esi,byte 123456h ; Explicit Truncation + + add esi,strict 2 ; Implicit Strict + add esi,strict 123456h ; Implicit Strict + add esi,strict byte 2 ; Explicit Strict + add esi,strict dword 2 ; Explicit Strict + add esi,strict dword 123456h ; Explicit Strict + add esi,strict byte 123456h ; Explicit Strict Truncation + + add eax,2 ; Implicit + add eax,123456h ; Implicit + add eax,byte 2 ; Explicit + add eax,dword 2 ; Explicit + add eax,dword 123456h ; Explicit + add eax,byte 123456h ; Explicit Truncation + + add eax,strict 2 ; Implicit Strict + add eax,strict 123456h ; Implicit Strict + add eax,strict byte 2 ; Explicit Strict + add eax,strict dword 2 ; Explicit Strict + add eax,strict dword 123456h ; Explicit Strict + add eax,strict byte 123456h ; Explicit Strict Truncation + + imul dx,3 ; Implicit + imul dx,byte 3 ; Explicit + imul dx,word 3 ; Explicit + imul dx,strict byte 3 ; Explicit Strict + imul dx,strict word 3 ; Explicit Strict + +; +; Same thing with branches +; +start: + jmp short start ; Explicit + jmp near start ; Explicit + jmp word start ; Explicit + jmp dword start ; Explicit + jmp short forward ; Explicit + jmp near forward ; Explicit + jmp word forward ; Explicit + jmp dword forward ; Explicit +%ifdef ERROR + jmp short faraway ; Explicit (ERROR) +%endif + jmp near faraway ; Explicit + jmp word faraway ; Explicit + jmp dword faraway ; Explicit + jmp start ; Implicit + jmp forward ; Implicit + jmp faraway ; Implicit + + jmp strict short start ; Explicit Strict + jmp strict near start ; Explicit Strict + jmp strict word start ; Explicit Strict + jmp strict dword start ; Explicit Strict + jmp strict short forward ; Explicit Strict + jmp strict near forward ; Explicit Strict + jmp strict word forward ; Explicit Strict + jmp strict dword forward ; Explicit Strict +%ifdef ERROR + jmp strict short faraway ; Explicit (ERROR) +%endif + jmp strict near faraway ; Explicit Strict + jmp strict word faraway ; Explicit Strict + jmp strict dword faraway ; Explicit Strict + jmp strict start ; Implicit Strict + jmp strict forward ; Implicit Strict + jmp strict faraway ; Implicit Strict +forward: + + times 256 nop +faraway: + + diff --git a/travis/test/expimp.json b/travis/test/expimp.json new file mode 100644 index 00000000..fcd77832 --- /dev/null +++ b/travis/test/expimp.json @@ -0,0 +1,40 @@ +[ + { + "description": "Test of explicitly and implicitly sized operands (-O0)", + "id": "expimp", + "format": "bin", + "source": "expimp.asm", + "option": "-O0", + "target": [ + { "output": "expimp-o0.bin" }, + { "stderr": "expimp-o0.stderr" } + ] + }, + { + "description": "Test of explicitly and implicitly sized operands (-O1)", + "ref": "expimp", + "option": "-O1", + "target": [ + { "output": "expimp-o1.bin" }, + { "stderr": "expimp-o1.stderr" } + ] + }, + { + "description": "Test of explicitly and implicitly sized operands (-Ox)", + "ref": "expimp", + "option": "-Ox -DERROR -o expimp-ox-error.bin", + "target": [ + { "stderr": "expimp-ox-error.stderr" } + ], + "error": "expected" + }, + { + "description": "Test of explicitly and implicitly sized operands (-O0 error)", + "ref": "expimp", + "option": "-O0 -DERROR -o expimp-o0-error.bin", + "target": [ + { "stderr": "expimp-o0-error.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/far64.asm b/travis/test/far64.asm new file mode 100644 index 00000000..a4ecb8d3 --- /dev/null +++ b/travis/test/far64.asm @@ -0,0 +1,9 @@ +; BR 2039212 + bits 64 + + call qword far [rax] + jmp qword far [rax] + call dword far [rax] + jmp dword far [rax] + call far [rax] + jmp far [rax] diff --git a/travis/test/far64.bin.t b/travis/test/far64.bin.t new file mode 100644 index 00000000..087f6e6b --- /dev/null +++ b/travis/test/far64.bin.t @@ -0,0 +1 @@ +HH((HH(
\ No newline at end of file diff --git a/travis/test/far64.json b/travis/test/far64.json new file mode 100644 index 00000000..c6f121df --- /dev/null +++ b/travis/test/far64.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test 64 bit far call", + "id": "far64", + "format": "bin", + "source": "far64.asm", + "target": [ + { "output": "far64.bin" } + ] + } +] diff --git a/travis/test/float.asm b/travis/test/float.asm new file mode 100644 index 00000000..c0978b58 --- /dev/null +++ b/travis/test/float.asm @@ -0,0 +1,183 @@ +; +; Test of floating-point formats +; + +; 8-bit + db 1.0 + db +1.0 + db -1.0 + db 1.5 + db +1.5 + db -1.5 + db 0.0 + db +0.0 + db -0.0 + db 1.83203125 + db +1.83203125 + db -1.83203125 + db 1.83203125e1 + db +1.83203125e1 + db -1.83203125e1 + db 1.83203125e-1 + db +1.83203125e-1 + db -1.83203125e-1 + db 1.13203125e-2 ; Denormal! + db +1.13203125e-2 ; Denormal! + db -1.13203125e-2 ; Denormal! + db __Infinity__ + db +__Infinity__ + db -__Infinity__ + db __NaN__ + db __QNaN__ + db __SNaN__ + db 3.1415926535_8979323846_2643383279_5028841971_6939937510_5 + +; 16-bit + dw 1.0 + dw +1.0 + dw -1.0 + dw 1.5 + dw +1.5 + dw -1.5 + dw 0.0 + dw +0.0 + dw -0.0 + dw 1.83203125 + dw +1.83203125 + dw -1.83203125 + dw 1.83203125e3 + dw +1.83203125e3 + dw -1.83203125e3 + dw 1.83203125e-3 + dw +1.83203125e-3 + dw -1.83203125e-3 + dw 1.83203125e-6 ; Denormal! + dw +1.83203125e-6 ; Denormal! + dw -1.83203125e-6 ; Denormal! + dw __Infinity__ + dw +__Infinity__ + dw -__Infinity__ + dw __NaN__ + dw __QNaN__ + dw __SNaN__ + dw 3.1415926535_8979323846_2643383279_5028841971_6939937510_5 + +; 32-bit + dd 1.0 + dd +1.0 + dd -1.0 + dd 1.5 + dd +1.5 + dd -1.5 + dd 0.0 + dd +0.0 + dd -0.0 + dd 1.83203125 + dd +1.83203125 + dd -1.83203125 + dd 1.83203125e15 + dd +1.83203125e15 + dd -1.83203125e15 + dd 1.83203125e-15 + dd +1.83203125e-15 + dd -1.83203125e-15 + dd 1.83203125e-40 ; Denormal! + dd +1.83203125e-40 ; Denormal! + dd -1.83203125e-40 ; Denormal! + dd __Infinity__ + dd +__Infinity__ + dd -__Infinity__ + dd __NaN__ + dd __QNaN__ + dd __SNaN__ + dd 3.1415926535_8979323846_2643383279_5028841971_6939937510_5 + +; 64-bit + dq 1.0 + dq +1.0 + dq -1.0 + dq 1.5 + dq +1.5 + dq -1.5 + dq 0.0 + dq +0.0 + dq -0.0 + dq 1.83203125 + dq +1.83203125 + dq -1.83203125 + dq 1.83203125e300 + dq +1.83203125e300 + dq -1.83203125e300 + dq 1.83203125e-300 + dq +1.83203125e-300 + dq -1.83203125e-300 + dq 1.83203125e-320 ; Denormal! + dq +1.83203125e-320 ; Denormal! + dq -1.83203125e-320 ; Denormal! + dq __Infinity__ + dq +__Infinity__ + dq -__Infinity__ + dq __NaN__ + dq __QNaN__ + dq __SNaN__ + dq 3.1415926535_8979323846_2643383279_5028841971_6939937510_5 + +; 80-bit + dt 1.0 + dt +1.0 + dt -1.0 + dt 1.5 + dt +1.5 + dt -1.5 + dt 0.0 + dt +0.0 + dt -0.0 + dt 1.83203125 + dt +1.83203125 + dt -1.83203125 + dt 1.83203125e+4000 + dt +1.83203125e+4000 + dt -1.83203125e+4000 + dt 1.83203125e-4000 + dt +1.83203125e-4000 + dt -1.83203125e-4000 + dt 1.83203125e-4940 ; Denormal! + dt +1.83203125e-4940 ; Denormal! + dt -1.83203125e-4940 ; Denormal! + dt __Infinity__ + dt +__Infinity__ + dt -__Infinity__ + dt __NaN__ + dt __QNaN__ + dt __SNaN__ + dt 3.1415926535_8979323846_2643383279_5028841971_6939937510_5 + +; 128-bit + do 1.0 + do +1.0 + do -1.0 + do 1.5 + do +1.5 + do -1.5 + do 0.0 + do +0.0 + do -0.0 + do 1.83203125 + do +1.83203125 + do -1.83203125 + do 1.83203125e+4000 + do +1.83203125e+4000 + do -1.83203125e+4000 + do 1.83203125e-4000 + do +1.83203125e-4000 + do -1.83203125e-4000 + do 1.83203125e-4940 ; Denormal! + do +1.83203125e-4940 ; Denormal! + do -1.83203125e-4940 ; Denormal! + do __Infinity__ + do +__Infinity__ + do -__Infinity__ + do __NaN__ + do __QNaN__ + do __SNaN__ + do 3.1415926535_8979323846_2643383279_5028841971_6939937510_5 diff --git a/travis/test/float.bin.t b/travis/test/float.bin.t Binary files differnew file mode 100644 index 00000000..3a688d6c --- /dev/null +++ b/travis/test/float.bin.t diff --git a/travis/test/float.json b/travis/test/float.json new file mode 100644 index 00000000..0bb8d454 --- /dev/null +++ b/travis/test/float.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test of floating-point formats", + "id": "float", + "format": "bin", + "source": "float.asm", + "option": "-Ox", + "target": [ + { "output": "float.bin" } + ] + } +] diff --git a/travis/test/float8.asm b/travis/test/float8.asm new file mode 100644 index 00000000..ddeb810f --- /dev/null +++ b/travis/test/float8.asm @@ -0,0 +1,132 @@ +; Test of 8-bit floating-point constants + + ; Zero + db 0.0 ; 00h + + ; Denorms + db 0.001953125 ; 01h + db 0.00390625 ; 02h + db 0.005859375 ; 03h + db 0.0078125 ; 04h + db 0.009765625 ; 05h + db 0.01171875 ; 06h + db 0.013671875 ; 07h + + ; Normals + db 0.015625 ; 08h + db 0.017578125 ; 09h + db 0.01953125 ; 0Ah + db 0.021484375 ; 0Bh + db 0.0234375 ; 0Ch + db 0.025390625 ; 0Dh + db 0.02734375 ; 0Eh + db 0.029296875 ; 0Fh + db 0.03125 ; 10h + db 0.03515625 ; 11h + db 0.0390625 ; 12h + db 0.04296875 ; 13h + db 0.046875 ; 14h + db 0.05078125 ; 15h + db 0.0546875 ; 16h + db 0.05859375 ; 17h + db 0.0625 ; 18h + db 0.0703125 ; 19h + db 0.078125 ; 1Ah + db 0.0859375 ; 1Bh + db 0.09375 ; 1Ch + db 0.1015625 ; 1Dh + db 0.109375 ; 1Eh + db 0.1171875 ; 1Fh + db 0.125 ; 20h + db 0.140625 ; 21h + db 0.15625 ; 22h + db 0.171875 ; 23h + db 0.1875 ; 24h + db 0.203125 ; 25h + db 0.21875 ; 26h + db 0.234375 ; 27h + db 0.25 ; 28h + db 0.28125 ; 29h + db 0.3125 ; 2Ah + db 0.34375 ; 2Bh + db 0.375 ; 2Ch + db 0.40625 ; 2Dh + db 0.4375 ; 2Eh + db 0.46875 ; 2Fh + db 0.5 ; 30h + db 0.5625 ; 31h + db 0.625 ; 32h + db 0.6875 ; 33h + db 0.75 ; 34h + db 0.8125 ; 35h + db 0.875 ; 36h + db 0.9375 ; 37h + db 1.0 ; 38h + db 1.125 ; 39h + db 1.25 ; 3Ah + db 1.375 ; 3Bh + db 1.5 ; 3Ch + db 1.625 ; 3Dh + db 1.75 ; 3Eh + db 1.875 ; 3Fh + db 2.0 ; 40h + db 2.25 ; 41h + db 2.5 ; 42h + db 2.75 ; 43h + db 3.0 ; 44h + db 3.25 ; 45h + db 3.5 ; 46h + db 3.75 ; 47h + db 4.0 ; 48h + db 4.5 ; 49h + db 5.0 ; 4Ah + db 5.5 ; 4Bh + db 6.0 ; 4Ch + db 6.5 ; 4Dh + db 7.0 ; 4Eh + db 7.5 ; 4Fh + db 8.0 ; 50h + db 9.0 ; 51h + db 10.0 ; 52h + db 11.0 ; 53h + db 12.0 ; 54h + db 13.0 ; 55h + db 14.0 ; 56h + db 15.0 ; 57h + db 16.0 ; 58h + db 18.0 ; 59h + db 20.0 ; 5Ah + db 22.0 ; 5Bh + db 24.0 ; 5Ch + db 26.0 ; 5Dh + db 28.0 ; 5Eh + db 30.0 ; 5Fh + db 32.0 ; 60h + db 36.0 ; 61h + db 40.0 ; 62h + db 44.0 ; 63h + db 48.0 ; 64h + db 52.0 ; 65h + db 56.0 ; 66h + db 60.0 ; 67h + db 64.0 ; 68h + db 72.0 ; 69h + db 80.0 ; 6Ah + db 88.0 ; 6Bh + db 96.0 ; 6Ch + db 104.0 ; 6Dh + db 112.0 ; 6Eh + db 120.0 ; 6Fh + db 128.0 ; 70h + db 144.0 ; 71h + db 160.0 ; 72h + db 176.0 ; 73h + db 192.0 ; 74h + db 208.0 ; 75h + db 224.0 ; 76h + db 240.0 ; 77h + + ; Exceptionals + db __Infinity__ ; 78h + db __SNaN__ ; 79h + db __QNaN__ ; 7Ch diff --git a/travis/test/float8.bin.t b/travis/test/float8.bin.t Binary files differnew file mode 100644 index 00000000..b3a0f372 --- /dev/null +++ b/travis/test/float8.bin.t diff --git a/travis/test/float8.json b/travis/test/float8.json new file mode 100644 index 00000000..e7eec01b --- /dev/null +++ b/travis/test/float8.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test of 8-bit floating-point constants", + "id": "float8", + "format": "bin", + "source": "float8.asm", + "option": "-Ox", + "target": [ + { "output": "float8.bin" } + ] + } +] diff --git a/travis/test/floatb.asm b/travis/test/floatb.asm new file mode 100644 index 00000000..b630c931 --- /dev/null +++ b/travis/test/floatb.asm @@ -0,0 +1,56 @@ + ;; Known problematic floating-point numbers and their proper + ;; encoding... + + bits 64 + + dd 1.1e10 + dd 0x5023e9ac ; Should be... + + dd 50.40e9 + dd 0x513bc130 ; Should be... + + dq 1.4e23 + dq 0x44bda56a4b0835c0 + + dq 50.48e21 + dq 0x44a5610d7502feae + + dt 1.2e28 + dq 0x9b18ab5df7180b6c + dw 0x405c + + dt 50.46e25 + dq 0xd0b29a67e95dcb60 + dw 0x4057 + + do 0xf.ffffff8p-4 + do 0q3.7777777774p-2 + do 0b1.1111_1111_1111_1111_1111_1111_1111_111p-1 + + dt 0xf.ffffff8p-4 + dt 0q3.7777777774p-2 + dt 0b1.1111_1111_1111_1111_1111_1111_1111_111p-1 + + dq 0xf.ffffff8p-4 + dq 0q3.7777777774p-2 + dq 0b1.1111_1111_1111_1111_1111_1111_1111_111p-1 + + dd 0xf.ffffff8p-4 + dd 0q3.7777777774p-2 + dd 0b1.1111_1111_1111_1111_1111_1111_1111_111p-1 + + dw 0xf.ffffff8p-4 + dw 0q3.7777777774p-2 + dw 0b1.1111_1111_1111_1111_1111_1111_1111_111p-1 + + db 0xf.ffffff8p-4 + db 0q3.7777777774p-2 + db 0b1.1111_1111_1111_1111_1111_1111_1111_111p-1 + + ;; Way too big numbers, should overflow to +Inf + dd 1.0E646456955 + dd 1.0E646456956 + dd 1.0E2147483646 + dd 1.0E2147483647 + dd 1.0E2147483648 + dd 1.0E2147483649 diff --git a/travis/test/floatb.bin.t b/travis/test/floatb.bin.t Binary files differnew file mode 100644 index 00000000..f9d0bdb9 --- /dev/null +++ b/travis/test/floatb.bin.t diff --git a/travis/test/floatb.json b/travis/test/floatb.json new file mode 100644 index 00000000..50653152 --- /dev/null +++ b/travis/test/floatb.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test of known floating-point bugs", + "id": "floatb", + "format": "bin", + "source": "floatb.asm", + "option": "-Ox", + "target": [ + { "output": "floatb.bin" }, + { "stderr": "floatb.stderr" } + ] + } +] diff --git a/travis/test/floatb.stderr b/travis/test/floatb.stderr new file mode 100644 index 00000000..1c52aa05 --- /dev/null +++ b/travis/test/floatb.stderr @@ -0,0 +1,6 @@ +./travis/test/floatb.asm:51: warning: overflow in floating-point constant [-w+float-overflow] +./travis/test/floatb.asm:52: warning: overflow in floating-point constant [-w+float-overflow] +./travis/test/floatb.asm:53: warning: overflow in floating-point constant [-w+float-overflow] +./travis/test/floatb.asm:54: warning: overflow in floating-point constant [-w+float-overflow] +./travis/test/floatb.asm:55: warning: overflow in floating-point constant [-w+float-overflow] +./travis/test/floatb.asm:56: warning: overflow in floating-point constant [-w+float-overflow]
\ No newline at end of file diff --git a/travis/test/floatexp-o0.bin.t b/travis/test/floatexp-o0.bin.t Binary files differnew file mode 100644 index 00000000..e8e37a4c --- /dev/null +++ b/travis/test/floatexp-o0.bin.t diff --git a/travis/test/floatexp-ox.bin.t b/travis/test/floatexp-ox.bin.t Binary files differnew file mode 100644 index 00000000..32d1b9f8 --- /dev/null +++ b/travis/test/floatexp-ox.bin.t diff --git a/travis/test/floatexp.asm b/travis/test/floatexp.asm new file mode 100644 index 00000000..3e4a558c --- /dev/null +++ b/travis/test/floatexp.asm @@ -0,0 +1,379 @@ + bits 64 +; +; Test of floating-point formats +; + +; 8-bit + mov al,__float8__(1.0) + mov al,__float8__(+1.0) + mov al,__float8__(-1.0) + mov al,__float8__(0.0) + mov al,__float8__(+0.0) + mov al,__float8__(-0.0) + mov al,__float8__(1.83203125) + mov al,__float8__(+1.83203125) + mov al,__float8__(-1.83203125) + mov al,__float8__(1.83203125e1) + mov al,__float8__(+1.83203125e1) + mov al,__float8__(-1.83203125e1) + mov al,__float8__(1.83203125e-1) + mov al,__float8__(+1.83203125e-1) + mov al,__float8__(-1.83203125e-1) + mov al,__float8__(1.13203125e-2) ; Denormal! + mov al,__float8__(+1.13203125e-2) ; Denormal! + mov al,__float8__(-1.13203125e-2) ; Denormal! + mov al,__float8__(__Infinity__) + mov al,__float8__(+__Infinity__) + mov al,__float8__(-__Infinity__) + mov al,__float8__(__NaN__) + mov al,__float8__(__QNaN__) + mov al,__float8__(__SNaN__) + +; 16-bit + mov ax,__float16__(1.0) + mov ax,__float16__(+1.0) + mov ax,__float16__(-1.0) + mov ax,__float16__(0.0) + mov ax,__float16__(+0.0) + mov ax,__float16__(-0.0) + mov ax,__float16__(1.83203125) + mov ax,__float16__(+1.83203125) + mov ax,__float16__(-1.83203125) + mov ax,__float16__(1.83203125e3) + mov ax,__float16__(+1.83203125e3) + mov ax,__float16__(-1.83203125e3) + mov ax,__float16__(1.83203125e-3) + mov ax,__float16__(+1.83203125e-3) + mov ax,__float16__(-1.83203125e-3) + mov ax,__float16__(1.83203125e-6) ; Denormal! + mov ax,__float16__(+1.83203125e-6) ; Denormal! + mov ax,__float16__(-1.83203125e-6) ; Denormal! + mov ax,__float16__(__Infinity__) + mov ax,__float16__(+__Infinity__) + mov ax,__float16__(-__Infinity__) + mov ax,__float16__(__NaN__) + mov ax,__float16__(__QNaN__) + mov ax,__float16__(__SNaN__) + +; 32-bit + mov eax,__float32__(1.0) + mov eax,__float32__(+1.0) + mov eax,__float32__(-1.0) + mov eax,__float32__(0.0) + mov eax,__float32__(+0.0) + mov eax,__float32__(-0.0) + mov eax,__float32__(1.83203125) + mov eax,__float32__(+1.83203125) + mov eax,__float32__(-1.83203125) + mov eax,__float32__(1.83203125e15) + mov eax,__float32__(+1.83203125e15) + mov eax,__float32__(-1.83203125e15) + mov eax,__float32__(1.83203125e-15) + mov eax,__float32__(+1.83203125e-15) + mov eax,__float32__(-1.83203125e-15) + mov eax,__float32__(1.83203125e-40) ; Denormal! + mov eax,__float32__(+1.83203125e-40) ; Denormal! + mov eax,__float32__(-1.83203125e-40) ; Denormal! + mov eax,__float32__(__Infinity__) + mov eax,__float32__(+__Infinity__) + mov eax,__float32__(-__Infinity__) + mov eax,__float32__(__NaN__) + mov eax,__float32__(__QNaN__) + mov eax,__float32__(__SNaN__) + +; 64-bit + mov rax,__float64__(1.0) + mov rax,__float64__(+1.0) + mov rax,__float64__(-1.0) + mov rax,__float64__(0.0) + mov rax,__float64__(+0.0) + mov rax,__float64__(-0.0) + mov rax,__float64__(1.83203125) + mov rax,__float64__(+1.83203125) + mov rax,__float64__(-1.83203125) + mov rax,__float64__(1.83203125e300) + mov rax,__float64__(+1.83203125e300) + mov rax,__float64__(-1.83203125e300) + mov rax,__float64__(1.83203125e-300) + mov rax,__float64__(+1.83203125e-300) + mov rax,__float64__(-1.83203125e-300) + mov rax,__float64__(1.83203125e-320) ; Denormal! + mov rax,__float64__(+1.83203125e-320) ; Denormal! + mov rax,__float64__(-1.83203125e-320) ; Denormal! + mov rax,__float64__(__Infinity__) + mov rax,__float64__(+__Infinity__) + mov rax,__float64__(-__Infinity__) + mov rax,__float64__(__NaN__) + mov rax,__float64__(__QNaN__) + mov rax,__float64__(__SNaN__) + +; 80-bit + mov rax,__float80m__(1.0) + mov ax,__float80e__(1.0) + mov rax,__float80m__(+1.0) + mov ax,__float80e__(+1.0) + mov rax,__float80m__(-1.0) + mov ax,__float80e__(-1.0) + mov rax,__float80m__(0.0) + mov ax,__float80e__(0.0) + mov rax,__float80m__(+0.0) + mov ax,__float80e__(+0.0) + mov rax,__float80m__(-0.0) + mov ax,__float80e__(-0.0) + mov rax,__float80m__(1.83203125) + mov ax,__float80e__(1.83203125) + mov rax,__float80m__(+1.83203125) + mov ax,__float80e__(+1.83203125) + mov rax,__float80m__(-1.83203125) + mov ax,__float80e__(-1.83203125) + mov rax,__float80m__(1.83203125e+4000) + mov ax,__float80e__(1.83203125e+4000) + mov rax,__float80m__(+1.83203125e+4000) + mov ax,__float80e__(+1.83203125e+4000) + mov rax,__float80m__(-1.83203125e+4000) + mov ax,__float80e__(-1.83203125e+4000) + mov rax,__float80m__(1.83203125e-4000) + mov ax,__float80e__(1.83203125e-4000) + mov rax,__float80m__(+1.83203125e-4000) + mov ax,__float80e__(+1.83203125e-4000) + mov rax,__float80m__(-1.83203125e-4000) + mov ax,__float80e__(-1.83203125e-4000) + mov rax,__float80m__(1.83203125e-4940) ; Denormal! + mov ax,__float80e__(1.83203125e-4940) ; Denormal! + mov rax,__float80m__(+1.83203125e-4940) ; Denormal! + mov ax,__float80e__(+1.83203125e-4940) ; Denormal! + mov rax,__float80m__(-1.83203125e-4940) ; Denormal! + mov ax,__float80e__(-1.83203125e-4940) ; Denormal! + mov rax,__float80m__(__Infinity__) + mov ax,__float80e__(__Infinity__) + mov rax,__float80m__(+__Infinity__) + mov ax,__float80e__(+__Infinity__) + mov rax,__float80m__(-__Infinity__) + mov ax,__float80e__(-__Infinity__) + mov rax,__float80m__(__NaN__) + mov ax,__float80e__(__NaN__) + mov rax,__float80m__(__QNaN__) + mov ax,__float80e__(__QNaN__) + mov rax,__float80m__(__SNaN__) + mov ax,__float80e__(__SNaN__) + +; 128-bit + mov rax,__float128l__(1.0) + mov rax,__float128h__(1.0) + mov rax,__float128l__(+1.0) + mov rax,__float128h__(+1.0) + mov rax,__float128l__(-1.0) + mov rax,__float128h__(-1.0) + mov rax,__float128l__(0.0) + mov rax,__float128h__(0.0) + mov rax,__float128l__(+0.0) + mov rax,__float128h__(+0.0) + mov rax,__float128l__(-0.0) + mov rax,__float128h__(-0.0) + mov rax,__float128l__(1.83203125) + mov rax,__float128h__(1.83203125) + mov rax,__float128l__(+1.83203125) + mov rax,__float128h__(+1.83203125) + mov rax,__float128l__(-1.83203125) + mov rax,__float128h__(-1.83203125) + mov rax,__float128l__(1.83203125e+4000) + mov rax,__float128h__(1.83203125e+4000) + mov rax,__float128l__(+1.83203125e+4000) + mov rax,__float128h__(+1.83203125e+4000) + mov rax,__float128l__(-1.83203125e+4000) + mov rax,__float128h__(-1.83203125e+4000) + mov rax,__float128l__(1.83203125e-4000) + mov rax,__float128h__(1.83203125e-4000) + mov rax,__float128l__(+1.83203125e-4000) + mov rax,__float128h__(+1.83203125e-4000) + mov rax,__float128l__(-1.83203125e-4000) + mov rax,__float128h__(-1.83203125e-4000) + mov rax,__float128l__(1.83203125e-4940) ; Denormal! + mov rax,__float128h__(1.83203125e-4940) ; Denormal! + mov rax,__float128l__(+1.83203125e-4940) ; Denormal! + mov rax,__float128h__(+1.83203125e-4940) ; Denormal! + mov rax,__float128l__(-1.83203125e-4940) ; Denormal! + mov rax,__float128h__(-1.83203125e-4940) ; Denormal! + mov rax,__float128l__(__Infinity__) + mov rax,__float128h__(__Infinity__) + mov rax,__float128l__(+__Infinity__) + mov rax,__float128h__(+__Infinity__) + mov rax,__float128l__(-__Infinity__) + mov rax,__float128h__(-__Infinity__) + mov rax,__float128l__(__NaN__) + mov rax,__float128h__(__NaN__) + mov rax,__float128l__(__QNaN__) + mov rax,__float128h__(__QNaN__) + mov rax,__float128l__(__SNaN__) + mov rax,__float128h__(__SNaN__) + +; +; Test hexadecimal floating-point numbers +; + +; 16-bit + mov ax,__float16__(1.0) + mov ax,__float16__(0x1.0) + mov ax,__float16__(2.0) + mov ax,__float16__(0x2.0) + mov ax,__float16__(0x1.0p+1) + mov ax,__float16__(0x1.0p-1) + mov ax,__float16__(0x0.0) + mov ax,__float16__(0x1.23456789) + mov ax,__float16__(0x0.123456789) + mov ax,__float16__(0x0.0000123456789) + mov ax,__float16__(0x1.23456789p10) + mov ax,__float16__(0x1.23456789p+10) + mov ax,__float16__(0x1.23456789p-10) + mov ax,__float16__(0x0.123456789p10) + mov ax,__float16__(0x0.123456789p+10) + mov ax,__float16__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov ax,__float16__(0x0.0000123456789) + mov ax,__float16__(0x0.0000123456789p+10) + mov ax,__float16__(0x0.0000123456789p-10) + +; 32-bit + mov eax,__float32__(1.0) + mov eax,__float32__(0x1.0) + mov eax,__float32__(2.0) + mov eax,__float32__(0x2.0) + mov eax,__float32__(0x1.0p+1) + mov eax,__float32__(0x1.0p-1) + mov eax,__float32__(0x0.0) + mov eax,__float32__(0x1.23456789) + mov eax,__float32__(0x0.123456789) + mov eax,__float32__(0x0.0000123456789) + mov eax,__float32__(0x1.23456789p10) + mov eax,__float32__(0x1.23456789p+10) + mov eax,__float32__(0x1.23456789p-10) + mov eax,__float32__(0x0.123456789p10) + mov eax,__float32__(0x0.123456789p+10) + mov eax,__float32__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov eax,__float32__(0x0.0000123456789) + mov eax,__float32__(0x0.0000123456789p+10) + mov eax,__float32__(0x0.0000123456789p-10) + mov eax,__float32__(0x123456789.0) + mov eax,__float32__(0x0000123456789.0) + mov eax,__float32__(0x123456789.0p+0) + mov eax,__float32__(0x123456789.0p+64) + +; 64-bit + mov rax,__float64__(1.0) + mov rax,__float64__(0x1.0) + mov rax,__float64__(2.0) + mov rax,__float64__(0x2.0) + mov rax,__float64__(0x1.0p+1) + mov rax,__float64__(0x1.0p-1) + mov rax,__float64__(0x0.0) + mov rax,__float64__(0x1.23456789) + mov rax,__float64__(0x0.123456789) + mov rax,__float64__(0x0.0000123456789) + mov rax,__float64__(0x1.23456789p10) + mov rax,__float64__(0x1.23456789p+10) + mov rax,__float64__(0x1.23456789p-10) + mov rax,__float64__(0x0.123456789p10) + mov rax,__float64__(0x0.123456789p+10) + mov rax,__float64__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov rax,__float64__(0x0.0000123456789) + mov rax,__float64__(0x0.0000123456789p+10) + mov rax,__float64__(0x0.0000123456789p-10) + mov rax,__float64__(0x123456789.0) + mov rax,__float64__(0x0000123456789.0) + mov rax,__float64__(0x123456789.0p+0) + mov rax,__float64__(0x123456789.0p+300) + +; 80-bit + mov rax,__float80m__(1.0) + mov ax,__float80e__(1.0) + mov rax,__float80m__(0x1.0) + mov ax,__float80e__(0x1.0) + mov rax,__float80m__(2.0) + mov ax,__float80e__(2.0) + mov rax,__float80m__(0x2.0) + mov ax,__float80e__(0x2.0) + mov rax,__float80m__(0x1.0p+1) + mov ax,__float80e__(0x1.0p+1) + mov rax,__float80m__(0x1.0p-1) + mov ax,__float80e__(0x1.0p-1) + mov rax,__float80m__(0x0.0) + mov ax,__float80e__(0x0.0) + mov rax,__float80m__(0x1.23456789) + mov ax,__float80e__(0x1.23456789) + mov rax,__float80m__(0x0.123456789) + mov ax,__float80e__(0x0.123456789) + mov rax,__float80m__(0x0.0000123456789) + mov ax,__float80e__(0x0.0000123456789) + mov rax,__float80m__(0x1.23456789p10) + mov ax,__float80e__(0x1.23456789p10) + mov rax,__float80m__(0x1.23456789p+10) + mov ax,__float80e__(0x1.23456789p+10) + mov rax,__float80m__(0x1.23456789p-10) + mov ax,__float80e__(0x1.23456789p-10) + mov rax,__float80m__(0x0.123456789p10) + mov ax,__float80e__(0x0.123456789p10) + mov rax,__float80m__(0x0.123456789p+10) + mov ax,__float80e__(0x0.123456789p+10) + mov rax,__float80m__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov ax,__float80e__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov rax,__float80m__(0x0.0000123456789) + mov ax,__float80e__(0x0.0000123456789) + mov rax,__float80m__(0x0.0000123456789p+10) + mov ax,__float80e__(0x0.0000123456789p+10) + mov rax,__float80m__(0x0.0000123456789p-10) + mov ax,__float80e__(0x0.0000123456789p-10) + mov rax,__float80m__(0x123456789.0) + mov ax,__float80e__(0x123456789.0) + mov rax,__float80m__(0x0000123456789.0) + mov ax,__float80e__(0x0000123456789.0) + mov rax,__float80m__(0x123456789.0p+0) + mov ax,__float80e__(0x123456789.0p+0) + mov rax,__float80m__(0x123456789.0p+1024) + mov ax,__float80e__(0x123456789.0p+1024) + +; 128-bit + mov rax,__float128l__(1.0) + mov rax,__float128h__(1.0) + mov rax,__float128l__(0x1.0) + mov rax,__float128h__(0x1.0) + mov rax,__float128l__(2.0) + mov rax,__float128h__(2.0) + mov rax,__float128l__(0x2.0) + mov rax,__float128h__(0x2.0) + mov rax,__float128l__(0x1.0p+1) + mov rax,__float128h__(0x1.0p+1) + mov rax,__float128l__(0x1.0p-1) + mov rax,__float128h__(0x1.0p-1) + mov rax,__float128l__(0x0.0) + mov rax,__float128h__(0x0.0) + mov rax,__float128l__(0x1.23456789) + mov rax,__float128h__(0x1.23456789) + mov rax,__float128l__(0x0.123456789) + mov rax,__float128h__(0x0.123456789) + mov rax,__float128l__(0x0.0000123456789) + mov rax,__float128h__(0x0.0000123456789) + mov rax,__float128l__(0x1.23456789p10) + mov rax,__float128h__(0x1.23456789p10) + mov rax,__float128l__(0x1.23456789p+10) + mov rax,__float128h__(0x1.23456789p+10) + mov rax,__float128l__(0x1.23456789p-10) + mov rax,__float128h__(0x1.23456789p-10) + mov rax,__float128l__(0x0.123456789p10) + mov rax,__float128h__(0x0.123456789p10) + mov rax,__float128l__(0x0.123456789p+10) + mov rax,__float128h__(0x0.123456789p+10) + mov rax,__float128l__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov rax,__float128h__(0x0.123456789abcdef0123456789abcdef012345p-10) + mov rax,__float128l__(0x0.0000123456789) + mov rax,__float128h__(0x0.0000123456789) + mov rax,__float128l__(0x0.0000123456789p+10) + mov rax,__float128h__(0x0.0000123456789p+10) + mov rax,__float128l__(0x0.0000123456789p-10) + mov rax,__float128h__(0x0.0000123456789p-10) + mov rax,__float128l__(0x123456789.0) + mov rax,__float128h__(0x123456789.0) + mov rax,__float128l__(0x0000123456789.0) + mov rax,__float128h__(0x0000123456789.0) + mov rax,__float128l__(0x123456789.0p+0) + mov rax,__float128h__(0x123456789.0p+0) + mov rax,__float128l__(0x123456789.0p+1024) + mov rax,__float128h__(0x123456789.0p+1024) diff --git a/travis/test/floatexp.json b/travis/test/floatexp.json new file mode 100644 index 00000000..201fb4b2 --- /dev/null +++ b/travis/test/floatexp.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test of floating-point formats (-Ox)", + "id": "floatexp", + "format": "bin", + "source": "floatexp.asm", + "option": "-Ox", + "target": [ + { "output": "floatexp-ox.bin" } + ] + }, + { + "description": "Test of floating-point formats (-O0)", + "ref": "floatexp", + "option": "-O0", + "target": [ + { "output": "floatexp-o0.bin" } + ] + } +] diff --git a/travis/test/floatize.asm b/travis/test/floatize.asm new file mode 100644 index 00000000..0ff43efd --- /dev/null +++ b/travis/test/floatize.asm @@ -0,0 +1,16 @@ +%assign x13 13+26 +%assign f16 __float16__(1.6e-7) +%assign f32 __float32__(1.6e-7) +%assign f64 __float64__(1.6e-7) +%assign f80m __float80m__(1.6e-7) +%assign f80e __float80e__(1.6e-7) +%assign f128l __float128l__(1.6e-7) +%assign f128h __float128h__(1.6e-7) + + dw f16 + dd f32 + dq f64 + dq f80m + dw f80e + dq f128l + dq f128h diff --git a/travis/test/floatize.bin.t b/travis/test/floatize.bin.t Binary files differnew file mode 100644 index 00000000..146fb738 --- /dev/null +++ b/travis/test/floatize.bin.t diff --git a/travis/test/floatize.json b/travis/test/floatize.json new file mode 100644 index 00000000..b38b1441 --- /dev/null +++ b/travis/test/floatize.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test of floating-point (-Ox)", + "id": "floatize", + "format": "bin", + "source": "floatize.asm", + "option": "-Ox", + "target": [ + { "output": "floatize.bin" } + ] + }, + { + "description": "Test of floating-point (-O0)", + "ref": "floatize", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/floattest.asm b/travis/test/floattest.asm new file mode 100644 index 00000000..dcaac2e1 --- /dev/null +++ b/travis/test/floattest.asm @@ -0,0 +1,26 @@ +; nasm -O99 -f elf32 floattest.asm +; ld -m elf_i386 -o floattest floattest.o -I/lib/ld-linux.so.2 -lc + + global _start + extern printf + + section .text +_start: + + fld qword [num1] + fadd qword [num2] + sub esp, 8 + fstp qword [esp] + push fmt + call printf + add esp, 4*3 + + mov eax, 1 + xor ebx, ebx + int 80h + + section .data +num1 dq 41.5 +num2 dq 0.5 + +fmt db "%f", 10, 0 diff --git a/travis/test/floattest.json b/travis/test/floattest.json new file mode 100644 index 00000000..99d11441 --- /dev/null +++ b/travis/test/floattest.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test float in elf32", + "id": "floattest", + "format": "elf32", + "source": "floattest.asm", + "option": "-Ox", + "target": [ + { "output": "floattest.o" } + ] + } +] diff --git a/travis/test/floattest.o.t b/travis/test/floattest.o.t Binary files differnew file mode 100644 index 00000000..6510a2a0 --- /dev/null +++ b/travis/test/floattest.o.t diff --git a/travis/test/fpu.asm b/travis/test/fpu.asm new file mode 100644 index 00000000..66af8d1e --- /dev/null +++ b/travis/test/fpu.asm @@ -0,0 +1,125 @@ +; relaxed encodings for FPU instructions, which NASM should support +; ----------------------------------------------------------------- + +%define void +%define reg_fpu0 st0 +%define reg_fpu st1 + +; no operands instead of one operand: + + ; F(U)COM(P), FCOM2, FCOMP3, FCOMP5 + + FCOM void + FCOMP void + FUCOM void + FUCOMP void +; FCOM2 void +; FCOMP3 void +; FCOMP5 void + + ; FLD, FST, FSTP, FSTP1, FSTP8, FSTP9 + + FLD void + FST void + FSTP void +; FSTP1 void +; FSTP8 void +; FSTP9 void + + ; FXCH, FXCH4, FXCH7, FFREE, FFREEP + + FXCH void +; FXCH4 void +; FXCH7 void + FFREE void + FFREEP void + +; no operands instead of two operands: + + ; FADD(P), FMUL(P), FSUBR(P), FSUB(P), FDIVR(P), FDIV(P) + + FADD void + FADDP void + FMUL void + FMULP void + FSUBR void + FSUBRP void + FSUB void + FSUBP void + FDIVR void + FDIVRP void + FDIV void + FDIVP void + +; one operand instead of two operands: + + ; FADD, FMUL, FSUB, FSUBR, FDIV, FDIVR + + FADD reg_fpu + FMUL reg_fpu + FSUB reg_fpu + FSUBR reg_fpu + FDIV reg_fpu + FDIVR reg_fpu + + ; FADD, FMUL, FSUBR, FSUB, FDIVR, FDIV (with TO qualifier) + + FADD to reg_fpu + FMUL to reg_fpu + FSUBR to reg_fpu + FSUB to reg_fpu + FDIVR to reg_fpu + FDIV to reg_fpu + + ; FADDP, FMULP, FSUBRP, FSUBP, FDIVRP, FDIVP + + FADDP reg_fpu + FMULP reg_fpu + FSUBRP reg_fpu + FSUBP reg_fpu + FDIVRP reg_fpu + FDIVP reg_fpu + + ; FCMOV(N)B, FCMOV(N)E, FCMOV(N)BE, FCMOV(N)U, and F(U)COMI(P) + + FCMOVB reg_fpu + FCMOVNB reg_fpu + FCMOVE reg_fpu + FCMOVNE reg_fpu + FCMOVBE reg_fpu + FCMOVNBE reg_fpu + FCMOVU reg_fpu + FCMOVNU reg_fpu + FCOMI reg_fpu + FCOMIP reg_fpu + FUCOMI reg_fpu + FUCOMIP reg_fpu + +; two operands instead of one operand: + + ; these don't really exist, and thus are _NOT_ supported: + +; FCOM reg_fpu,reg_fpu0 +; FCOM reg_fpu0,reg_fpu +; FUCOM reg_fpu,reg_fpu0 +; FUCOM reg_fpu0,reg_fpu +; FCOMP reg_fpu,reg_fpu0 +; FCOMP reg_fpu0,reg_fpu +; FUCOMP reg_fpu,reg_fpu0 +; FUCOMP reg_fpu0,reg_fpu + +; FCOM2 reg_fpu,reg_fpu0 +; FCOM2 reg_fpu0,reg_fpu +; FCOMP3 reg_fpu,reg_fpu0 +; FCOMP3 reg_fpu0,reg_fpu +; FCOMP5 reg_fpu,reg_fpu0 +; FCOMP5 reg_fpu0,reg_fpu + +; FXCH reg_fpu,reg_fpu0 +; FXCH reg_fpu0,reg_fpu +; FXCH4 reg_fpu,reg_fpu0 +; FXCH4 reg_fpu0,reg_fpu +; FXCH7 reg_fpu,reg_fpu0 +; FXCH7 reg_fpu0,reg_fpu + +; EOF diff --git a/travis/test/fpu.bin.t b/travis/test/fpu.bin.t new file mode 100644 index 00000000..ecdfd162 --- /dev/null +++ b/travis/test/fpu.bin.t @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/travis/test/fpu.json b/travis/test/fpu.json new file mode 100644 index 00000000..88aa7a57 --- /dev/null +++ b/travis/test/fpu.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test relaxed encodings for FPU instructions", + "id": "fpu", + "format": "bin", + "source": "fpu.asm", + "target": [ + { "output": "fpu.bin" } + ] + } +] diff --git a/travis/test/fwdopt.asm b/travis/test/fwdopt.asm new file mode 100644 index 00000000..7c3f0f5b --- /dev/null +++ b/travis/test/fwdopt.asm @@ -0,0 +1,132 @@ +n0: jmp n1 +n1: jmp n2 +n2: jmp n3 +n3: jmp n4 +n4: jmp n5 +n5: jmp n6 +n6: jmp n7 +n7: jmp n8 +n8: jmp n9 +n9: jmp n10 +n10: jmp n11 +n11: jmp n12 +n12: jmp n13 +n13: jmp n14 +n14: jmp n15 +n15: jmp n16 +n16: jmp n17 +n17: jmp n18 +n18: jmp n19 +n19: jmp n20 +n20: jmp n21 +n21: jmp n22 +n22: jmp n23 +n23: jmp n24 +n24: jmp n25 +n25: jmp n26 +n26: jmp n27 +n27: jmp n28 +n28: jmp n29 +n29: jmp n30 +n30: jmp n31 +n31: jmp n32 +n32: jmp n33 +n33: jmp n34 +n34: jmp n35 +n35: jmp n36 +n36: jmp n37 +n37: jmp n38 +n38: jmp n39 +n39: jmp n40 +n40: jmp n41 +n41: jmp n42 +n42: jmp n43 +n43: jmp n44 +n44: jmp n45 +n45: jmp n46 +n46: jmp n47 +n47: jmp n48 +n48: jmp n49 +n49: jmp n50 +n50: jmp n51 +n51: jmp n52 +n52: jmp n53 +n53: jmp n54 +n54: jmp n55 +n55: jmp n56 +n56: jmp n57 +n57: jmp n58 +n58: jmp n59 +n59: jmp n60 +n60: jmp n61 +n61: jmp n62 +n62: jmp n63 +n63: jmp n64 +n64: jmp n65 +n65: jmp n66 +n66: jmp n67 +n67: jmp n68 +n68: jmp n69 +n69: jmp n70 +n70: jmp n71 +n71: jmp n72 +n72: jmp n73 +n73: jmp n74 +n74: jmp n75 +n75: jmp n76 +n76: jmp n77 +n77: jmp n78 +n78: jmp n79 +n79: jmp n80 +n80: jmp n81 +n81: jmp n82 +n82: jmp n83 +n83: jmp n84 +n84: jmp n85 +n85: jmp n86 +n86: jmp n87 +n87: jmp n88 +n88: jmp n89 +n89: jmp n90 +n90: jmp n91 +n91: jmp n92 +n92: jmp n93 +n93: jmp n94 +n94: jmp n95 +n95: jmp n96 +n96: jmp n97 +n97: jmp n98 +n98: jmp n99 +n99: jmp n100 +n100: jmp n101 +n101: jmp n102 +n102: jmp n103 +n103: jmp n104 +n104: jmp n105 +n105: jmp n106 +n106: jmp n107 +n107: jmp n108 +n108: jmp n109 +n109: jmp n110 +n110: jmp n111 +n111: jmp n112 +n112: jmp n113 +n113: jmp n114 +n114: jmp n115 +n115: jmp n116 +n116: jmp n117 +n117: jmp n118 +n118: jmp n119 +n119: jmp n120 +n120: jmp n121 +n121: jmp n122 +n122: jmp n123 +n123: jmp n124 +n124: jmp n125 +n125: jmp n126 +n126: jmp n127 +n127: jmp n0 + + ;; This should emit exactly 3 NOP bytes + times 260-($-$$) nop + hlt diff --git a/travis/test/fwdopt.bin.t b/travis/test/fwdopt.bin.t Binary files differnew file mode 100644 index 00000000..1247d35f --- /dev/null +++ b/travis/test/fwdopt.bin.t diff --git a/travis/test/fwdopt.json b/travis/test/fwdopt.json new file mode 100644 index 00000000..5c23ef59 --- /dev/null +++ b/travis/test/fwdopt.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test jmp optimization", + "id": "fwdopt", + "format": "bin", + "source": "fwdopt.asm", + "target": [ + { "output": "fwdopt.bin" } + ] + } +] diff --git a/travis/test/fwdoptpp.asm b/travis/test/fwdoptpp.asm new file mode 100644 index 00000000..b8858006 --- /dev/null +++ b/travis/test/fwdoptpp.asm @@ -0,0 +1,146 @@ +%ifndef ERROR + %ifndef FATAL + %ifndef WARNING + %define ERROR 1 + %endif + %endif +%endif + +n0: jmp n1 +n1: jmp n2 +n2: jmp n3 +n3: jmp n4 +n4: jmp n5 +n5: jmp n6 +n6: jmp n7 +n7: jmp n8 +n8: jmp n9 +n9: jmp n10 +n10: jmp n11 +n11: jmp n12 +n12: jmp n13 +n13: jmp n14 +n14: jmp n15 +n15: jmp n16 +n16: jmp n17 +n17: jmp n18 +n18: jmp n19 +n19: jmp n20 +n20: jmp n21 +n21: jmp n22 +n22: jmp n23 +n23: jmp n24 +n24: jmp n25 +n25: jmp n26 +n26: jmp n27 +n27: jmp n28 +n28: jmp n29 +n29: jmp n30 +n30: jmp n31 +n31: jmp n32 +n32: jmp n33 +n33: jmp n34 +n34: jmp n35 +n35: jmp n36 +n36: jmp n37 +n37: jmp n38 +n38: jmp n39 +n39: jmp n40 +n40: jmp n41 +n41: jmp n42 +n42: jmp n43 +n43: jmp n44 +n44: jmp n45 +n45: jmp n46 +n46: jmp n47 +n47: jmp n48 +n48: jmp n49 +n49: jmp n50 +n50: jmp n51 +n51: jmp n52 +n52: jmp n53 +n53: jmp n54 +n54: jmp n55 +n55: jmp n56 +n56: jmp n57 +n57: jmp n58 +n58: jmp n59 +n59: jmp n60 +n60: jmp n61 +n61: jmp n62 +n62: jmp n63 +n63: jmp n64 +n64: jmp n65 +n65: jmp n66 +n66: jmp n67 +n67: jmp n68 +n68: jmp n69 +n69: jmp n70 +n70: jmp n71 +n71: jmp n72 +n72: jmp n73 +n73: jmp n74 +n74: jmp n75 +n75: jmp n76 +n76: jmp n77 +n77: jmp n78 +n78: jmp n79 +n79: jmp n80 +n80: jmp n81 +n81: jmp n82 +n82: jmp n83 +n83: jmp n84 +n84: jmp n85 +n85: jmp n86 +n86: jmp n87 +n87: jmp n88 +n88: jmp n89 +n89: jmp n90 +n90: jmp n91 +n91: jmp n92 +n92: jmp n93 +n93: jmp n94 +n94: jmp n95 +n95: jmp n96 +n96: jmp n97 +n97: jmp n98 +n98: jmp n99 +n99: jmp n100 +n100: jmp n101 +n101: jmp n102 +n102: jmp n103 +n103: jmp n104 +n104: jmp n105 +n105: jmp n106 +n106: jmp n107 +n107: jmp n108 +n108: jmp n109 +n109: jmp n110 +n110: jmp n111 +n111: jmp n112 +n112: jmp n113 +n113: jmp n114 +n114: jmp n115 +n115: jmp n116 +n116: jmp n117 +n117: jmp n118 +n118: jmp n119 +n119: jmp n120 +n120: jmp n121 +n121: jmp n122 +n122: jmp n123 +n123: jmp n124 +n124: jmp n125 +n125: jmp n126 +n126: jmp n127 +n127: jmp n0 + +%if ($-$$) > 257 + %ifdef FATAL + %fatal "Out of space!" + %elifdef ERROR + %error "Out of space!" + %elifdef WARNING + %warning "Out of space!" + %endif +%endif diff --git a/travis/test/fwdoptpp.bin.t b/travis/test/fwdoptpp.bin.t Binary files differnew file mode 100644 index 00000000..d9ede461 --- /dev/null +++ b/travis/test/fwdoptpp.bin.t diff --git a/travis/test/fwdoptpp.error.stderr b/travis/test/fwdoptpp.error.stderr new file mode 100644 index 00000000..73d62864 --- /dev/null +++ b/travis/test/fwdoptpp.error.stderr @@ -0,0 +1 @@ +./travis/test/fwdoptpp.asm:142: error: Out of space!
\ No newline at end of file diff --git a/travis/test/fwdoptpp.fatal.stderr b/travis/test/fwdoptpp.fatal.stderr new file mode 100644 index 00000000..14aef370 --- /dev/null +++ b/travis/test/fwdoptpp.fatal.stderr @@ -0,0 +1 @@ +./travis/test/fwdoptpp.asm:140: fatal: Out of space!
\ No newline at end of file diff --git a/travis/test/fwdoptpp.json b/travis/test/fwdoptpp.json new file mode 100644 index 00000000..41d51256 --- /dev/null +++ b/travis/test/fwdoptpp.json @@ -0,0 +1,39 @@ +[ + { + "description": "Test jmp optimization", + "id": "fwdoptpp", + "format": "bin", + "source": "fwdoptpp.asm", + "option": "-Ox", + "target": [ + { "output": "fwdoptpp.bin" } + ] + }, + { + "description": "Test warning directive", + "ref": "fwdoptpp", + "option": "-O0 -DWARNING", + "target": [ + { "output": "fwdoptpp.warning.bin" }, + { "stderr": "fwdoptpp.warning.stderr" } + ] + }, + { + "description": "Test error directive", + "ref": "fwdoptpp", + "option": "-O0 -DERROR -o fwdoptpp.null.bin", + "target": [ + { "stderr": "fwdoptpp.error.stderr" } + ], + "error": "expected" + }, + { + "description": "Test fatal directive", + "ref": "fwdoptpp", + "option": "-O0 -DFATAL -o fwdoptpp.null.bin", + "target": [ + { "stderr": "fwdoptpp.fatal.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/fwdoptpp.warning.bin.t b/travis/test/fwdoptpp.warning.bin.t Binary files differnew file mode 100644 index 00000000..808c5a28 --- /dev/null +++ b/travis/test/fwdoptpp.warning.bin.t diff --git a/travis/test/fwdoptpp.warning.stderr b/travis/test/fwdoptpp.warning.stderr new file mode 100644 index 00000000..b861e96a --- /dev/null +++ b/travis/test/fwdoptpp.warning.stderr @@ -0,0 +1 @@ +./travis/test/fwdoptpp.asm:144: warning: Out of space! [-w+user]
\ No newline at end of file diff --git a/travis/test/gotoff64.asm b/travis/test/gotoff64.asm new file mode 100644 index 00000000..fdfb44bb --- /dev/null +++ b/travis/test/gotoff64.asm @@ -0,0 +1,22 @@ + bits 64 + default rel + + extern foo + + mov r15,[foo wrt ..got] + lea r12,[foo wrt ..got] +%ifdef ERROR + lea rax,[foo wrt ..gotoff] + mov rax,[foo wrt ..gotoff] +%endif + + default abs + + mov r15,[foo wrt ..got] + lea r12,[foo wrt ..got] + mov rax,[qword foo wrt ..got] +%ifdef ERROR + lea rax,[foo wrt ..gotoff] + mov rax,[foo wrt ..gotoff] +%endif + mov rax,[qword foo wrt ..gotoff] diff --git a/travis/test/gotoff64.json b/travis/test/gotoff64.json new file mode 100644 index 00000000..02396e53 --- /dev/null +++ b/travis/test/gotoff64.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test .got offsets", + "id": "gotoff64", + "format": "elf64", + "source": "gotoff64.asm", + "target": [ + { "output": "gotoff64.o" } + ] + }, + { + "description": "Test errors in .got offsets", + "ref": "gotoff64", + "option": "-DERROR", + "target": [ + { "stderr": "gotoff64.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/gotoff64.o.t b/travis/test/gotoff64.o.t Binary files differnew file mode 100644 index 00000000..f6a84579 --- /dev/null +++ b/travis/test/gotoff64.o.t diff --git a/travis/test/gotoff64.stderr b/travis/test/gotoff64.stderr new file mode 100644 index 00000000..f800f201 --- /dev/null +++ b/travis/test/gotoff64.stderr @@ -0,0 +1,4 @@ +./travis/test/gotoff64.asm:9: error: ELF64 requires ..gotoff references to be qword absolute +./travis/test/gotoff64.asm:10: error: ELF64 requires ..gotoff references to be qword absolute +./travis/test/gotoff64.asm:19: error: ELF64 requires ..gotoff references to be qword +./travis/test/gotoff64.asm:20: error: ELF64 requires ..gotoff references to be qword
\ No newline at end of file diff --git a/travis/test/ifelse.asm b/travis/test/ifelse.asm new file mode 100644 index 00000000..bbb0d796 --- /dev/null +++ b/travis/test/ifelse.asm @@ -0,0 +1,46 @@ +;Testname=ifelse; Arguments=-fbin -oifelse.bin; Files=stdout stderr ifelse.bin + +;No problems -> db 3 +%if 0 + db 0 +%elif 0 > 0 + db 1 +%elif 1 < 1 + db 2 +%else + db 3 +%endif + +;Garbage after else, elif after else -> db 5 +%if 0 + db 4 +%else trailing garbage + db 5 +%elif 1 + db 6 +%endif + +;Garbage after endif -> +%if 0 + db 7 +%endif trailing garbage + +;else after else -> db 9 +%if 0 + db 8 +%else + db 9 +%else + db 10 +%endif + +;Problem preprocessed out, no warning -> +%if 0 + %if 1 + db 11 + %else + db 12 + %else + db 13 + %endif +%endif diff --git a/travis/test/ifelse.bin.t b/travis/test/ifelse.bin.t new file mode 100644 index 00000000..8d99a0d6 --- /dev/null +++ b/travis/test/ifelse.bin.t @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/travis/test/ifelse.json b/travis/test/ifelse.json new file mode 100644 index 00000000..56a9c3af --- /dev/null +++ b/travis/test/ifelse.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test if,elif,else directives", + "id": "ifelse", + "format": "bin", + "source": "ifelse.asm", + "target": [ + { "output": "ifelse.bin" }, + { "stderr": "ifelse.stderr" } + ] + } +] diff --git a/travis/test/ifelse.stderr b/travis/test/ifelse.stderr new file mode 100644 index 00000000..1dddf4e2 --- /dev/null +++ b/travis/test/ifelse.stderr @@ -0,0 +1,4 @@ +./travis/test/ifelse.asm:17: warning: trailing garbage after `%else' ignored [-w+other] +./travis/test/ifelse.asm:19: warning: `%elif' after `%else' ignored [-w+other] +./travis/test/ifelse.asm:26: warning: trailing garbage after `%endif' ignored [-w+other] +./travis/test/ifelse.asm:33: warning: `%else' after `%else' ignored. [-w+other]
\ No newline at end of file diff --git a/travis/test/ifmacro.asm b/travis/test/ifmacro.asm new file mode 100644 index 00000000..8375614e --- /dev/null +++ b/travis/test/ifmacro.asm @@ -0,0 +1,411 @@ +; +; ifmacro.asm +; +; Test of the new ifmacro directive +; +; This file produces a human-readable text file when compiled +; with -f bin +; + +%define LF 10 + +%macro dummy 2 + db 'This is a dummy macro, ' + db 'arg1 = ', %1, ', ' + db 'arg2 = ', %2, LF +%endmacro + + dummy 'this', 'that' + +%ifdef CR + db '%ifdef CR', LF +%endif + +%ifdef LF + db '%ifdef LF', LF +%endif + +%ifmacro dummy 1 + db '%ifmacro dummy 1', LF +%endif + +%ifmacro dummy 2 + db '%ifmacro dummy 2', LF +%endif + +%ifmacro dummy 3 + db '%ifmacro dummy 3', LF +%endif + +%ifmacro dummy 1+ + db '%ifmacro dummy 1+', LF +%endif + +%ifmacro dummy 2+ + db '%ifmacro dummy 2+', LF +%endif + +%ifmacro dummy 3+ + db '%ifmacro dummy 3+', LF +%endif + +%ifmacro dummy + db '%ifmacro dummy', LF +%endif + +%ifmacro dummy 0-1 + db '%ifmacro dummy 0-1', LF +%endif + +%ifmacro dummy 1-2 + db '%ifmacro dummy 1-2', LF +%endif + +%ifmacro dummy 2-3 + db '%ifmacro dummy 2-3', LF +%endif + +%ifmacro dummy 3-4 + db '%ifmacro dummy 3-4', LF +%endif + +%ifmacro LF + db '%ifmacro LF', LF +%endif + +%ifndef CR + db '%ifndef CR', LF +%endif + +%ifndef LF + db '%ifndef LF', LF +%endif + +%ifnmacro dummy 1 + db '%ifnmacro dummy 1', LF +%endif + +%ifnmacro dummy 2 + db '%ifnmacro dummy 2', LF +%endif + +%ifnmacro dummy 3 + db '%ifnmacro dummy 3', LF +%endif + +%ifnmacro dummy 1+ + db '%ifnmacro dummy 1+', LF +%endif + +%ifnmacro dummy 2+ + db '%ifnmacro dummy 2+', LF +%endif + +%ifnmacro dummy 3+ + db '%ifnmacro dummy 3+', LF +%endif + +%ifnmacro dummy + db '%ifnmacro dummy', LF +%endif + +%ifnmacro dummy 0-1 + db '%ifnmacro dummy 0-1', LF +%endif + +%ifnmacro dummy 1-2 + db '%ifnmacro dummy 1-2', LF +%endif + +%ifnmacro dummy 2-3 + db '%ifnmacro dummy 2-3', LF +%endif + +%ifnmacro dummy 3-4 + db '%ifnmacro dummy 3-4', LF +%endif + +%ifnmacro LF + db '%ifnmacro LF', LF +%endif + +%if 0 +%elifdef CR + db '%elifdef CR', CR +%endif + +%if 0 +%elifdef LF + db '%elifdef LF', LF +%endif + +%if 0 +%elifmacro dummy 1 + db '%elifmacro dummy 1', LF +%endif + +%if 0 +%elifmacro dummy 2 + db '%elifmacro dummy 2', LF +%endif + +%if 0 +%elifmacro dummy 3 + db '%elifmacro dummy 3', LF +%endif + +%if 0 +%elifmacro dummy 1+ + db '%elifmacro dummy 1+', LF +%endif + +%if 0 +%elifmacro dummy 2+ + db '%elifmacro dummy 2+', LF +%endif + +%if 0 +%elifmacro dummy 3+ + db '%elifmacro dummy 3+', LF +%endif + +%if 0 +%elifmacro dummy + db '%elifmacro dummy', LF +%endif + +%if 0 +%elifmacro dummy 0-1 + db '%elifmacro dummy 0-1', LF +%endif + +%if 0 +%elifmacro dummy 1-2 + db '%elifmacro dummy 1-2', LF +%endif + +%if 0 +%elifmacro dummy 2-3 + db '%elifmacro dummy 2-3', LF +%endif + +%if 0 +%elifmacro dummy 3-4 + db '%elifmacro dummy 3-4', LF +%endif + +%if 0 +%elifmacro LF + db '%elifmacro LF', LF +%endif + +%if 0 +%elifndef CR + db '%elifndef CR', LF +%endif + +%if 0 +%elifndef LF + db '%elifndef LF', LF +%endif + +%if 0 +%elifnmacro dummy 1 + db '%elifnmacro dummy 1', LF +%endif + +%if 0 +%elifnmacro dummy 2 + db '%elifnmacro dummy 2', LF +%endif + +%if 0 +%elifnmacro dummy 3 + db '%elifnmacro dummy 3', LF +%endif + +%if 0 +%elifnmacro dummy 1+ + db '%elifnmacro dummy 1+', LF +%endif + +%if 0 +%elifnmacro dummy 2+ + db '%elifnmacro dummy 2+', LF +%endif + +%if 0 +%elifnmacro dummy 3+ + db '%elifnmacro dummy 3+', LF +%endif + +%if 0 +%elifnmacro dummy + db '%elifnmacro dummy', LF +%endif + +%if 0 +%elifnmacro dummy 0-1 + db '%elifnmacro dummy 0-1', LF +%endif + +%if 0 +%elifnmacro dummy 1-2 + db '%elifnmacro dummy 1-2', LF +%endif + +%if 0 +%elifnmacro dummy 2-3 + db '%elifnmacro dummy 2-3', LF +%endif + +%if 0 +%elifnmacro dummy 3-4 + db '%elifnmacro dummy 3-4', LF +%endif + +%if 0 +%elifnmacro LF + db '%elifnmacro LF', LF +%endif + +%if 1 +%elifdef CR + db 'bad %elifdef CR', LF +%endif + +%if 1 +%elifdef LF + db 'bad %elifdef LF', LF +%endif + +%if 1 +%elifmacro dummy 1 + db 'bad %elifmacro dummy 1', LF +%endif + +%if 1 +%elifmacro dummy 2 + db 'bad %elifmacro dummy 2', LF +%endif + +%if 1 +%elifmacro dummy 3 + db 'bad %elifmacro dummy 3', LF +%endif + +%if 1 +%elifmacro dummy 1+ + db 'bad %elifmacro dummy 1+', LF +%endif + +%if 1 +%elifmacro dummy 2+ + db 'bad %elifmacro dummy 2+', LF +%endif + +%if 1 +%elifmacro dummy 3+ + db 'bad %elifmacro dummy 3+', LF +%endif + +%if 1 +%elifmacro dummy + db 'bad %elifmacro dummy', LF +%endif + +%if 1 +%elifmacro dummy 0-1 + db 'bad %elifmacro dummy 0-1', LF +%endif + +%if 1 +%elifmacro dummy 1-2 + db 'bad %elifmacro dummy 1-2', LF +%endif + +%if 1 +%elifmacro dummy 2-3 + db 'bad %elifmacro dummy 2-3', LF +%endif + +%if 1 +%elifmacro dummy 3-4 + db 'bad %elifmacro dummy 3-4', LF +%endif + +%if 1 +%elifmacro LF + db 'bad %elifmacro LF', LF +%endif + +%if 1 +%elifndef CR + db 'bad %elifndef CR', LF +%endif + +%if 1 +%elifndef LF + db 'bad %elifndef LF', LF +%endif + +%if 1 +%elifnmacro dummy 1 + db 'bad %elifnmacro dummy 1', LF +%endif + +%if 1 +%elifnmacro dummy 2 + db 'bad %elifnmacro dummy 2', LF +%endif + +%if 1 +%elifnmacro dummy 3 + db 'bad %elifnmacro dummy 3', LF +%endif + +%if 1 +%elifnmacro dummy 1+ + db 'bad %elifnmacro dummy 1+', LF +%endif + +%if 1 +%elifnmacro dummy 2+ + db 'bad %elifnmacro dummy 2+', LF +%endif + +%if 1 +%elifnmacro dummy 3+ + db 'bad %elifnmacro dummy 3+', LF +%endif + +%if 1 +%elifnmacro dummy + db 'bad %elifnmacro dummy', LF +%endif + +%if 1 +%elifnmacro dummy 0-1 + db 'bad %elifnmacro dummy 0-1', LF +%endif + +%if 1 +%elifnmacro dummy 1-2 + db 'bad %elifnmacro dummy 1-2', LF +%endif + +%if 1 +%elifnmacro dummy 2-3 + db 'bad %elifnmacro dummy 2-3', LF +%endif + +%if 1 +%elifnmacro dummy 3-4 + db 'bad %elifnmacro dummy 3-4', LF +%endif + +%if 1 +%elifnmacro LF + db 'bad %elifnmacro LF', LF +%endif + diff --git a/travis/test/ifmacro.bin.t b/travis/test/ifmacro.bin.t new file mode 100644 index 00000000..2e258d1c --- /dev/null +++ b/travis/test/ifmacro.bin.t @@ -0,0 +1,29 @@ +This is a dummy macro, arg1 = this, arg2 = that +%ifdef LF +%ifmacro dummy 2 +%ifmacro dummy 1+ +%ifmacro dummy 2+ +%ifmacro dummy +%ifmacro dummy 1-2 +%ifmacro dummy 2-3 +%ifndef CR +%ifnmacro dummy 1 +%ifnmacro dummy 3 +%ifnmacro dummy 3+ +%ifnmacro dummy 0-1 +%ifnmacro dummy 3-4 +%ifnmacro LF +%elifdef LF +%elifmacro dummy 2 +%elifmacro dummy 1+ +%elifmacro dummy 2+ +%elifmacro dummy +%elifmacro dummy 1-2 +%elifmacro dummy 2-3 +%elifndef CR +%elifnmacro dummy 1 +%elifnmacro dummy 3 +%elifnmacro dummy 3+ +%elifnmacro dummy 0-1 +%elifnmacro dummy 3-4 +%elifnmacro LF diff --git a/travis/test/ifmacro.json b/travis/test/ifmacro.json new file mode 100644 index 00000000..1f2f4cac --- /dev/null +++ b/travis/test/ifmacro.json @@ -0,0 +1,11 @@ +[ + { + "description": "Generate human readable text with bin", + "id": "ifmacro", + "format": "bin", + "source": "ifmacro.asm", + "target": [ + { "output": "ifmacro.bin" } + ] + } +] diff --git a/travis/test/iftoken.asm b/travis/test/iftoken.asm new file mode 100644 index 00000000..f4e955ea --- /dev/null +++ b/travis/test/iftoken.asm @@ -0,0 +1,315 @@ +%define ZMACRO +%define NMACRO 1 +%define TMACRO 1 2 + db 'N "":' +%iftoken + db ' token' +%else + db ' ntoken' +%endif +%ifempty + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "":' +%iftoken ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "ZMACRO":' +%iftoken ZMACRO + db ' token' +%else + db ' ntoken' +%endif +%ifempty ZMACRO + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "ZMACRO":' +%iftoken ZMACRO ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty ZMACRO ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "NMACRO":' +%iftoken NMACRO + db ' token' +%else + db ' ntoken' +%endif +%ifempty NMACRO + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "NMACRO":' +%iftoken NMACRO ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty NMACRO ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "TMACRO":' +%iftoken TMACRO + db ' token' +%else + db ' ntoken' +%endif +%ifempty TMACRO + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "TMACRO":' +%iftoken TMACRO ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty TMACRO ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "1":' +%iftoken 1 + db ' token' +%else + db ' ntoken' +%endif +%ifempty 1 + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "1":' +%iftoken 1 ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty 1 ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "+1":' +%iftoken +1 + db ' token' +%else + db ' ntoken' +%endif +%ifempty +1 + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "+1":' +%iftoken +1 ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty +1 ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "1 2":' +%iftoken 1 2 + db ' token' +%else + db ' ntoken' +%endif +%ifempty 1 2 + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "1 2":' +%iftoken 1 2 ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty 1 2 ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "1,2":' +%iftoken 1,2 + db ' token' +%else + db ' ntoken' +%endif +%ifempty 1,2 + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "1,2":' +%iftoken 1,2 ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty 1,2 ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "foo":' +%iftoken foo + db ' token' +%else + db ' ntoken' +%endif +%ifempty foo + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "foo":' +%iftoken foo ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty foo ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "foo bar":' +%iftoken foo bar + db ' token' +%else + db ' ntoken' +%endif +%ifempty foo bar + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "foo bar":' +%iftoken foo bar ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty foo bar ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "%":' +%iftoken % + db ' token' +%else + db ' ntoken' +%endif +%ifempty % + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "%":' +%iftoken % ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty % ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "+foo":' +%iftoken +foo + db ' token' +%else + db ' ntoken' +%endif +%ifempty +foo + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "+foo":' +%iftoken +foo ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty +foo ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'N "<<":' +%iftoken << + db ' token' +%else + db ' ntoken' +%endif +%ifempty << + db ' empty' +%else + db ' nempty' +%endif + db 10 + db 'C "<<":' +%iftoken << ; With a comment! + db ' token' +%else + db ' ntoken' +%endif +%ifempty << ; With a comment! + db ' empty' +%else + db ' nempty' +%endif + db 10 diff --git a/travis/test/iftoken.bin.t b/travis/test/iftoken.bin.t new file mode 100644 index 00000000..dbc06bba --- /dev/null +++ b/travis/test/iftoken.bin.t @@ -0,0 +1,26 @@ +N "": ntoken empty +C "": ntoken empty +N "ZMACRO": ntoken empty +C "ZMACRO": ntoken empty +N "NMACRO": token nempty +C "NMACRO": token nempty +N "TMACRO": ntoken nempty +C "TMACRO": ntoken nempty +N "1": token nempty +C "1": token nempty +N "+1": ntoken nempty +C "+1": ntoken nempty +N "1 2": ntoken nempty +C "1 2": ntoken nempty +N "1,2": ntoken nempty +C "1,2": ntoken nempty +N "foo": token nempty +C "foo": token nempty +N "foo bar": ntoken nempty +C "foo bar": ntoken nempty +N "%": token nempty +C "%": token nempty +N "+foo": ntoken nempty +C "+foo": ntoken nempty +N "<<": token nempty +C "<<": token nempty diff --git a/travis/test/iftoken.json b/travis/test/iftoken.json new file mode 100644 index 00000000..57ac110e --- /dev/null +++ b/travis/test/iftoken.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test iftoken directive", + "id": "iftoken", + "format": "bin", + "source": "iftoken.asm", + "target": [ + { "output": "iftoken.bin" } + ] + } +] diff --git a/travis/test/imacro.asm b/travis/test/imacro.asm new file mode 100644 index 00000000..252a67de --- /dev/null +++ b/travis/test/imacro.asm @@ -0,0 +1,6 @@ +%imacro Zero 1 + xor %1,%1 +%endmacro + + Zero eax + zero eax diff --git a/travis/test/imacro.bin.t b/travis/test/imacro.bin.t new file mode 100644 index 00000000..0e583a15 --- /dev/null +++ b/travis/test/imacro.bin.t @@ -0,0 +1 @@ +f1f1
\ No newline at end of file diff --git a/travis/test/imacro.json b/travis/test/imacro.json new file mode 100644 index 00000000..2323cb6c --- /dev/null +++ b/travis/test/imacro.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test imacro directive", + "id": "imacro", + "format": "bin", + "source": "imacro.asm", + "target": [ + { "output": "imacro.bin" } + ] + } +] diff --git a/travis/test/imm64-o0.bin.t b/travis/test/imm64-o0.bin.t Binary files differnew file mode 100644 index 00000000..9a885f65 --- /dev/null +++ b/travis/test/imm64-o0.bin.t diff --git a/travis/test/imm64-o0.stderr b/travis/test/imm64-o0.stderr new file mode 100644 index 00000000..4a6921de --- /dev/null +++ b/travis/test/imm64-o0.stderr @@ -0,0 +1,16 @@ +./travis/test/imm64.asm:24: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:24: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:25: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:26: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:27: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:27: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:28: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:28: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:52: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:52: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:53: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:54: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:55: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:55: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:56: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:56: warning: dword data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/imm64-o1.bin.t b/travis/test/imm64-o1.bin.t Binary files differnew file mode 100644 index 00000000..9a885f65 --- /dev/null +++ b/travis/test/imm64-o1.bin.t diff --git a/travis/test/imm64-o1.stderr b/travis/test/imm64-o1.stderr new file mode 100644 index 00000000..4a6921de --- /dev/null +++ b/travis/test/imm64-o1.stderr @@ -0,0 +1,16 @@ +./travis/test/imm64.asm:24: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:24: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:25: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:26: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:27: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:27: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:28: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:28: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:52: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:52: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:53: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:54: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:55: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:55: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:56: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:56: warning: dword data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/imm64-ox.bin.t b/travis/test/imm64-ox.bin.t Binary files differnew file mode 100644 index 00000000..93e1e633 --- /dev/null +++ b/travis/test/imm64-ox.bin.t diff --git a/travis/test/imm64-ox.stderr b/travis/test/imm64-ox.stderr new file mode 100644 index 00000000..4a6921de --- /dev/null +++ b/travis/test/imm64-ox.stderr @@ -0,0 +1,16 @@ +./travis/test/imm64.asm:24: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:24: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:25: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:26: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:27: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:27: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:28: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:28: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:52: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:52: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:53: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:54: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:55: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:55: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:56: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imm64.asm:56: warning: dword data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/imm64.asm b/travis/test/imm64.asm new file mode 100644 index 00000000..49c418f0 --- /dev/null +++ b/travis/test/imm64.asm @@ -0,0 +1,56 @@ + bits 64 + mov rax,11223344h + mov rax,dword 11223344h + mov eax,11223344h + mov [rax],dword 11223344h ; 32-bit operation + mov qword [rax],11223344h + mov qword [rax],dword 11223344h + + mov rax,0_ffffffff_8899aabbh + mov rax,dword 0_ffffffff_8899aabbh + mov eax,0_ffffffff_8899aabbh + mov [rax],dword 0_ffffffff_8899aabbh ; 32-bit operation + mov qword [rax],0_ffffffff_8899aabbh + mov qword [rax],dword 0_ffffffff_8899aabbh + + mov rax,7fffffffh + mov rax,80000000h + mov rax,0_ffffffffh + mov rax,1_00000000h + mov rax,0_ffffffff_7fffffffh + mov rax,0_ffffffff_80000000h + + mov rax,0_11223344_8899aabbh + mov rax,dword 0_11223344_8899aabbh + mov eax,0_11223344_8899aabbh + mov [rax],dword 0_11223344_8899aabbh ; 32-bit operation + mov qword [rax],0_11223344_8899aabbh + mov qword [rax],dword 0_11223344_8899aabbh + + mov rax,strict 11223344h + mov rax,strict dword 11223344h + mov eax,strict 11223344h + mov [rax],strict dword 11223344h ; 32-bit operation + mov qword [rax],strict 11223344h + mov qword [rax],strict dword 11223344h + + mov rax,strict 0_ffffffff_8899aabbh + mov rax,strict dword 0_ffffffff_8899aabbh + mov eax,strict 0_ffffffff_8899aabbh + mov [rax],strict dword 0_ffffffff_8899aabbh ; 32-bit operation + mov qword [rax],strict 0_ffffffff_8899aabbh + mov qword [rax],strict dword 0_ffffffff_8899aabbh + + mov rax,strict 7fffffffh + mov rax,strict 80000000h + mov rax,strict 0_ffffffffh + mov rax,strict 1_00000000h + mov rax,strict 0_ffffffff_7fffffffh + mov rax,strict 0_ffffffff_80000000h + + mov rax,strict 0_11223344_8899aabbh + mov rax,strict dword 0_11223344_8899aabbh + mov eax,strict 0_11223344_8899aabbh + mov [rax],strict dword 0_11223344_8899aabbh ; 32-bit operation + mov qword [rax],strict 0_11223344_8899aabbh + mov qword [rax],strict dword 0_11223344_8899aabbh diff --git a/travis/test/imm64.json b/travis/test/imm64.json new file mode 100644 index 00000000..780047ea --- /dev/null +++ b/travis/test/imm64.json @@ -0,0 +1,31 @@ +[ + { + "description": "Test imm64 operations (-Ox)", + "id": "imm64", + "format": "bin", + "source": "imm64.asm", + "option": "-Ox", + "target": [ + { "output": "imm64-ox.bin" }, + { "stderr": "imm64-ox.stderr" } + ] + }, + { + "description": "Test imm64 operations (-O1)", + "ref": "imm64", + "option": "-O1", + "target": [ + { "output": "imm64-o1.bin" }, + { "stderr": "imm64-o1.stderr" } + ] + }, + { + "description": "Test imm64 operations (-O0)", + "ref": "imm64", + "option": "-O0", + "target": [ + { "output": "imm64-o0.bin" }, + { "stderr": "imm64-o0.stderr" } + ] + } +] diff --git a/travis/test/immwarn-no.bin.t b/travis/test/immwarn-no.bin.t Binary files differnew file mode 100644 index 00000000..3896674e --- /dev/null +++ b/travis/test/immwarn-no.bin.t diff --git a/travis/test/immwarn-o.bin.t b/travis/test/immwarn-o.bin.t Binary files differnew file mode 100644 index 00000000..39723cd1 --- /dev/null +++ b/travis/test/immwarn-o.bin.t diff --git a/travis/test/immwarn-o.stderr b/travis/test/immwarn-o.stderr new file mode 100644 index 00000000..66291360 --- /dev/null +++ b/travis/test/immwarn-o.stderr @@ -0,0 +1,10 @@ +./travis/test/immwarn.asm:13: warning: word value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:21: warning: word value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:26: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:32: warning: word value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:37: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:49: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:75: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:75: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:79: warning: signed dword value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:89: warning: signed byte value exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/immwarn-ono.bin.t b/travis/test/immwarn-ono.bin.t Binary files differnew file mode 100644 index 00000000..a1dd76ac --- /dev/null +++ b/travis/test/immwarn-ono.bin.t diff --git a/travis/test/immwarn.asm b/travis/test/immwarn.asm new file mode 100644 index 00000000..8bffbfae --- /dev/null +++ b/travis/test/immwarn.asm @@ -0,0 +1,91 @@ +;Testname=onowarn; Arguments=-Ox -DOPT=1 -DWARN=0 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin +;Testname=owarn; Arguments=-Ox -DOPT=1 -DWARN=1 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin +;Testname=nowarn; Arguments=-O0 -DOPT=0 -DWARN=0 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin +;Testname=warn; Arguments=-O0 -DOPT=1 -DWARN=1 -fbin -oimmwarn.bin; Files=stdout stderr immwarn.bin + +%ifndef WARN + %define WARN 1 +%endif + + bits 16 + push 1 +%if WARN + push 0ffffffffh +%endif + push -1 + push 0ffffh + push byte 0FFFFh + + add ax,0FFFFh +%if WARN + add ax,0FFFFFFFFh +%endif + add ax,-1 + add ax,byte 0FFFFh +%if WARN + add ax,byte 0FFFFFFFFh +%endif + add ax,-1 + + add cx,0FFFFh +%if WARN + add cx,0FFFFFFFFh +%endif + add cx,-1 + add cx,byte 0FFFFh +%if WARN + add cx,byte 0FFFFFFFFh +%endif + add cx,-1 + + bits 32 + push 1 + push 0ffffffffh + push -1 + push 0ffffh + + push byte 1 +%if WARN + push byte 0ffffh +%endif + push byte -1 + + push word 1 + push word 0ffffh + push word -1 + + push dword 1 + push dword 0ffffffffh + push dword -1 + + add eax,0FFFFh + add eax,0FFFFFFFFh + add eax,-1 + + add ecx,0FFFFh + add ecx,0FFFFFFFFh + add ecx,-1 + + bits 64 + mov eax,7fffffffh + mov eax,80000000h + mov rax,7fffffffh + mov rax,80000000h +%if WARN + mov rax,dword 80000000h +%endif + add rcx,0FFFFh +%if WARN + add rcx,0FFFFFFFFh +%endif + add rcx,-1 + + add ecx,0FFFFh + add ecx,0FFFFFFFFh + add ecx,-1 + + push byte 1 +%if WARN + push byte 0ffffffffh +%endif + push byte -1 diff --git a/travis/test/immwarn.bin.t b/travis/test/immwarn.bin.t Binary files differnew file mode 100644 index 00000000..71d1dc36 --- /dev/null +++ b/travis/test/immwarn.bin.t diff --git a/travis/test/immwarn.json b/travis/test/immwarn.json new file mode 100644 index 00000000..9a820318 --- /dev/null +++ b/travis/test/immwarn.json @@ -0,0 +1,38 @@ +[ + { + "description": "Test warns on immediate operands (-O0, warn)", + "id": "immwarn", + "format": "bin", + "source": "immwarn.asm", + "option": "-O0 -DOPT=1 -DWARN=1", + "target": [ + { "output": "immwarn.bin" }, + { "stderr": "immwarn.stderr" } + ] + }, + { + "description": "Test warns on immediate operands (-O0, nowarn)", + "ref": "immwarn", + "option": "-O0 -DOPT=1 -DWARN=0", + "target": [ + { "output": "immwarn-no.bin" } + ] + }, + { + "description": "Test warns on immediate operands (-Ox, warn)", + "ref": "immwarn", + "option": "-Ox -DOPT=1 -DWARN=1", + "target": [ + { "output": "immwarn-o.bin" }, + { "stderr": "immwarn-o.stderr" } + ] + }, + { + "description": "Test warns on immediate operands (-Ox, nowarn)", + "ref": "immwarn", + "option": "-Ox -DOPT=1 -DWARN=0", + "target": [ + { "output": "immwarn-ono.bin" } + ] + } +] diff --git a/travis/test/immwarn.stderr b/travis/test/immwarn.stderr new file mode 100644 index 00000000..95f34488 --- /dev/null +++ b/travis/test/immwarn.stderr @@ -0,0 +1,11 @@ +./travis/test/immwarn.asm:13: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:21: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:26: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:32: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:37: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:49: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:75: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:75: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:79: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:79: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/immwarn.asm:89: warning: signed byte value exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/imul-nowarn.bin.t b/travis/test/imul-nowarn.bin.t Binary files differnew file mode 100644 index 00000000..c7fbb984 --- /dev/null +++ b/travis/test/imul-nowarn.bin.t diff --git a/travis/test/imul-warn.bin.t b/travis/test/imul-warn.bin.t Binary files differnew file mode 100644 index 00000000..967d354b --- /dev/null +++ b/travis/test/imul-warn.bin.t diff --git a/travis/test/imul-warn.stderr b/travis/test/imul-warn.stderr new file mode 100644 index 00000000..ba0b5c19 --- /dev/null +++ b/travis/test/imul-warn.stderr @@ -0,0 +1,76 @@ +./travis/test/imul.asm:111: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:37: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:111: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:41: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:111: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:52: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:111: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:54: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:36: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:37: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:38: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:39: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:41: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:51: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:52: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:112: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:54: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:36: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:37: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:38: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:39: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:40: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:41: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:42: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:43: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:45: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:45: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:46: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:47: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:47: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:48: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:48: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: word data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:51: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:52: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:53: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:54: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:56: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:56: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed byte value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:57: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:91: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:92: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:93: ... from macro `test' defined here [-w+number-overflow] +./travis/test/imul.asm:113: warning: signed dword value exceeds bounds [-w+number-overflow] +./travis/test/imul.asm:102: ... from macro `test' defined here [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/imul.asm b/travis/test/imul.asm new file mode 100644 index 00000000..bfb6e054 --- /dev/null +++ b/travis/test/imul.asm @@ -0,0 +1,114 @@ +%macro test 1-3 5 -2 + bits %1 + +%undef MEM +%if %1 == 16 + %define MEM [di] +%elif %1 == 32 + %define MEM [edi] +%elif %1 == 64 + %define MEM [rdi] +%endif + + imul al + imul byte MEM + imul ax + imul word MEM + imul eax + imul dword MEM +%if %1 == 64 + imul rdx + imul qword MEM +%endif + + imul ax,cx + imul ax,MEM + imul ax,word MEM + imul eax,ecx + imul eax,MEM + imul eax,dword MEM +%if %1 == 64 + imul rax,rcx + imul rax,MEM + imul rax,qword MEM +%endif + + imul ax,cx,%2 + imul ax,cx,byte %2 + imul ax,MEM,%2 + imul ax,word MEM,%2 + imul eax,ecx,%2 + imul eax,ecx,byte %2 + imul eax,MEM,%2 + imul eax,dword MEM,%2 +%if %1 == 64 + imul rax,rcx,%2 + imul rax,rcx,byte %2 + imul rax,MEM,%2 + imul rax,qword MEM,%2 +%endif + + imul ax,%2 + imul ax,byte %2 + imul eax,%2 + imul eax,byte %2 +%if %1 == 64 + imul rax,%2 + imul rax,byte %2 +%endif + + imul ax,cx,0x1234 + imul ax,MEM,0x1234 + imul ax,word MEM,0x1234 + imul eax,ecx,0x12345678 + imul eax,MEM,0x12345678 + imul eax,dword MEM,0x12345678 +%if %1 == 64 + imul rax,rcx,0x12345678 + imul rax,MEM,0x12345678 + imul rax,qword MEM,0x12345678 +%endif + + imul ax,0x1234 + imul eax,0x12345678 +%if %1 == 64 + imul rax,0x12345678 +%endif + + imul ax,cx,0xfffe + imul ax,MEM,0xfffe + imul ax,word MEM,0xfffe + imul ax,cx,0xfe + imul ax,MEM,0xfe + imul ax,word MEM,0xfe + imul eax,ecx,0xfffffffe + imul eax,MEM,0xfffffffe + imul eax,dword MEM,0xfffffffe + imul eax,ecx,0xfffe + imul eax,MEM,0xfffe + imul eax,dword MEM,0xfffe +%if %1 == 64 + imul rax,rcx,%3 + imul rax,MEM,%3 + imul rax,qword MEM,%3 + imul rax,rcx,0xfffe + imul rax,MEM,0xfffe + imul rax,qword MEM,0xfffe +%endif + + imul ax,0xfffe + imul eax,0xfffffffe +%if %1 == 64 + imul rax,%3 +%endif +%endmacro + + test 16 + test 32 + test 64 + +%ifdef WARN + test 16,0x999 + test 32,0x999999 + test 64,0x999999999,0xfffffffe +%endif diff --git a/travis/test/imul.json b/travis/test/imul.json new file mode 100644 index 00000000..b5b9d9e8 --- /dev/null +++ b/travis/test/imul.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test warnings on imul operation (nowarn)", + "id": "imul", + "format": "bin", + "source": "imul.asm", + "target": [ + { "output": "imul-nowarn.bin" } + ] + }, + { + "description": "Test warnings on imul operation (warn)", + "ref": "imul", + "option": "-DWARN", + "target": [ + { "output": "imul-warn.bin" }, + { "stderr": "imul-warn.stderr" } + ] + } +] diff --git a/travis/test/inc1.asm b/travis/test/inc1.asm new file mode 100644 index 00000000..0e1058b5 --- /dev/null +++ b/travis/test/inc1.asm @@ -0,0 +1,6 @@ +; This file is part of the include test. +; See inctest.asm for build instructions. + +message: db 'hello, world',13,10,'$' + +%include "inc2.asm" diff --git a/travis/test/inc2.asm b/travis/test/inc2.asm new file mode 100644 index 00000000..c3ba2f75 --- /dev/null +++ b/travis/test/inc2.asm @@ -0,0 +1,8 @@ +; This file is part of the include test. +; See inctest.asm for build instructions. + +_main: mov dx,message + mov ah,9 + int 21h + mov ax,4c00h + int 21h diff --git a/travis/test/inc3.asm b/travis/test/inc3.asm new file mode 100644 index 00000000..797599e0 --- /dev/null +++ b/travis/test/inc3.asm @@ -0,0 +1,6 @@ +; +; To address https://bugzilla.nasm.us/show_bug.cgi?id=3392527 +; +%ifndef __OUTPUT_FORMAT__ + %fatal '__OUTPUT_FORMAT__ defined as ', __OUTPUT_FORMAT__ +%endif diff --git a/travis/test/inctest.asm b/travis/test/inctest.asm new file mode 100644 index 00000000..d6d35cf3 --- /dev/null +++ b/travis/test/inctest.asm @@ -0,0 +1,13 @@ +; This file, plus inc1.asm and inc2.asm, test NASM's file inclusion +; mechanism. +; +; This produces a DOS .COM file: to assemble, use +; nasm -f bin inctest.asm -o inctest.com +; and when run, it should print `hello, world'. + + BITS 16 + ORG 0x100 + + jmp _main + +%include "inc1.asm" diff --git a/travis/test/inctest.com.t b/travis/test/inctest.com.t Binary files differnew file mode 100644 index 00000000..353a2873 --- /dev/null +++ b/travis/test/inctest.com.t diff --git a/travis/test/inctest.json b/travis/test/inctest.json new file mode 100644 index 00000000..9d641254 --- /dev/null +++ b/travis/test/inctest.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test include directive", + "id": "inctest", + "format": "bin", + "source": "inctest.asm", + "option": "-i./travis/test/ -p inc3.asm", + "target": [ + { "output": "inctest.com" } + ] + } +] diff --git a/travis/test/insnlbl.asm b/travis/test/insnlbl.asm new file mode 100644 index 00000000..635e67be --- /dev/null +++ b/travis/test/insnlbl.asm @@ -0,0 +1,10 @@ +; +; Test "instruction as label" -- make opcodes legal as labels if +; they are followed by a colon. +; + +do: jmp dq+2 + dw do, add, sub, dq +add: jmp add-2 +sub: jmp do+2 +dq: dw $-sub diff --git a/travis/test/insnlbl.bin.t b/travis/test/insnlbl.bin.t Binary files differnew file mode 100644 index 00000000..eec01400 --- /dev/null +++ b/travis/test/insnlbl.bin.t diff --git a/travis/test/insnlbl.json b/travis/test/insnlbl.json new file mode 100644 index 00000000..0ba0ff88 --- /dev/null +++ b/travis/test/insnlbl.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test instruction as label", + "id": "insnlbl", + "format": "bin", + "source": "insnlbl.asm", + "target": [ + { "output": "insnlbl.bin" } + ] + } +] diff --git a/travis/test/invlpga.asm b/travis/test/invlpga.asm new file mode 100644 index 00000000..ae683102 --- /dev/null +++ b/travis/test/invlpga.asm @@ -0,0 +1,8 @@ + bits 32 + invlpga + invlpga ax,ecx + invlpga eax,ecx + bits 64 + invlpga + invlpga eax,ecx + invlpga rax,ecx diff --git a/travis/test/invlpga.bin.t b/travis/test/invlpga.bin.t new file mode 100644 index 00000000..9e0d3d5f --- /dev/null +++ b/travis/test/invlpga.bin.t @@ -0,0 +1 @@ +gg
\ No newline at end of file diff --git a/travis/test/invlpga.json b/travis/test/invlpga.json new file mode 100644 index 00000000..50d57be2 --- /dev/null +++ b/travis/test/invlpga.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test invlpga instruction", + "id": "invlpga", + "format": "bin", + "source": "invlpga.asm", + "option": "-Ox", + "target": [ + { "output": "invlpga.bin" } + ] + } +] diff --git a/travis/test/jmp64.asm b/travis/test/jmp64.asm new file mode 100644 index 00000000..d5900f4b --- /dev/null +++ b/travis/test/jmp64.asm @@ -0,0 +1,17 @@ + bits 64 + jmp rcx + jmp [rax] + jmp qword [rax] + jmp near [rax] + jmp near qword [rax] + jmp far [rax] + jmp far dword [rax] + jmp far qword [rax] + call rcx + call [rax] + call qword [rax] + call near [rax] + call near qword [rax] + call far [rax] + call far dword [rax] + call far qword [rax] diff --git a/travis/test/jmp64.bin.t b/travis/test/jmp64.bin.t new file mode 100644 index 00000000..64436c91 --- /dev/null +++ b/travis/test/jmp64.bin.t @@ -0,0 +1 @@ + H((H(HH
\ No newline at end of file diff --git a/travis/test/jmp64.json b/travis/test/jmp64.json new file mode 100644 index 00000000..76ce48bd --- /dev/null +++ b/travis/test/jmp64.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test jmp in 64 bit mode", + "id": "jmp64", + "format": "bin", + "source": "jmp64.asm", + "target": [ + { "output": "jmp64.bin" } + ] + } +] diff --git a/travis/test/lar_lsl.asm b/travis/test/lar_lsl.asm new file mode 100644 index 00000000..58f5e13a --- /dev/null +++ b/travis/test/lar_lsl.asm @@ -0,0 +1,122 @@ +; LAR/LSL +;--------- + +; 1x ; = invalid due to lack of REX +; 3x ; = invalid due to Mw + +%macro m 1 + + bits 16 + + %1 ax, ax + %1 ax,eax +; %1 ax,rax + + %1 eax, ax + %1 eax,eax +; %1 eax,rax + +; %1 rax, ax +; %1 rax,eax +; %1 rax,rax + + %1 ax, [0] + %1 ax, word [0] +;;; %1 ax,dword [0] +; %1 ax,qword [0] + + %1 eax, [0] + %1 eax, word [0] +;;; %1 eax,dword [0] +; %1 eax,qword [0] + +; %1 rax, [0] +; %1 rax, word [0] +; %1 rax,dword [0] +; %1 rax,qword [0] + + bits 32 + + %1 ax, ax + %1 ax,eax +; %1 ax,rax + + %1 eax, ax + %1 eax,eax +; %1 eax,rax + +; %1 rax, ax +; %1 rax,eax +; %1 rax,rax + + %1 ax, [0] + %1 ax, word [0] +;;; %1 ax,dword [0] +; %1 ax,qword [0] + + %1 eax, [0] + %1 eax, word [0] +;;; %1 eax,dword [0] +; %1 eax,qword [0] + +; %1 rax, [0] +; %1 rax, word [0] +; %1 rax,dword [0] +; %1 rax,qword [0] + + bits 64 + + %1 ax, ax + %1 ax,eax + %1 ax,rax ; $TODO: shouldn't emit REX.W $ + + %1 eax, ax + %1 eax,eax + %1 eax,rax ; $TODO: shouldn't emit REX.W $ + + %1 rax, ax + %1 rax,eax + %1 rax,rax + + %1 ax, [0] + %1 ax, word [0] +;;; %1 ax,dword [0] +;;; %1 ax,qword [0] + + %1 eax, [0] + %1 eax, word [0] +;;; %1 eax,dword [0] +;;; %1 eax,qword [0] + + %1 rax, [0] + %1 rax, word [0] +;;; %1 rax,dword [0] +;;; %1 rax,qword [0] + +%endmacro + +m lar + +m lsl + +bits 16 +lar ax,[ si] +lar ax,[esi] +bits 32 +lar ax,[ si] +lar ax,[esi] +bits 64 +lar ax,[esi] +lar ax,[rsi] + +bits 16 +lsl ax,[ si] +lsl ax,[esi] +bits 32 +lsl ax,[ si] +lsl ax,[esi] +bits 64 +lar ax,[esi] +lsl ax,[rsi] + +; EOF diff --git a/travis/test/lar_lsl.bin.t b/travis/test/lar_lsl.bin.t Binary files differnew file mode 100644 index 00000000..f0fc6823 --- /dev/null +++ b/travis/test/lar_lsl.bin.t diff --git a/travis/test/lar_lsl.json b/travis/test/lar_lsl.json new file mode 100644 index 00000000..0d85d838 --- /dev/null +++ b/travis/test/lar_lsl.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test lar lsr with macros", + "id": "lar_lsl", + "format": "bin", + "source": "lar_lsl.asm", + "target": [ + { "output": "lar_lsl.bin" } + ] + } +] diff --git a/travis/test/larlsl.asm b/travis/test/larlsl.asm new file mode 100644 index 00000000..c3c12997 --- /dev/null +++ b/travis/test/larlsl.asm @@ -0,0 +1,21 @@ + bits 64 + + lar ax,bx + lar ax,[rsi] + lar ax,word [rsi] + lar eax,bx + lar eax,[rsi] + lar eax,word [rsi] + lar rax,bx + lar rax,[rsi] + lar rax,word [rsi] + + lsl ax,bx + lsl ax,[rsi] + lsl ax,word [rsi] + lsl eax,bx + lsl eax,[rsi] + lsl eax,word [rsi] + lsl rax,bx + lsl rax,[rsi] + lsl rax,word [rsi] diff --git a/travis/test/larlsl.bin.t b/travis/test/larlsl.bin.t new file mode 100644 index 00000000..ea846b8d --- /dev/null +++ b/travis/test/larlsl.bin.t @@ -0,0 +1 @@ +fffHHHfffHHH
\ No newline at end of file diff --git a/travis/test/larlsl.json b/travis/test/larlsl.json new file mode 100644 index 00000000..a56d76c6 --- /dev/null +++ b/travis/test/larlsl.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test lar and lsl instructions", + "id": "larlsl", + "format": "bin", + "source": "larlsl.asm", + "target": [ + { "output": "larlsl.bin" } + ] + } +] diff --git a/travis/test/lnxhello.asm b/travis/test/lnxhello.asm new file mode 100644 index 00000000..5fd74055 --- /dev/null +++ b/travis/test/lnxhello.asm @@ -0,0 +1,49 @@ +; +; Assembly "Hello, World!" for Linux +; + + +; Properly defined in <sys/syscall.h> +%define SYS_exit 1 +%define SYS_write 4 + + section .text + + global _start +_start: + ; gdb doesn't like to stop at the entry point address, so + ; we put a nop here for pure convenience + nop + + +write_hello: + mov edx, hello_len + mov ecx, hello + +.loop: + mov eax, SYS_write + mov ebx, 1 ; stdout + int 80h + + cmp eax, -4096 + ja error + + add ecx, eax + sub edx, eax + jnz .loop + +ok: + mov eax, SYS_exit + xor ebx, ebx + int 80h + hlt + +error: + mov eax, SYS_exit + mov ebx, 1 ; Error + int 80h + hlt + + section .rodata +hello: db "Hello, World!", 10 +hello_len equ $-hello diff --git a/travis/test/lnxhello.json b/travis/test/lnxhello.json new file mode 100644 index 00000000..b62b8909 --- /dev/null +++ b/travis/test/lnxhello.json @@ -0,0 +1,11 @@ +[ + { + "description": "Assembly 'Hello, World! for Linux", + "id": "lnxhello", + "format": "elf32", + "source": "lnxhello.asm", + "target": [ + { "output": "lnxhello.o" } + ] + } +] diff --git a/travis/test/lnxhello.o.t b/travis/test/lnxhello.o.t Binary files differnew file mode 100644 index 00000000..d0532cd7 --- /dev/null +++ b/travis/test/lnxhello.o.t diff --git a/travis/test/local.asm b/travis/test/local.asm new file mode 100644 index 00000000..64a0e59a --- /dev/null +++ b/travis/test/local.asm @@ -0,0 +1,18 @@ + bits 32 + +%push bluttan + +%define %$localsize 0 + +%stacksize flat +%local l1:qword, l2:dword, l3:dword, l4:qword +%arg a1:qword, a2:dword, a3:dword, a4:qword + + mov eax,[a1] + mov ebx,[a2] + mov ecx,[a3] + mov edx,[a4] + mov [l1],eax + mov [l2],ebx + mov [l3],ecx + mov [l4],edx diff --git a/travis/test/local.bin.t b/travis/test/local.bin.t new file mode 100644 index 00000000..148e6409 --- /dev/null +++ b/travis/test/local.bin.t @@ -0,0 +1 @@ +E]MUE]MU
\ No newline at end of file diff --git a/travis/test/local.json b/travis/test/local.json new file mode 100644 index 00000000..0278b874 --- /dev/null +++ b/travis/test/local.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test local directive", + "id": "local", + "format": "bin", + "source": "local.asm", + "target": [ + { "output": "local.bin" } + ] + } +] diff --git a/travis/test/loopoffs.asm b/travis/test/loopoffs.asm new file mode 100644 index 00000000..fbb0b012 --- /dev/null +++ b/travis/test/loopoffs.asm @@ -0,0 +1,9 @@ + bits 16 +delay: loop delay + loop $ +delay2: a32 loop delay2 + a32 loop $ +delay3: loop delay3,ecx + loop $,ecx +delay4: a32 loop delay4,ecx + a32 loop $,ecx diff --git a/travis/test/loopoffs.bin.t b/travis/test/loopoffs.bin.t new file mode 100644 index 00000000..514f59b7 --- /dev/null +++ b/travis/test/loopoffs.bin.t @@ -0,0 +1 @@ +gggggg
\ No newline at end of file diff --git a/travis/test/loopoffs.json b/travis/test/loopoffs.json new file mode 100644 index 00000000..bc4df70b --- /dev/null +++ b/travis/test/loopoffs.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test loop offsets (-Ox)", + "id": "loopoffs", + "format": "bin", + "source": "loopoffs.asm", + "option": "-Ox", + "target": [ + { "output": "loopoffs.bin" } + ] + }, + { + "description": "Test loop offsets (-O0)", + "ref": "loopoffs", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/macro-defaults-nowarn.stderr b/travis/test/macro-defaults-nowarn.stderr new file mode 100644 index 00000000..34811633 --- /dev/null +++ b/travis/test/macro-defaults-nowarn.stderr @@ -0,0 +1,36 @@ +./travis/test/macro-defaults.asm:9: warning: (mmac_fix:3) 2 one a [-w+user] +./travis/test/macro-defaults.asm:7: ... from macro `mmac_fix' defined here [-w+user] +./travis/test/macro-defaults.asm:16: warning: (mmac_var:3) 3 one a b [-w+user] +./travis/test/macro-defaults.asm:14: ... from macro `mmac_var' defined here [-w+user] +./travis/test/macro-defaults.asm:17: warning: (mmac_var:3) 3 one two b [-w+user] +./travis/test/macro-defaults.asm:14: ... from macro `mmac_var' defined here [-w+user] +./travis/test/macro-defaults.asm:27: warning: (mmac_plus:5) 2 one a,b [-w+user] +./travis/test/macro-defaults.asm:24: ... from macro `mmac_plus' defined here [-w+user] +./travis/test/macro-defaults.asm:28: warning: (mmac_plus:5) 2 one two [-w+user] +./travis/test/macro-defaults.asm:24: ... from macro `mmac_plus' defined here [-w+user] +./travis/test/macro-defaults.asm:29: warning: (mmac_plus:5) 2 one two,three [-w+user] +./travis/test/macro-defaults.asm:24: ... from macro `mmac_plus' defined here [-w+user] +./travis/test/macro-defaults.asm:37: warning: (mmac_star:4) 3 one a b [-w+user] +./travis/test/macro-defaults.asm:35: ... from macro `mmac_star' defined here [-w+user] +./travis/test/macro-defaults.asm:38: warning: (mmac_star:4) 3 one two b [-w+user] +./travis/test/macro-defaults.asm:35: ... from macro `mmac_star' defined here [-w+user] +./travis/test/macro-defaults.asm:39: warning: (mmac_star:4) 3 one two three [-w+user] +./travis/test/macro-defaults.asm:35: ... from macro `mmac_star' defined here [-w+user] +./travis/test/macro-defaults.asm:47: warning: (mmac_rotate:1) 2 a b [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:47: warning: (mmac_rotate:4) 2 b a [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:48: warning: (mmac_rotate:1) 2 one b [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:48: warning: (mmac_rotate:4) 2 b one [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:49: warning: (mmac_rotate:1) 2 one two [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:49: warning: (mmac_rotate:4) 2 two one [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:50: warning: (mmac_rotate:1) 3 one two three [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:50: warning: (mmac_rotate:4) 3 two three one [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:64: warning: (mmac_scope:1) 0 0 0 [-w+user] +./travis/test/macro-defaults.asm:58: ... from macro `mmac_scope' defined here [-w+user]
\ No newline at end of file diff --git a/travis/test/macro-defaults-warn.stderr b/travis/test/macro-defaults-warn.stderr new file mode 100644 index 00000000..24a9d420 --- /dev/null +++ b/travis/test/macro-defaults-warn.stderr @@ -0,0 +1,39 @@ +./travis/test/macro-defaults.asm:4: warning: too many default macro parameters in macro `mmac_fix' [-w+macro-defaults] +./travis/test/macro-defaults.asm:9: warning: (mmac_fix:3) 2 one a [-w+user] +./travis/test/macro-defaults.asm:7: ... from macro `mmac_fix' defined here [-w+user] +./travis/test/macro-defaults.asm:11: warning: too many default macro parameters in macro `mmac_var' [-w+macro-defaults] +./travis/test/macro-defaults.asm:16: warning: (mmac_var:3) 3 one a b [-w+user] +./travis/test/macro-defaults.asm:14: ... from macro `mmac_var' defined here [-w+user] +./travis/test/macro-defaults.asm:17: warning: (mmac_var:3) 3 one two b [-w+user] +./travis/test/macro-defaults.asm:14: ... from macro `mmac_var' defined here [-w+user] +./travis/test/macro-defaults.asm:27: warning: (mmac_plus:5) 2 one a,b [-w+user] +./travis/test/macro-defaults.asm:24: ... from macro `mmac_plus' defined here [-w+user] +./travis/test/macro-defaults.asm:28: warning: (mmac_plus:5) 2 one two [-w+user] +./travis/test/macro-defaults.asm:24: ... from macro `mmac_plus' defined here [-w+user] +./travis/test/macro-defaults.asm:29: warning: (mmac_plus:5) 2 one two,three [-w+user] +./travis/test/macro-defaults.asm:24: ... from macro `mmac_plus' defined here [-w+user] +./travis/test/macro-defaults.asm:37: warning: (mmac_star:4) 3 one a b [-w+user] +./travis/test/macro-defaults.asm:35: ... from macro `mmac_star' defined here [-w+user] +./travis/test/macro-defaults.asm:38: warning: (mmac_star:4) 3 one two b [-w+user] +./travis/test/macro-defaults.asm:35: ... from macro `mmac_star' defined here [-w+user] +./travis/test/macro-defaults.asm:39: warning: (mmac_star:4) 3 one two three [-w+user] +./travis/test/macro-defaults.asm:35: ... from macro `mmac_star' defined here [-w+user] +./travis/test/macro-defaults.asm:47: warning: (mmac_rotate:1) 2 a b [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:47: warning: (mmac_rotate:4) 2 b a [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:48: warning: (mmac_rotate:1) 2 one b [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:48: warning: (mmac_rotate:4) 2 b one [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:49: warning: (mmac_rotate:1) 2 one two [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:49: warning: (mmac_rotate:4) 2 two one [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:50: warning: (mmac_rotate:1) 3 one two three [-w+user] +./travis/test/macro-defaults.asm:42: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:50: warning: (mmac_rotate:4) 3 two three one [-w+user] +./travis/test/macro-defaults.asm:45: ... from macro `mmac_rotate' defined here [-w+user] +./travis/test/macro-defaults.asm:57: warning: too many default macro parameters in macro `mmac_scope' [-w+macro-defaults] +./travis/test/macro-defaults.asm:64: warning: (mmac_scope:1) 0 0 0 [-w+user] +./travis/test/macro-defaults.asm:58: ... from macro `mmac_scope' defined here [-w+user]
\ No newline at end of file diff --git a/travis/test/macro-defaults.asm b/travis/test/macro-defaults.asm new file mode 100644 index 00000000..047f2053 --- /dev/null +++ b/travis/test/macro-defaults.asm @@ -0,0 +1,64 @@ +;Testname=warning; Arguments=-fbin -omacdef.bin -w+macro-defaults; Files=stdout stderr macdef.bin +;Testname=nonwarning; Arguments=-fbin -omacdef.bin -w-macro-defaults; Files=stdout stderr macdef.bin + +%MACRO mmac_fix 1 a + ; While defined to take one parameter, any invocation will + ; see two, due to the default parameter. + %warning %0 %1 %2 %3 %4 %5 +%ENDMACRO +mmac_fix one + +%MACRO mmac_var 1-2 a,b + ; While defined to take one or two parameters, invocations + ; will see three, due to the default parameters. + %warning %0 %1 %2 %3 %4 %5 +%ENDMACRO +mmac_var one +mmac_var one,two + +%MACRO mmac_plus 1-2+ a,b + ; This does not warn. Although this looks like two default + ; parameters, it ends up being only one: the "+" limits it + ; to two parameters; if invoked without a second parameter + ; the second parameter will be "a,b". + %warning %0 %1 %2 %3 %4 %5 + ;Check rotating behaviour +%ENDMACRO +mmac_plus one +mmac_plus one,two +mmac_plus one,two,three + +%MACRO mmac_star 1-* a,b + ; This does not warn. Because the "*" extends the range of + ; parameters to infinity, the "a,b" default parameters can + ; not exceed that range. + %warning %0 %1 %2 %3 %4 %5 +%ENDMACRO +mmac_star one +mmac_star one,two +mmac_star one,two,three + +%MACRO mmac_rotate 0-* a,b + %warning %0 %1 %2 %3 %4 %5 + ;%rotate should rotate all parameters + %rotate 1 + %warning %0 %1 %2 %3 %4 %5 +%ENDMACRO +mmac_rotate +mmac_rotate one +mmac_rotate one,two +mmac_rotate one,two,three + +;Scope / evaluation time test +%define I 0 +%assign J 0 +%xdefine K 0 + +%MACRO mmac_scope 0 I J K + %warning %1 %2 %3 +%ENDMACRO + +%define I 1 +%assign J 1 +%xdefine K 1 +mmac_scope diff --git a/travis/test/macro-defaults.json b/travis/test/macro-defaults.json new file mode 100644 index 00000000..0de69ac9 --- /dev/null +++ b/travis/test/macro-defaults.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test warnings on macro default parameters (warn)", + "id": "macro-defaults", + "format": "bin", + "source": "macro-defaults.asm", + "option": "-w+macro-defaults -o macro-defaults.bin", + "target": [ + { "stderr": "macro-defaults-warn.stderr" } + ] + }, + { + "description": "Test warnings on macro default parameters (nowarn)", + "ref": "macro-defaults", + "option": "-w-macro-defaults -o macro-defaults.bin", + "target": [ + { "stderr": "macro-defaults-nowarn.stderr" } + ] + } +] diff --git a/travis/test/mmxsize.asm b/travis/test/mmxsize.asm new file mode 100644 index 00000000..791f0087 --- /dev/null +++ b/travis/test/mmxsize.asm @@ -0,0 +1,36 @@ + bits 32 + movd mm0,eax + movd mm0,[foo] + movq mm0,[foo] + movd mm0,dword [foo] + movq mm0,qword [foo] + movmskps eax,xmm1 + movmskpd eax,xmm1 + nop + movd xmm0,eax + movd xmm0,[foo] + movq xmm0,[foo] + movd xmm0,dword [foo] + movq xmm0,qword [foo] + nop + + bits 64 + movd mm0,eax + movq mm0,[foo] + movd mm0,dword [foo] + movq mm0,qword [foo] + movq mm0,rax + movmskps eax,xmm1 + movmskpd eax,xmm1 + nop + movd xmm0,eax + movq xmm0,[foo] + movd xmm0,dword [foo] + movq xmm0,qword [foo] + movq xmm0,rax + movmskps rax,xmm1 + movmskpd rax,xmm1 + nop + + section .bss +foo resq 1 diff --git a/travis/test/mmxsize.bin.t b/travis/test/mmxsize.bin.t Binary files differnew file mode 100644 index 00000000..00270fa5 --- /dev/null +++ b/travis/test/mmxsize.bin.t diff --git a/travis/test/mmxsize.json b/travis/test/mmxsize.json new file mode 100644 index 00000000..0225dac7 --- /dev/null +++ b/travis/test/mmxsize.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test mmx instructions (-Ox)", + "id": "mmxsize", + "format": "bin", + "source": "mmxsize.asm", + "option": "-Ox", + "target": [ + { "output": "mmxsize.bin" } + ] + }, + { + "description": "Test mmx instructions (-O0)", + "ref": "mmxsize", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/mout.json b/travis/test/mout.json new file mode 100644 index 00000000..33510cf3 --- /dev/null +++ b/travis/test/mout.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test sigsegv fix if multiple outputs passed", + "id": "mout", + "format": "bin", + "source": "mout.asm", + "option": "-o mout.bin -o mout.bin", + "target": [ + { "stderr": "mout.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/mout.stderr b/travis/test/mout.stderr new file mode 100644 index 00000000..91148947 --- /dev/null +++ b/travis/test/mout.stderr @@ -0,0 +1 @@ +mout.bin: fatal: more than one output file specified: mout.bin
\ No newline at end of file diff --git a/travis/test/movd.asm b/travis/test/movd.asm new file mode 100644 index 00000000..c304e6a5 --- /dev/null +++ b/travis/test/movd.asm @@ -0,0 +1,11 @@ +[BITS 32] + movd mm0,eax + movd mm0,[eax] + movd [eax],mm0 + movd eax,mm0 + + movd xmm0,eax + movd xmm0,[eax] + + movd [eax],xmm0 + movd eax,xmm0 diff --git a/travis/test/movd.bin.t b/travis/test/movd.bin.t Binary files differnew file mode 100644 index 00000000..efcf054b --- /dev/null +++ b/travis/test/movd.bin.t diff --git a/travis/test/movd.json b/travis/test/movd.json new file mode 100644 index 00000000..aebe26c2 --- /dev/null +++ b/travis/test/movd.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test movd instruction", + "id": "movd", + "format": "bin", + "source": "movd.asm", + "option": "-Ox", + "target": [ + { "output": "movd.bin" } + ] + } +] diff --git a/travis/test/movimm-o0.bin.t b/travis/test/movimm-o0.bin.t Binary files differnew file mode 100644 index 00000000..c24f103f --- /dev/null +++ b/travis/test/movimm-o0.bin.t diff --git a/travis/test/movimm-o0.stderr b/travis/test/movimm-o0.stderr new file mode 100644 index 00000000..916171b6 --- /dev/null +++ b/travis/test/movimm-o0.stderr @@ -0,0 +1,10 @@ +./travis/test/movimm.asm:6: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:7: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:7: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:9: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:10: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:10: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:11: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:12: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:12: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:15: warning: dword data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/movimm-ox.bin.t b/travis/test/movimm-ox.bin.t new file mode 100644 index 00000000..f60293d3 --- /dev/null +++ b/travis/test/movimm-ox.bin.t @@ -0,0 +1 @@ +HͫxV4ͫHͫHͫxV4ͫHͫͫHͫͫxV4xV4HxV4xV4xV4HxV4xV4HxV4xV4
\ No newline at end of file diff --git a/travis/test/movimm-ox.stderr b/travis/test/movimm-ox.stderr new file mode 100644 index 00000000..916171b6 --- /dev/null +++ b/travis/test/movimm-ox.stderr @@ -0,0 +1,10 @@ +./travis/test/movimm.asm:6: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:7: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:7: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:9: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:10: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:10: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:11: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:12: warning: signed dword immediate exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:12: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/movimm.asm:15: warning: dword data exceeds bounds [-w+number-overflow]
\ No newline at end of file diff --git a/travis/test/movimm.asm b/travis/test/movimm.asm new file mode 100644 index 00000000..c34c1669 --- /dev/null +++ b/travis/test/movimm.asm @@ -0,0 +1,28 @@ +;Testname=unoptimized; Arguments=-fbin -omovimm.bin -O0; Files=stdout stderr movimm.bin +;Testname=optimized; Arguments=-fbin -omovimm.bin -Ox; Files=stdout stderr movimm.bin + bits 64 + + mov rax,1234567890abcdefh + mov eax,1234567890abcdefh + mov rax,dword 1234567890abcdefh + mov rax,qword 1234567890abcdefh + mov dword [rsi],1234567890abcdefh + mov qword [rsi],1234567890abcdefh + mov dword [rsi],dword 1234567890abcdefh + mov qword [rsi],dword 1234567890abcdefh +; mov qword [rsi],qword 1234567890abcdefh ; Error +; mov [rsi],qword 1234567890abcdefh ; Error + mov [rsi],dword 1234567890abcdefh + + ; The optimizer probably should compact these forms, doesn't yet? + mov rax,12345678h + mov eax,12345678h + mov rax,dword 12345678h + mov rax,qword 12345678h + mov dword [rsi],12345678h + mov qword [rsi],12345678h + mov dword [rsi],dword 12345678h + mov qword [rsi],dword 12345678h +; mov qword [rsi],qword 12345678h ; Error +; mov [rsi],qword 12345678h ; Error + mov [rsi],dword 12345678h diff --git a/travis/test/movimm.json b/travis/test/movimm.json new file mode 100644 index 00000000..7c2b33d6 --- /dev/null +++ b/travis/test/movimm.json @@ -0,0 +1,22 @@ +[ + { + "description": "Test mov imm intruction (-Ox)", + "id": "movimm", + "format": "bin", + "source": "movimm.asm", + "option": "-Ox", + "target": [ + { "output": "movimm-ox.bin" }, + { "stderr": "movimm-ox.stderr" } + ] + }, + { + "description": "Test mov imm intruction (-O0)", + "ref": "movimm", + "option": "-O0", + "target": [ + { "output": "movimm-o0.bin" }, + { "stderr": "movimm-o0.stderr" } + ] + } +] diff --git a/travis/test/movnti.asm b/travis/test/movnti.asm new file mode 100644 index 00000000..9709cbaf --- /dev/null +++ b/travis/test/movnti.asm @@ -0,0 +1,7 @@ + bits 16 + movnti [si],eax + bits 32 + movnti [esi],eax + bits 64 + movnti [rsi],eax + movnti [rsi],rax diff --git a/travis/test/movnti.bin.t b/travis/test/movnti.bin.t new file mode 100644 index 00000000..7db727d4 --- /dev/null +++ b/travis/test/movnti.bin.t @@ -0,0 +1 @@ +H
\ No newline at end of file diff --git a/travis/test/movnti.json b/travis/test/movnti.json new file mode 100644 index 00000000..6ca78993 --- /dev/null +++ b/travis/test/movnti.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test movnti instruction", + "id": "movnti", + "format": "bin", + "source": "movnti.asm", + "target": [ + { "output": "movnti.bin" } + ] + } +] diff --git a/travis/test/mpx-64.asm b/travis/test/mpx-64.asm new file mode 100644 index 00000000..93d96536 --- /dev/null +++ b/travis/test/mpx-64.asm @@ -0,0 +1,119 @@ +BITS 64 + + bndmk bnd1, [r11] + bndmk bnd1, [rax] + bndmk bnd1, [0x399] + bndmk bnd1, [r9+0x3] + bndmk bnd1, [rax+0x3] + bndmk bnd1, [3,1*r12] + bndmk bnd1, [rax+rcx] + bndmk bnd1, [r11+1*rax+0x3] + bndmk bnd1, [rbx+1*r9+0x3] + + ; bndmov + bndmov bnd1, [r11] + bndmov bnd1, [rax] + bndmov bnd1, [0x399] + bndmov bnd2, [r9+0x3] + bndmov bnd2, [rax+0x3] + bndmov bnd0, [1*r12+0x3] + bndmov bnd2, [rax+rdx] + bndmov bnd1, [r11+1*rax+0x3] + bndmov bnd1, [rbx+1*r9+0x3] + bndmov bnd0, bnd2 + + bndmov [r11], bnd1 + bndmov [rax], bnd1 + bndmov [0x399], bnd1 + bndmov [r9+0x3], bnd2 + bndmov [rax+0x3], bnd2 + bndmov [1*r12+0x3], bnd0 + bndmov [rax+rdx], bnd2 + bndmov [r11+1*rax+0x3], bnd1 + bndmov [rbx+1*r9+0x3], bnd1 + bndmov bnd2, bnd0 + + ; bndcl + bndcl bnd1, [r11] + bndcl bnd1, [rax] + bndcl bnd1, r11 + bndcl bnd1, rcx + bndcl bnd1, [0x399] + bndcl bnd1, [r9+0x3] + bndcl bnd1, [rax+0x3] + bndcl bnd1, [1*r12+0x3] + bndcl bnd1, [rax+rcx] + bndcl bnd1, [r11+1*rax+0x3] + bndcl bnd1, [rbx+1*r9+0x3] + + ; bndcu + bndcu bnd1, [r11] + bndcu bnd1, [rax] + bndcu bnd1, r11 + bndcu bnd1, rcx + bndcu bnd1, [0x399] + bndcu bnd1, [r9+0x3] + bndcu bnd1, [rax+0x3] + bndcu bnd1, [1*r12+0x3] + bndcu bnd1, [rax+rcx] + bndcu bnd1, [r11+1*rax+0x3] + bndcu bnd1, [rbx+1*r9+0x3] + + ; bndcn + bndcn bnd1, [r11] + bndcn bnd1, [rax] + bndcn bnd1, r11 + bndcn bnd1, rcx + bndcn bnd1, [0x399] + bndcn bnd1, [r9+0x3] + bndcn bnd1, [rax+0x3] + bndcn bnd1, [1*r9+0x3] + bndcn bnd1, [rax+rcx] + bndcn bnd1, [r11+1*rax+0x3] + bndcn bnd1, [rbx+1*r9+0x3] + + ; bndstx + ; next 5 lines should be parsed same + bndstx [rax+0x3,rbx], bnd0 ; NASM - split EA + bndstx [rax+rbx*1+0x3], bnd0 ; GAS + bndstx [rax+rbx+3], bnd0 ; GAS + bndstx [rax+0x3], bnd0, rbx ; ICC-1 + bndstx [rax+0x3], rbx, bnd0 ; ICC-2 + + ; next 5 lines should be parsed same + bndstx [,rcx*1], bnd2 ; NASM + bndstx [0,rcx*1], bnd2 ; NASM + bndstx [0], bnd2, rcx ; ICC-1 + bndstx [0], rcx, bnd2 ; ICC-2 + bndstx [rcx*1], bnd2 ; GAS - rcx is encoded as index only when it is mib + + ; next 3 lines should be parsed same + bndstx [3,1*r12], bnd2 ; NASM + bndstx [1*r12+3], bnd2 ; GAS + bndstx [3], r12, bnd2 ; ICC + + bndstx [r12+0x399], bnd3 + bndstx [r11+0x1234], bnd1 + bndstx [rbx+0x1234], bnd2 + bndstx [rdx], bnd1 + + ; bndldx + bndldx bnd0, [rax+rbx*1+0x3] + bndldx bnd2, [rbx+rdx+3] + bndldx bnd3, [r12+0x399] + bndldx bnd1, [r11+0x1234] + bndldx bnd2, [rbx+0x1234] + bndldx bnd2, [1*rbx+3] + bndldx bnd2, [1*r12+3] + bndldx bnd1, [rdx] + + ; bnd + bnd ret + bnd call foo + bnd jmp foo ; when it becomes a Jb form - short jmp (eb), + ; bnd prefix is silently dropped + bnd jmp near 0 ; near jmp (opcode e9) +; bnd jmp short 0 ; explicit short jmp (opcode eb) : error + bnd jno foo + +foo: bnd ret diff --git a/travis/test/mpx-64.json b/travis/test/mpx-64.json new file mode 100644 index 00000000..1e74417d --- /dev/null +++ b/travis/test/mpx-64.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test MPX instruction in 64 bit mode", + "id": "mpx-64", + "format": "elf64", + "source": "mpx-64.asm", + "option": "-O0", + "target": [ + { "output": "mpx-64.o" } + ] + } +] diff --git a/travis/test/mpx-64.o.t b/travis/test/mpx-64.o.t Binary files differnew file mode 100644 index 00000000..ef86fc07 --- /dev/null +++ b/travis/test/mpx-64.o.t diff --git a/travis/test/mpx.asm b/travis/test/mpx.asm new file mode 100644 index 00000000..4e981568 --- /dev/null +++ b/travis/test/mpx.asm @@ -0,0 +1,89 @@ +;Testname=mpx; Arguments=-felf -ompx.o -O0; Files=stdout stderr mpx.o +BITS 32 + + bndmk bnd1, [eax] + bndmk bnd1, [0x399] + bndmk bnd1, [ecx+0x3] + bndmk bnd1, [eax+ecx] + bndmk bnd1, [ecx*1] + bndmk bnd1, [edx+1*eax+0x3] + + ; bndmov + bndmov bnd1, [eax] + bndmov bnd1, [0x399] + bndmov bnd1, [ecx+0x3] + bndmov bnd1, [eax+ecx] + bndmov bnd1, [ecx*1] + bndmov bnd1, [edx+1*eax+0x3] + bndmov bnd0, bnd1 + + bndmov [eax], bnd1 + bndmov [0x399], bnd1 + bndmov [ecx+0x3], bnd1 + bndmov [eax+ecx], bnd1 + bndmov [ecx*1], bnd1 + bndmov [edx+1*eax+0x3], bnd1 + bndmov bnd1, bnd0 + + ; bndcl + bndcl bnd1, [eax] + bndcl bnd1, ecx + bndcl bnd1, [0x399] + bndcl bnd1, [ecx+0x3] + bndcl bnd1, [eax+ecx] + bndcl bnd1, [ecx*1] + bndcl bnd1, [edx+1*eax+0x3] + + ; bndcu + bndcu bnd1, [eax] + bndcu bnd1, ecx + bndcu bnd1, [0x399] + bndcu bnd1, [ecx+0x3] + bndcu bnd1, [eax+ecx] + bndcu bnd1, [ecx*1] + bndcu bnd1, [edx+1*eax+0x3] + + ; bndcn + bndcn bnd1, [eax] + bndcn bnd1, ecx + bndcn bnd1, [0x399] + bndcn bnd1, [ecx+0x3] + bndcn bnd1, [eax+ecx] + bndcn bnd1, [ecx*1] + bndcn bnd1, [edx+1*eax+0x3] + + ; bndstx + bndstx [eax+ebx*1+0x3], bnd0 + bndstx [eax+0x3,ebx], bnd0 + bndstx [eax+0x3], bnd0, ebx + bndstx [eax+0x3], ebx, bnd0 + bndstx [ecx*1], bnd2 + bndstx [,ecx*1], bnd2 + bndstx [0,ecx*1], bnd2 + bndstx [0], bnd2, ecx + bndstx [0], ecx, bnd2 + bndstx [edx+0x399], bnd3 + bndstx [1*ebx+3], bnd2 + bndstx [3,1*ebx], bnd2 + bndstx [3], ebx, bnd2 + bndstx [edx], bnd1 + + ; bndldx + bndldx bnd0, [eax+ebx*1+0x3] + bndldx bnd2, [ebx+edx+3] + bndldx bnd2, [ecx*1] + bndldx bnd3, [edx+0x399] + bndldx bnd2, [1*ebx+3] + bndldx bnd2, [3], ebx + bndldx bnd1, [edx] + + ; bnd + bnd ret + bnd call foo + bnd jmp foo ; when it becomes a Jb form - short jmp (eb), + ; bnd prefix is silently dropped + bnd jmp near 0 ; near jmp (opcode e9) +; bnd jmp short 0 ; explicit short jmp (opcode eb) : error + bnd jno foo + +foo: bnd ret diff --git a/travis/test/mpx.json b/travis/test/mpx.json new file mode 100644 index 00000000..201445f5 --- /dev/null +++ b/travis/test/mpx.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test MPX instruction in 32 bit mode", + "id": "mpx", + "format": "elf", + "source": "mpx.asm", + "option": "-O0", + "target": [ + { "output": "mpx.o" } + ] + } +] diff --git a/travis/test/mpx.o.t b/travis/test/mpx.o.t Binary files differnew file mode 100644 index 00000000..ea6d854f --- /dev/null +++ b/travis/test/mpx.o.t diff --git a/travis/test/multisection-elf32.o.t b/travis/test/multisection-elf32.o.t Binary files differnew file mode 100644 index 00000000..0568615b --- /dev/null +++ b/travis/test/multisection-elf32.o.t diff --git a/travis/test/multisection-elf32.stderr b/travis/test/multisection-elf32.stderr new file mode 100644 index 00000000..8ee51353 --- /dev/null +++ b/travis/test/multisection-elf32.stderr @@ -0,0 +1 @@ +./travis/test/multisection.asm:84: warning: uninitialized space declared in non-BSS section `.hmm': zeroing [-w+other]
\ No newline at end of file diff --git a/travis/test/multisection-elf64.o.t b/travis/test/multisection-elf64.o.t Binary files differnew file mode 100644 index 00000000..64f250a5 --- /dev/null +++ b/travis/test/multisection-elf64.o.t diff --git a/travis/test/multisection-elf64.stderr b/travis/test/multisection-elf64.stderr new file mode 100644 index 00000000..8ee51353 --- /dev/null +++ b/travis/test/multisection-elf64.stderr @@ -0,0 +1 @@ +./travis/test/multisection.asm:84: warning: uninitialized space declared in non-BSS section `.hmm': zeroing [-w+other]
\ No newline at end of file diff --git a/travis/test/multisection.asm b/travis/test/multisection.asm new file mode 100644 index 00000000..08b73199 --- /dev/null +++ b/travis/test/multisection.asm @@ -0,0 +1,96 @@ +;Testname=aout; Arguments=-faout -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=aoutb; Arguments=-faoutb -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=as86; Arguments=-fas86 -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=elf32; Arguments=-felf32 -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=elf64; Arguments=-felf64 -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=obj; Arguments=-fobj -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=rdf; Arguments=-frdf -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=win32; Arguments=-fwin32 -olnxhello.o -Ox; Files=stdout stderr lnxhello.o +;Testname=win64; Arguments=-fwin64 -olnxhello.o -Ox; Files=stdout stderr lnxhello.o + +; To test where code that is placed before any explicit SECTION +; gets placed, and what happens if a .text section has an ORG +;statement, uncomment the following lines. +; +; times 10h nop +; +;section .text +;org 0x300 +; times 20h inc ax + +; let's see which of these sections can be placed in the specified order. + +section .appspecific +section .data +section .stringdata +section .mytext +section .code +section .extra_code + + +section .stringdata +mystr1: db "Hello, this is string 1", 13, 10, '$' + +section .extra_code +;org 0x200 +bits 16 +more: + mov si, asciz1 + mov ah, 0x0E + xor bx, bx +.print: + lodsb + test al, al + jz .end + int 0x10 + jmp short .print +.end: + + xor ax, ax + int 0x16 + + mov ax, 0x4c00 + int 0x21 + +section .appspecific +asciz1: db "This is string 2", 0 + +section .code +;org 0x100 +bits 16 + +start: + mov dx, mystr1 + mov ah, 9 + int 0x21 + + xor ax, ax + int 0x16 + + jmp more + +section .text + xor eax,eax + times 50h nop + +section .mytext + + xor ebx,ebx + +section .data + db 95h,95h,95h,95h,95h,95h,95h,95h + +section .hmm + resd 2 + +section .bss + resd 8 + +section .final1 + inc ax + +section .final2 + inc bx + +section .final3 + inc cx diff --git a/travis/test/multisection.bin.t b/travis/test/multisection.bin.t Binary files differnew file mode 100644 index 00000000..47933b3f --- /dev/null +++ b/travis/test/multisection.bin.t diff --git a/travis/test/multisection.json b/travis/test/multisection.json new file mode 100644 index 00000000..61a04491 --- /dev/null +++ b/travis/test/multisection.json @@ -0,0 +1,31 @@ +[ + { + "description": "Test mutlisecions (bin)", + "id": "multisection", + "format": "bin", + "source": "multisection.asm", + "option": "-Ox", + "target": [ + { "output": "multisection.bin" }, + { "stderr": "multisection.stderr" } + ] + }, + { + "description": "Test mutlisecions (elf32)", + "ref": "multisection", + "format": "elf32", + "target": [ + { "output": "multisection-elf32.o" }, + { "stderr": "multisection-elf32.stderr" } + ] + }, + { + "description": "Test mutlisecions (elf64)", + "ref": "multisection", + "format": "elf64", + "target": [ + { "output": "multisection-elf64.o" }, + { "stderr": "multisection-elf64.stderr" } + ] + } +] diff --git a/travis/test/multisection.stderr b/travis/test/multisection.stderr new file mode 100644 index 00000000..f8575e13 --- /dev/null +++ b/travis/test/multisection.stderr @@ -0,0 +1 @@ +./travis/test/multisection.asm:84: warning: uninitialized space declared in .hmm section: zeroing [-w+other]
\ No newline at end of file diff --git a/travis/test/nasmformat-elf32.o.t b/travis/test/nasmformat-elf32.o.t Binary files differnew file mode 100644 index 00000000..3a243d2e --- /dev/null +++ b/travis/test/nasmformat-elf32.o.t diff --git a/travis/test/nasmformat-elf64.o.t b/travis/test/nasmformat-elf64.o.t Binary files differnew file mode 100644 index 00000000..19b15907 --- /dev/null +++ b/travis/test/nasmformat-elf64.o.t diff --git a/travis/test/nasmformat-macho32.o.t b/travis/test/nasmformat-macho32.o.t Binary files differnew file mode 100644 index 00000000..0de7f14a --- /dev/null +++ b/travis/test/nasmformat-macho32.o.t diff --git a/travis/test/nasmformat-macho64.o.t b/travis/test/nasmformat-macho64.o.t Binary files differnew file mode 100644 index 00000000..619da9ff --- /dev/null +++ b/travis/test/nasmformat-macho64.o.t diff --git a/travis/test/nasmformat.asm b/travis/test/nasmformat.asm new file mode 100644 index 00000000..705a2459 --- /dev/null +++ b/travis/test/nasmformat.asm @@ -0,0 +1,17 @@ +%ifidn __OUTPUT_FORMAT__, bin + msg_format: db 'This is binary format file' +%elifidn __OUTPUT_FORMAT__, elf32 + section .rodata + msg_format: db 'This is elf32 format file' +%elifidn __OUTPUT_FORMAT__, elf64 + section .rodata + msg_format: db 'This is elf64 format file' +%elifidn __OUTPUT_FORMAT__, macho32 + section .rodata + msg_format: db 'This is macho32 format file' +%elifidn __OUTPUT_FORMAT__, macho64 + section .rodata + msg_format: db 'This is macho64 format file' +%else + msg_format: db 'This is some other format file' +%endif diff --git a/travis/test/nasmformat.bin.t b/travis/test/nasmformat.bin.t new file mode 100644 index 00000000..799fdc74 --- /dev/null +++ b/travis/test/nasmformat.bin.t @@ -0,0 +1 @@ +This is binary format file
\ No newline at end of file diff --git a/travis/test/nasmformat.json b/travis/test/nasmformat.json new file mode 100644 index 00000000..7ef555fc --- /dev/null +++ b/travis/test/nasmformat.json @@ -0,0 +1,44 @@ +[ + { + "description": "Test __OUTPUT_FORMAT__ directive (bin)", + "id": "nasmformat", + "format": "bin", + "source": "nasmformat.asm", + "option": "-Ox", + "target": [ + { "output": "nasmformat.bin" } + ] + }, + { + "description": "Test __OUTPUT_FORMAT__ directive (elf32)", + "ref": "nasmformat", + "format": "elf32", + "target": [ + { "output": "nasmformat-elf32.o" } + ] + }, + { + "description": "Test __OUTPUT_FORMAT__ directive (elf64)", + "ref": "nasmformat", + "format": "elf64", + "target": [ + { "output": "nasmformat-elf64.o" } + ] + }, + { + "description": "Test __OUTPUT_FORMAT__ directive (macho32)", + "ref": "nasmformat", + "format": "macho32", + "target": [ + { "output": "nasmformat-macho32.o" } + ] + }, + { + "description": "Test __OUTPUT_FORMAT__ directive (macho64)", + "ref": "nasmformat", + "format": "macho64", + "target": [ + { "output": "nasmformat-macho64.o" } + ] + } +] diff --git a/travis/test/newrdwr.asm b/travis/test/newrdwr.asm new file mode 100644 index 00000000..eed59c9c --- /dev/null +++ b/travis/test/newrdwr.asm @@ -0,0 +1,22 @@ + bits 64 + + rdfsbase eax + rdfsbase rax + rdgsbase eax + rdgsbase rax + rdrand ax + rdrand eax + rdrand rax + wrfsbase eax + wrfsbase rax + wrgsbase eax + wrgsbase rax + + osp rdfsbase eax + osp rdfsbase rax + osp rdgsbase eax + osp rdgsbase rax + osp wrfsbase eax + osp wrfsbase rax + osp wrgsbase eax + osp wrgsbase rax diff --git a/travis/test/newrdwr.bin.t b/travis/test/newrdwr.bin.t new file mode 100644 index 00000000..b0dbab88 --- /dev/null +++ b/travis/test/newrdwr.bin.t @@ -0,0 +1 @@ +HHfHHHffHffHffHffH
\ No newline at end of file diff --git a/travis/test/newrdwr.json b/travis/test/newrdwr.json new file mode 100644 index 00000000..8cb8b539 --- /dev/null +++ b/travis/test/newrdwr.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test rdfsbase, wrfsbase", + "id": "newrdwr", + "format": "bin", + "source": "newrdwr.asm", + "target": [ + { "output": "newrdwr.bin" } + ] + } +] diff --git a/travis/test/nop.asm b/travis/test/nop.asm new file mode 100644 index 00000000..c5c37363 --- /dev/null +++ b/travis/test/nop.asm @@ -0,0 +1,14 @@ + bits 64 + + nop + o64 nop + pause + o64 pause + + xchg ax,ax + xchg eax,eax + xchg rax,rax + + rep xchg ax,ax + rep xchg eax,eax + rep xchg rax,rax diff --git a/travis/test/nop.bin.t b/travis/test/nop.bin.t new file mode 100644 index 00000000..b69bae18 --- /dev/null +++ b/travis/test/nop.bin.t @@ -0,0 +1 @@ +HHfHfH
\ No newline at end of file diff --git a/travis/test/nop.json b/travis/test/nop.json new file mode 100644 index 00000000..ba1a7699 --- /dev/null +++ b/travis/test/nop.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test nop instruction", + "id": "nop", + "format": "bin", + "source": "nop.asm", + "option": "-Ox", + "target": [ + { "output": "nop.bin" } + ] + } +] diff --git a/travis/test/null.asm b/travis/test/null.asm new file mode 100644 index 00000000..338d7101 --- /dev/null +++ b/travis/test/null.asm @@ -0,0 +1,3 @@ +; +; A file that produces no output has been known to occationally crash NASM. +; diff --git a/travis/test/null.bin.t b/travis/test/null.bin.t new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/travis/test/null.bin.t diff --git a/travis/test/null.json b/travis/test/null.json new file mode 100644 index 00000000..d2fc94de --- /dev/null +++ b/travis/test/null.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test null file", + "id": "null", + "format": "bin", + "source": "null.asm", + "target": [ + { "output": "null.bin" } + ] + } +] diff --git a/travis/test/obj.asm b/travis/test/obj.asm new file mode 100644 index 00000000..c68f7cbb --- /dev/null +++ b/travis/test/obj.asm @@ -0,0 +1,87 @@ +;Testname=unoptimized; Arguments=-O0 -fobj -oobj.o; Files=stdout stderr obj.o +;Testname=optimized; Arguments=-Ox -fobj -oobj.o; Files=stdout stderr obj.o + +; test source file for assembling to Microsoft 16-bit .OBJ +; build with (16-bit Microsoft C): +; nasm -f obj objtest.asm +; cl /AL objtest.obj objlink.c +; other compilers should work too, provided they handle large +; model in the same way as MS C + +; This file should test the following: +; [1] Define and export a global symbol +; [2] Define a non-global symbol +; [3] Define a common symbol +; [4] Define a NASM local label +; [5] Reference a NASM local label +; [6] Import an external symbol +; [7] Make a PC-relative relocated reference +; [8] Reference a symbol in the same section as itself +; [9] Reference a symbol in a different segment from itself +; [10] Define a segment group +; [11] Take the offset of a symbol in a grouped segment w.r.t. its segment +; [12] Reserve uninitialised data space in a segment +; [13] Directly take the segment address of a segment +; [14] Directly take the segment address of a group +; [15] Use SEG on a non-external +; [16] Use SEG on an external + + bits 16 + + global _bsssym ; [1] + global _function ; [1] + global _selfptr ; [1] + global _selfptr2 ; [1] + common _commvar 2 ; [3] + extern _printf ; [6] + + group mygroup mybss mydata + group mygroup2 mycode mycode2 + + segment mycode private + +_function push bp + mov bp,sp + push ds + mov ax,mygroup ; [14] + mov ds,ax + inc word [_bsssym] ; [9] + mov ax,seg _commvar + mov ds,ax + dec word [_commvar] + pop ds + mov ax,[bp+6] + mov dx,[bp+8] + push dx + push ax + push dx + push ax + call far [cs:.printf] ; [5] [8] + pop ax + pop ax + call trampoline ; [7] + pop ax + pop ax + mov sp,bp + pop bp + retf + +.printf dw _printf, seg _printf ; [2] [4] [16] +.printfd dd _printf, seg _printf ; [2] [4] [16] +.printfq dq _printf, seg _printf ; [2] [4] [16] + + segment mycode2 private + +trampoline: pop ax + push cs + push ax + jmp far _printf + + segment mybss private + +_bsssym resw 64 ; [12] + + segment mydata private + +_selfptr dw _selfptr, seg _selfptr ; [8] [15] +_selfptr2 dw _selfptr2 wrt mydata, mydata ; [11] [13] diff --git a/travis/test/obj.json b/travis/test/obj.json new file mode 100644 index 00000000..5cd4fe50 --- /dev/null +++ b/travis/test/obj.json @@ -0,0 +1,19 @@ +[ + { + "description": "Test 16 bit obj format (-Ox)", + "id": "obj", + "format": "obj", + "source": "obj.asm", + "option": "-Ox", + "target": [ + { "output": "obj.o" }, + { "stderr": "obj.stderr" } + ] + }, + { + "description": "Test obj format (-O0)", + "ref": "obj", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/obj.o.t b/travis/test/obj.o.t Binary files differnew file mode 100644 index 00000000..a91f3ad1 --- /dev/null +++ b/travis/test/obj.o.t diff --git a/travis/test/obj.stderr b/travis/test/obj.stderr new file mode 100644 index 00000000..7aba8112 --- /dev/null +++ b/travis/test/obj.stderr @@ -0,0 +1,3 @@ +./travis/test/obj.asm:70: warning: 32-bit segment relocation zero-extended from 16 bits [-w+zext-reloc] +./travis/test/obj.asm:71: warning: 64-bit unsigned relocation zero-extended from 32 bits [-w+zext-reloc] +./travis/test/obj.asm:71: warning: 64-bit segment relocation zero-extended from 16 bits [-w+zext-reloc]
\ No newline at end of file diff --git a/travis/test/optimization-o0.bin.t b/travis/test/optimization-o0.bin.t Binary files differnew file mode 100644 index 00000000..4fd5ba59 --- /dev/null +++ b/travis/test/optimization-o0.bin.t diff --git a/travis/test/optimization-o1.bin.t b/travis/test/optimization-o1.bin.t Binary files differnew file mode 100644 index 00000000..a630ec2c --- /dev/null +++ b/travis/test/optimization-o1.bin.t diff --git a/travis/test/optimization-ox.bin.t b/travis/test/optimization-ox.bin.t Binary files differnew file mode 100644 index 00000000..d21baf8d --- /dev/null +++ b/travis/test/optimization-ox.bin.t diff --git a/travis/test/optimization.asm b/travis/test/optimization.asm new file mode 100644 index 00000000..0c1451ba --- /dev/null +++ b/travis/test/optimization.asm @@ -0,0 +1,100 @@ +BITS 32 + +; Simple +jmp foo +times 124 nop +foo: + +; Must start short to converge optimally +jmp car +times 127 nop +car: + +; Always near +jmp cdr +times 128 nop +cdr: + + +; Simple +add eax, quux2 - quux1 +quux1: +times 127 nop +quux2: + +; Must start short +corge1: +add eax, corge2 - corge1 +times 127 - 3 nop +corge2: + + +; Simple +lea eax, [bolug2-bolug1] +bolug1: +times 127 nop +bolug2: + +; Must start short +calog1: +lea eax, [calog2-calog1] +times 127 - 3 nop +calog2: + + +; Simple +lea eax, [eax+dolug2-dolug1] +dolug1: +times 127 nop +dolug2: + +; Must start short +ealog1: +lea eax, [eax+ealog2-ealog1] +times 127 - 3 nop +ealog2: + +; Must stay long! +lea eax, [eax+folug2-folug1] +folug1: +times 128 nop +folug2: + +; Must stay long! +galog1: +lea eax, [eax+galog2-galog1] +times 128 - 3 nop +galog2: + +; Sbyte tests... +onetwentysix equ 126 +onetwentynine equ 129 + +add eax,onetwentyseven ; sbyte (forward) +add eax,onetwentyeight ; not sbyte (forward) +add eax,onetwentyseven ; sbyte (forward) +add eax,onetwentysix ; sbyte (backward) +add eax,onetwentynine ; not sbyte (backward) +add ecx,onetwentyseven ; sbyte (forward) +add ecx,onetwentyeight ; not sbyte (forward) +add ecx,onetwentyseven ; sbyte (forward) +add ecx,onetwentysix ; sbyte (backward) +add ecx,onetwentynine ; not sbyte (backward) + +onetwentyseven equ 127 +onetwentyeight equ 128 + +; Simple +add eax, holug2-holug1 +holug1: +times 127 nop +holug2: + +; Must start short +ialog1: +add eax, ialog2-ialog1 +times 127 - 3 nop +ialog2: + +; Do not confuse forward references and segmentless addresses! +jmp 12345 diff --git a/travis/test/optimization.json b/travis/test/optimization.json new file mode 100644 index 00000000..85bb9a82 --- /dev/null +++ b/travis/test/optimization.json @@ -0,0 +1,30 @@ +[ + { + "description": "Test optimization options (-Ox)", + "id": "optimization", + "format": "bin", + "source": "optimization.asm", + "option": "-Ox", + "target": [ + { "output": "optimization-ox.bin" } + ] + }, + { + "description": "Test optimization options (-O0)", + "ref": "optimization", + "source": "optimization.asm", + "option": "-O0", + "target": [ + { "output": "optimization-o0.bin" } + ] + }, + { + "description": "Test optimization options (-O1)", + "ref": "optimization", + "source": "optimization.asm", + "option": "-O1", + "target": [ + { "output": "optimization-o1.bin" } + ] + } +] diff --git a/travis/test/org.asm b/travis/test/org.asm new file mode 100644 index 00000000..6f1fa81a --- /dev/null +++ b/travis/test/org.asm @@ -0,0 +1,15 @@ +; +; Simple test of a 64-bit org directive +; + bits 64 + org 0xffffffffffff0000 + +hello: jmp there + nop + nop +there: + add rax,[rsp+rbx] + inc eax + + section .data +there_ptr dq there diff --git a/travis/test/org.json b/travis/test/org.json new file mode 100644 index 00000000..50e8c311 --- /dev/null +++ b/travis/test/org.json @@ -0,0 +1,19 @@ +[ + { + "description": "Test org directive error (elf64)", + "id": "org", + "format": "elf64", + "source": "org.asm", + "option": "-Ox", + "target": [ + { "stderr": "org.stderr" } + ], + "error": "expected" + }, + { + "description": "Test org directive error (win64)", + "ref": "org", + "format": "win64", + "update": false + } +] diff --git a/travis/test/org.stderr b/travis/test/org.stderr new file mode 100644 index 00000000..431c1fdd --- /dev/null +++ b/travis/test/org.stderr @@ -0,0 +1 @@ +./travis/test/org.asm:5: error: parser: instruction expected
\ No newline at end of file diff --git a/travis/test/pinsr.json b/travis/test/pinsr.json new file mode 100644 index 00000000..0dba125d --- /dev/null +++ b/travis/test/pinsr.json @@ -0,0 +1,29 @@ +[ + { + "description": "Test pinsr instruction in 16 bit mode", + "format": "bin", + "source": "pinsr16.asm", + "option": "-O0", + "target": [ + { "output": "pinsr16.bin" } + ] + }, + { + "description": "Test pinsr instruction in 32 bit mode", + "format": "bin", + "source": "pinsr32.asm", + "option": "-O0", + "target": [ + { "output": "pinsr32.bin" } + ] + }, + { + "description": "Test pinsr instruction in 64 bit mode", + "format": "bin", + "source": "pinsr64.asm", + "option": "-O0", + "target": [ + { "output": "pinsr64.bin" } + ] + } +] diff --git a/travis/test/pinsr16.asm b/travis/test/pinsr16.asm new file mode 100644 index 00000000..f971598c --- /dev/null +++ b/travis/test/pinsr16.asm @@ -0,0 +1,52 @@ + bits 16 + + pinsrw mm0,eax,0 + pinsrw mm1,si,0 + pinsrw mm2,[bx],0 + pinsrw mm3,word [bx],0 + + pinsrb xmm0,eax,0 + pinsrb xmm1,sil,0 +; pinsrb xmm1,bh,0 + pinsrb xmm2,[bx],0 + pinsrb xmm3,byte [bx],0 + + pinsrw xmm0,eax,0 + pinsrw xmm1,si,0 + pinsrw xmm2,[bx],0 + pinsrw xmm3,word [bx],0 + + pinsrd xmm0,eax,0 + pinsrd xmm1,esi,0 + pinsrd xmm2,[bx],0 + pinsrd xmm3,dword [bx],0 + + vpinsrb xmm0,eax,0 + vpinsrb xmm1,bl,0 + vpinsrb xmm2,[bx],0 + vpinsrb xmm3,byte [bx],0 + + vpinsrw xmm0,eax,0 + vpinsrw xmm1,si,0 + vpinsrw xmm2,[bx],0 + vpinsrw xmm3,word [bx],0 + + vpinsrd xmm0,eax,0 + vpinsrd xmm1,esi,0 + vpinsrd xmm2,[bx],0 + vpinsrd xmm3,dword [bx],0 + + vpinsrb xmm4,xmm0,eax,0 + vpinsrb xmm5,xmm1,bl,0 + vpinsrb xmm6,xmm2,[bx],0 + vpinsrb xmm7,xmm3,byte [bx],0 + + vpinsrw xmm4,xmm0,eax,0 + vpinsrw xmm5,xmm1,si,0 + vpinsrw xmm6,xmm2,[bx],0 + vpinsrw xmm7,xmm3,word [bx],0 + + vpinsrd xmm4,xmm0,eax,0 + vpinsrd xmm5,xmm1,esi,0 + vpinsrd xmm6,xmm2,[bx],0 + vpinsrd xmm7,xmm3,dword [bx],0 diff --git a/travis/test/pinsr16.bin.t b/travis/test/pinsr16.bin.t Binary files differnew file mode 100644 index 00000000..f41d0686 --- /dev/null +++ b/travis/test/pinsr16.bin.t diff --git a/travis/test/pinsr32.asm b/travis/test/pinsr32.asm new file mode 100644 index 00000000..834d1866 --- /dev/null +++ b/travis/test/pinsr32.asm @@ -0,0 +1,52 @@ + bits 32 + + pinsrw mm0,eax,0 + pinsrw mm1,si,0 + pinsrw mm2,[ecx],0 + pinsrw mm3,word [ecx],0 + + pinsrb xmm0,eax,0 + pinsrb xmm1,sil,0 +; pinsrb xmm1,bh,0 + pinsrb xmm2,[ecx],0 + pinsrb xmm3,byte [ecx],0 + + pinsrw xmm0,eax,0 + pinsrw xmm1,si,0 + pinsrw xmm2,[ecx],0 + pinsrw xmm3,word [ecx],0 + + pinsrd xmm0,eax,0 + pinsrd xmm1,esi,0 + pinsrd xmm2,[ecx],0 + pinsrd xmm3,dword [ecx],0 + + vpinsrb xmm0,eax,0 + vpinsrb xmm1,bl,0 + vpinsrb xmm2,[ecx],0 + vpinsrb xmm3,byte [ecx],0 + + vpinsrw xmm0,eax,0 + vpinsrw xmm1,si,0 + vpinsrw xmm2,[ecx],0 + vpinsrw xmm3,word [ecx],0 + + vpinsrd xmm0,eax,0 + vpinsrd xmm1,esi,0 + vpinsrd xmm2,[ecx],0 + vpinsrd xmm3,dword [ecx],0 + + vpinsrb xmm4,xmm0,eax,0 + vpinsrb xmm5,xmm1,bl,0 + vpinsrb xmm6,xmm2,[ecx],0 + vpinsrb xmm7,xmm3,byte [ecx],0 + + vpinsrw xmm4,xmm0,eax,0 + vpinsrw xmm5,xmm1,si,0 + vpinsrw xmm6,xmm2,[ecx],0 + vpinsrw xmm7,xmm3,word [ecx],0 + + vpinsrd xmm4,xmm0,eax,0 + vpinsrd xmm5,xmm1,esi,0 + vpinsrd xmm6,xmm2,[ecx],0 + vpinsrd xmm7,xmm3,dword [ecx],0 diff --git a/travis/test/pinsr32.bin.t b/travis/test/pinsr32.bin.t Binary files differnew file mode 100644 index 00000000..dcfe1a1f --- /dev/null +++ b/travis/test/pinsr32.bin.t diff --git a/travis/test/pinsr64.asm b/travis/test/pinsr64.asm new file mode 100644 index 00000000..f0eb7b79 --- /dev/null +++ b/travis/test/pinsr64.asm @@ -0,0 +1,67 @@ + bits 64 + + pinsrw mm0,eax,0 + pinsrw mm1,si,0 + pinsrw mm2,[rcx],0 + pinsrw mm3,word [rcx],0 + + pinsrb xmm0,eax,0 + pinsrb xmm1,sil,0 +; pinsrb xmm1,bh,0 + pinsrb xmm2,[rcx],0 + pinsrb xmm3,byte [rcx],0 + + pinsrw xmm0,eax,0 + pinsrw xmm1,si,0 + pinsrw xmm2,[rcx],0 + pinsrw xmm3,word [rcx],0 + + pinsrd xmm0,eax,0 + pinsrd xmm1,esi,0 + pinsrd xmm2,[rcx],0 + pinsrd xmm3,dword [rcx],0 + + pinsrq xmm0,rax,0 + pinsrq xmm1,rsi,0 + pinsrq xmm2,[rcx],0 + pinsrq xmm3,qword [rcx],0 + + vpinsrb xmm0,eax,0 + vpinsrb xmm1,sil,0 + vpinsrb xmm2,[rcx],0 + vpinsrb xmm3,byte [rcx],0 + + vpinsrw xmm0,eax,0 + vpinsrw xmm1,si,0 + vpinsrw xmm2,[rcx],0 + vpinsrw xmm3,word [rcx],0 + + vpinsrd xmm0,eax,0 + vpinsrd xmm1,esi,0 + vpinsrd xmm2,[rcx],0 + vpinsrd xmm3,dword [rcx],0 + + vpinsrq xmm0,rax,0 + vpinsrq xmm1,rsi,0 + vpinsrq xmm2,[rcx],0 + vpinsrq xmm3,qword [rcx],0 + + vpinsrb xmm4,xmm0,eax,0 + vpinsrb xmm5,xmm1,sil,0 + vpinsrb xmm6,xmm2,[rcx],0 + vpinsrb xmm7,xmm3,byte [rcx],0 + + vpinsrw xmm4,xmm0,eax,0 + vpinsrw xmm5,xmm1,si,0 + vpinsrw xmm6,xmm2,[rcx],0 + vpinsrw xmm7,xmm3,word [rcx],0 + + vpinsrd xmm4,xmm0,eax,0 + vpinsrd xmm5,xmm1,esi,0 + vpinsrd xmm6,xmm2,[rcx],0 + vpinsrd xmm7,xmm3,dword [rcx],0 + + vpinsrq xmm4,xmm0,rax,0 + vpinsrq xmm5,xmm1,rsi,0 + vpinsrq xmm6,xmm2,[rcx],0 + vpinsrq xmm7,xmm3,qword [rdx],0 diff --git a/travis/test/pinsr64.bin.t b/travis/test/pinsr64.bin.t Binary files differnew file mode 100644 index 00000000..b460b97b --- /dev/null +++ b/travis/test/pinsr64.bin.t diff --git a/travis/test/popcnt.asm b/travis/test/popcnt.asm new file mode 100644 index 00000000..54e32f33 --- /dev/null +++ b/travis/test/popcnt.asm @@ -0,0 +1,29 @@ + bits 16 + + popcnt ax,cx + popcnt ax,[si] + popcnt ax,word [si] + popcnt eax,ecx + popcnt eax,[si] + popcnt eax,dword [si] + + bits 32 + + popcnt ax,cx + popcnt ax,[esi] + popcnt ax,word [esi] + popcnt eax,ecx + popcnt eax,[esi] + popcnt eax,dword [esi] + + bits 64 + + popcnt ax,cx + popcnt ax,[rsi] + popcnt ax,word [rsi] + popcnt eax,ecx + popcnt eax,[rsi] + popcnt eax,dword [rsi] + popcnt rax,rcx + popcnt rax,[rsi] + popcnt rax,qword [rsi] diff --git a/travis/test/popcnt.bin.t b/travis/test/popcnt.bin.t new file mode 100644 index 00000000..c305da0e --- /dev/null +++ b/travis/test/popcnt.bin.t @@ -0,0 +1 @@ +fffffffffHHH
\ No newline at end of file diff --git a/travis/test/popcnt.json b/travis/test/popcnt.json new file mode 100644 index 00000000..e53ffe4d --- /dev/null +++ b/travis/test/popcnt.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test popcnt instruction", + "id": "popcnt", + "format": "bin", + "source": "popcnt.asm", + "target": [ + { "output": "popcnt.bin" } + ] + } +] diff --git a/travis/test/prefix66.asm b/travis/test/prefix66.asm new file mode 100644 index 00000000..acd63bf3 --- /dev/null +++ b/travis/test/prefix66.asm @@ -0,0 +1,26 @@ +BITS 16 +cmp ax, 1 +o16 cmp ax, 1 +o32 cmp ax, 1 + +cmp eax, 1 +o16 cmp eax, 1 +o32 cmp eax, 1 + +BITS 32 +cmp ax, 1 +o16 cmp ax, 1 +o32 cmp ax, 1 + +cmp eax, 1 +o16 cmp eax, 1 +o32 cmp eax, 1 + +BITS 64 +cmp ax, 1 +o16 cmp ax, 1 +o32 cmp ax, 1 + +cmp eax, 1 +o16 cmp eax, 1 +o32 cmp eax, 1 diff --git a/travis/test/prefix66.bin.t b/travis/test/prefix66.bin.t new file mode 100644 index 00000000..2f40dc00 --- /dev/null +++ b/travis/test/prefix66.bin.t @@ -0,0 +1 @@ +fffffffff
\ No newline at end of file diff --git a/travis/test/prefix66.json b/travis/test/prefix66.json new file mode 100644 index 00000000..fd100e32 --- /dev/null +++ b/travis/test/prefix66.json @@ -0,0 +1,12 @@ +[ + { + "description": "Test for 0x66 prefixes", + "id": "prefix66", + "format": "bin", + "source": "prefix66.asm", + "target": [ + { "output": "prefix66.bin" }, + { "stderr": "prefix66.stderr" } + ] + } +] diff --git a/travis/test/prefix66.stderr b/travis/test/prefix66.stderr new file mode 100644 index 00000000..0d452455 --- /dev/null +++ b/travis/test/prefix66.stderr @@ -0,0 +1,6 @@ +./travis/test/prefix66.asm:4: warning: invalid operand size prefix [-w+other] +./travis/test/prefix66.asm:7: warning: invalid operand size prefix [-w+other] +./travis/test/prefix66.asm:13: warning: invalid operand size prefix [-w+other] +./travis/test/prefix66.asm:16: warning: invalid operand size prefix [-w+other] +./travis/test/prefix66.asm:22: warning: invalid operand size prefix [-w+other] +./travis/test/prefix66.asm:25: warning: invalid operand size prefix [-w+other]
\ No newline at end of file diff --git a/travis/test/pushseg.asm b/travis/test/pushseg.asm new file mode 100644 index 00000000..7bd7c955 --- /dev/null +++ b/travis/test/pushseg.asm @@ -0,0 +1,17 @@ +;Testname=test; Arguments=-fbin -opushseg.bin; Files=stdout stderr pushseg.bin + + bits 16 + + push cs + push ds + push es + push ss + push fs + push gs + + pop gs + pop fs + pop ss + pop es + pop ds + pop cs ; 8086 only, does not disassemble diff --git a/travis/test/pushseg.bin.t b/travis/test/pushseg.bin.t new file mode 100644 index 00000000..d1b476d0 --- /dev/null +++ b/travis/test/pushseg.bin.t @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/travis/test/pushseg.json b/travis/test/pushseg.json new file mode 100644 index 00000000..657b8b47 --- /dev/null +++ b/travis/test/pushseg.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test push segment", + "id": "pushseg", + "format": "bin", + "source": "pushseg.asm", + "target": [ + { "output": "pushseg.bin" } + ] + } +] diff --git a/travis/test/r13.asm b/travis/test/r13.asm new file mode 100644 index 00000000..7748aa6c --- /dev/null +++ b/travis/test/r13.asm @@ -0,0 +1,13 @@ + bits 64 + mov rax,[rbx] + mov rax,[rbx*4] + mov rax,[rbx+rbx*2] + mov rax,[r13+rbx*2] + mov rax,[rbp] + mov rax,[rbp*4] + mov rax,[rbp+rbp*2] + mov rax,[rbp+r13*2] + mov rax,[r13] + mov rax,[r13*4] + mov rax,[r13+rbp*2] + mov rax,[r13+r13*2] diff --git a/travis/test/r13.bin.t b/travis/test/r13.bin.t Binary files differnew file mode 100644 index 00000000..ea443fc7 --- /dev/null +++ b/travis/test/r13.bin.t diff --git a/travis/test/r13.json b/travis/test/r13.json new file mode 100644 index 00000000..743069aa --- /dev/null +++ b/travis/test/r13.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test r13 register", + "id": "r13", + "format": "bin", + "source": "r13.asm", + "target": [ + { "output": "r13.bin" } + ] + } +] diff --git a/travis/test/radix.asm b/travis/test/radix.asm new file mode 100644 index 00000000..bf48c230 --- /dev/null +++ b/travis/test/radix.asm @@ -0,0 +1,52 @@ + ;; Integer constants... + + dd 1010_0101 ; Decimal + dd 01010_0101 ; Decimal (*not* octal!) + dd 0d1010_0101 ; Decimal + dd 0t1010_0101 ; Decimal + dd 1010_0101d ; Decimal + dd 1010_0101t ; Decimal + + dd 0b1010_0101 ; Binary + dd 0y1010_0101 ; Binary + dd 1010_0101b ; Binary + dd 1010_0101y ; Binary + + dd 0o1010_0101 ; Octal + dd 0q1010_0101 ; Octal + dd 1010_0101o ; Octal + dd 1010_0101q ; Octal + + dd 0h1010_0101 ; Hex + dd 0x1010_0101 ; Hex + dd 1010_0101h ; Hex + dd 1010_0101x ; Hex + dd $1010_0101 ; Hex + + db 0h ; Zero! + db 0x ; Zero! + db 0b ; Zero! + db 0dh ; Hex + db 0bh ; Hex + db 0dx ; Hex + db 0bx ; Hex + db 0hd ; Hex + db 0hb ; Hex + db 0xd ; Hex + db 0xb ; Hex + + ;; Floating-point constants + ;; All of these should output B4A21147 + dd 3.7282705e+4 ; Decimal + dd 00003.7282705e+4 ; Decimal + dd 0d3.7282705e+4 ; Decimal + dd 0t3.7282705e+4 ; Decimal + + dd 0x1.23456789p+15 ; Hex + dd 0h1.23456789p+15 ; Hex + + dd 0o1.10642547422p+15 ; Octal + dd 0q1.10642547422p+15 ; Octal + + dd 0b1.0010_0011_0100_0101_0110_0111_1000_1001p+15 ; Binary + dd 0y1.0010_0011_0100_0101_0110_0111_1000_1001p+15 ; Binary diff --git a/travis/test/radix.bin.t b/travis/test/radix.bin.t Binary files differnew file mode 100644 index 00000000..9056a463 --- /dev/null +++ b/travis/test/radix.bin.t diff --git a/travis/test/radix.json b/travis/test/radix.json new file mode 100644 index 00000000..e09a7d16 --- /dev/null +++ b/travis/test/radix.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test radixes", + "id": "radix", + "format": "bin", + "source": "radix.asm", + "target": [ + { "output": "radix.bin" } + ] + } +] diff --git a/travis/test/riprel.asm b/travis/test/riprel.asm new file mode 100644 index 00000000..757a8dd1 --- /dev/null +++ b/travis/test/riprel.asm @@ -0,0 +1,5357 @@ +;Testname=unoptimized; Arguments=-fbin -oriprel.bin -O0; Files=stdout stderr riprel.bin +;Testname=optimized; Arguments=-fbin -oriprel.bin -Ox; Files=stdout stderr riprel.bin + bits 64 + + default abs + + mov al,[foo] + mov bl,[foo] + mov ax,[foo] + mov bx,[foo] + mov eax,[foo] + mov ebx,[foo] + mov rax,[foo] + mov rbx,[foo] + mov al,[0xaaaaaaaaaaaaaaaa] + mov bl,[0xaaaaaaaaaaaaaaaa] + mov ax,[0xaaaaaaaaaaaaaaaa] + mov bx,[0xaaaaaaaaaaaaaaaa] + mov eax,[0xaaaaaaaaaaaaaaaa] + mov ebx,[0xaaaaaaaaaaaaaaaa] + mov rax,[0xaaaaaaaaaaaaaaaa] + mov rbx,[0xaaaaaaaaaaaaaaaa] + mov al,[0xbbbbbbbb] + mov bl,[0xbbbbbbbb] + mov ax,[0xbbbbbbbb] + mov bx,[0xbbbbbbbb] + mov eax,[0xbbbbbbbb] + mov ebx,[0xbbbbbbbb] + mov rax,[0xbbbbbbbb] + mov rbx,[0xbbbbbbbb] + mov al,[0xffffffffcccccccc] + mov bl,[0xffffffffcccccccc] + mov ax,[0xffffffffcccccccc] + mov bx,[0xffffffffcccccccc] + mov eax,[0xffffffffcccccccc] + mov ebx,[0xffffffffcccccccc] + mov rax,[0xffffffffcccccccc] + mov rbx,[0xffffffffcccccccc] + + mov al,[dword foo] + mov bl,[dword foo] + mov ax,[dword foo] + mov bx,[dword foo] + mov eax,[dword foo] + mov ebx,[dword foo] + mov rax,[dword foo] + mov rbx,[dword foo] + mov al,[dword 0xaaaaaaaaaaaaaaaa] + mov bl,[dword 0xaaaaaaaaaaaaaaaa] + mov ax,[dword 0xaaaaaaaaaaaaaaaa] + mov bx,[dword 0xaaaaaaaaaaaaaaaa] + mov eax,[dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[dword 0xaaaaaaaaaaaaaaaa] + mov rax,[dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[dword 0xaaaaaaaaaaaaaaaa] + mov al,[dword 0xbbbbbbbb] + mov bl,[dword 0xbbbbbbbb] + mov ax,[dword 0xbbbbbbbb] + mov bx,[dword 0xbbbbbbbb] + mov eax,[dword 0xbbbbbbbb] + mov ebx,[dword 0xbbbbbbbb] + mov rax,[dword 0xbbbbbbbb] + mov rbx,[dword 0xbbbbbbbb] + mov al,[dword 0xffffffffcccccccc] + mov bl,[dword 0xffffffffcccccccc] + mov ax,[dword 0xffffffffcccccccc] + mov bx,[dword 0xffffffffcccccccc] + mov eax,[dword 0xffffffffcccccccc] + mov ebx,[dword 0xffffffffcccccccc] + mov rax,[dword 0xffffffffcccccccc] + mov rbx,[dword 0xffffffffcccccccc] + + mov al,[qword foo] + mov bl,[qword foo] + mov ax,[qword foo] + mov bx,[qword foo] + mov eax,[qword foo] + mov ebx,[qword foo] + mov rax,[qword foo] + mov rbx,[qword foo] + mov al,[qword 0xaaaaaaaaaaaaaaaa] + mov bl,[qword 0xaaaaaaaaaaaaaaaa] + mov ax,[qword 0xaaaaaaaaaaaaaaaa] + mov bx,[qword 0xaaaaaaaaaaaaaaaa] + mov eax,[qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[qword 0xaaaaaaaaaaaaaaaa] + mov rax,[qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[qword 0xaaaaaaaaaaaaaaaa] + mov al,[qword 0xbbbbbbbb] + mov bl,[qword 0xbbbbbbbb] + mov ax,[qword 0xbbbbbbbb] + mov bx,[qword 0xbbbbbbbb] + mov eax,[qword 0xbbbbbbbb] + mov ebx,[qword 0xbbbbbbbb] + mov rax,[qword 0xbbbbbbbb] + mov rbx,[qword 0xbbbbbbbb] + mov al,[qword 0xffffffffcccccccc] + mov bl,[qword 0xffffffffcccccccc] + mov ax,[qword 0xffffffffcccccccc] + mov bx,[qword 0xffffffffcccccccc] + mov eax,[qword 0xffffffffcccccccc] + mov ebx,[qword 0xffffffffcccccccc] + mov rax,[qword 0xffffffffcccccccc] + mov rbx,[qword 0xffffffffcccccccc] + + mov al,[a64 foo] + mov bl,[a64 foo] + mov ax,[a64 foo] + mov bx,[a64 foo] + mov eax,[a64 foo] + mov ebx,[a64 foo] + mov rax,[a64 foo] + mov rbx,[a64 foo] + mov al,[a64 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 0xaaaaaaaaaaaaaaaa] + mov al,[a64 0xbbbbbbbb] + mov bl,[a64 0xbbbbbbbb] + mov ax,[a64 0xbbbbbbbb] + mov bx,[a64 0xbbbbbbbb] + mov eax,[a64 0xbbbbbbbb] + mov ebx,[a64 0xbbbbbbbb] + mov rax,[a64 0xbbbbbbbb] + mov rbx,[a64 0xbbbbbbbb] + mov al,[a64 0xffffffffcccccccc] + mov bl,[a64 0xffffffffcccccccc] + mov ax,[a64 0xffffffffcccccccc] + mov bx,[a64 0xffffffffcccccccc] + mov eax,[a64 0xffffffffcccccccc] + mov ebx,[a64 0xffffffffcccccccc] + mov rax,[a64 0xffffffffcccccccc] + mov rbx,[a64 0xffffffffcccccccc] + + mov al,[a64 dword foo] + mov bl,[a64 dword foo] + mov ax,[a64 dword foo] + mov bx,[a64 dword foo] + mov eax,[a64 dword foo] + mov ebx,[a64 dword foo] + mov rax,[a64 dword foo] + mov rbx,[a64 dword foo] + mov al,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 dword 0xbbbbbbbb] + mov bl,[a64 dword 0xbbbbbbbb] + mov ax,[a64 dword 0xbbbbbbbb] + mov bx,[a64 dword 0xbbbbbbbb] + mov eax,[a64 dword 0xbbbbbbbb] + mov ebx,[a64 dword 0xbbbbbbbb] + mov rax,[a64 dword 0xbbbbbbbb] + mov rbx,[a64 dword 0xbbbbbbbb] + mov al,[a64 dword 0xffffffffcccccccc] + mov bl,[a64 dword 0xffffffffcccccccc] + mov ax,[a64 dword 0xffffffffcccccccc] + mov bx,[a64 dword 0xffffffffcccccccc] + mov eax,[a64 dword 0xffffffffcccccccc] + mov ebx,[a64 dword 0xffffffffcccccccc] + mov rax,[a64 dword 0xffffffffcccccccc] + mov rbx,[a64 dword 0xffffffffcccccccc] + + mov al,[a64 qword foo] + mov bl,[a64 qword foo] + mov ax,[a64 qword foo] + mov bx,[a64 qword foo] + mov eax,[a64 qword foo] + mov ebx,[a64 qword foo] + mov rax,[a64 qword foo] + mov rbx,[a64 qword foo] + mov al,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 qword 0xbbbbbbbb] + mov bl,[a64 qword 0xbbbbbbbb] + mov ax,[a64 qword 0xbbbbbbbb] + mov bx,[a64 qword 0xbbbbbbbb] + mov eax,[a64 qword 0xbbbbbbbb] + mov ebx,[a64 qword 0xbbbbbbbb] + mov rax,[a64 qword 0xbbbbbbbb] + mov rbx,[a64 qword 0xbbbbbbbb] + mov al,[a64 qword 0xffffffffcccccccc] + mov bl,[a64 qword 0xffffffffcccccccc] + mov ax,[a64 qword 0xffffffffcccccccc] + mov bx,[a64 qword 0xffffffffcccccccc] + mov eax,[a64 qword 0xffffffffcccccccc] + mov ebx,[a64 qword 0xffffffffcccccccc] + mov rax,[a64 qword 0xffffffffcccccccc] + mov rbx,[a64 qword 0xffffffffcccccccc] + + mov al,[a32 foo] + mov bl,[a32 foo] + mov ax,[a32 foo] + mov bx,[a32 foo] + mov eax,[a32 foo] + mov ebx,[a32 foo] + mov rax,[a32 foo] + mov rbx,[a32 foo] + mov al,[a32 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 0xaaaaaaaaaaaaaaaa] + mov al,[a32 0xbbbbbbbb] + mov bl,[a32 0xbbbbbbbb] + mov ax,[a32 0xbbbbbbbb] + mov bx,[a32 0xbbbbbbbb] + mov eax,[a32 0xbbbbbbbb] + mov ebx,[a32 0xbbbbbbbb] + mov rax,[a32 0xbbbbbbbb] + mov rbx,[a32 0xbbbbbbbb] + mov al,[a32 0xffffffffcccccccc] + mov bl,[a32 0xffffffffcccccccc] + mov ax,[a32 0xffffffffcccccccc] + mov bx,[a32 0xffffffffcccccccc] + mov eax,[a32 0xffffffffcccccccc] + mov ebx,[a32 0xffffffffcccccccc] + mov rax,[a32 0xffffffffcccccccc] + mov rbx,[a32 0xffffffffcccccccc] + + mov al,[a32 dword foo] + mov bl,[a32 dword foo] + mov ax,[a32 dword foo] + mov bx,[a32 dword foo] + mov eax,[a32 dword foo] + mov ebx,[a32 dword foo] + mov rax,[a32 dword foo] + mov rbx,[a32 dword foo] + mov al,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 dword 0xbbbbbbbb] + mov bl,[a32 dword 0xbbbbbbbb] + mov ax,[a32 dword 0xbbbbbbbb] + mov bx,[a32 dword 0xbbbbbbbb] + mov eax,[a32 dword 0xbbbbbbbb] + mov ebx,[a32 dword 0xbbbbbbbb] + mov rax,[a32 dword 0xbbbbbbbb] + mov rbx,[a32 dword 0xbbbbbbbb] + mov al,[a32 dword 0xffffffffcccccccc] + mov bl,[a32 dword 0xffffffffcccccccc] + mov ax,[a32 dword 0xffffffffcccccccc] + mov bx,[a32 dword 0xffffffffcccccccc] + mov eax,[a32 dword 0xffffffffcccccccc] + mov ebx,[a32 dword 0xffffffffcccccccc] + mov rax,[a32 dword 0xffffffffcccccccc] + mov rbx,[a32 dword 0xffffffffcccccccc] + + mov al,[a32 qword foo] + mov bl,[a32 qword foo] + mov ax,[a32 qword foo] + mov bx,[a32 qword foo] + mov eax,[a32 qword foo] + mov ebx,[a32 qword foo] + mov rax,[a32 qword foo] + mov rbx,[a32 qword foo] + mov al,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 qword 0xbbbbbbbb] + mov bl,[a32 qword 0xbbbbbbbb] + mov ax,[a32 qword 0xbbbbbbbb] + mov bx,[a32 qword 0xbbbbbbbb] + mov eax,[a32 qword 0xbbbbbbbb] + mov ebx,[a32 qword 0xbbbbbbbb] + mov rax,[a32 qword 0xbbbbbbbb] + mov rbx,[a32 qword 0xbbbbbbbb] + mov al,[a32 qword 0xffffffffcccccccc] + mov bl,[a32 qword 0xffffffffcccccccc] + mov ax,[a32 qword 0xffffffffcccccccc] + mov bx,[a32 qword 0xffffffffcccccccc] + mov eax,[a32 qword 0xffffffffcccccccc] + mov ebx,[a32 qword 0xffffffffcccccccc] + mov rax,[a32 qword 0xffffffffcccccccc] + mov rbx,[a32 qword 0xffffffffcccccccc] + + mov al,[abs foo] + mov bl,[abs foo] + mov ax,[abs foo] + mov bx,[abs foo] + mov eax,[abs foo] + mov ebx,[abs foo] + mov rax,[abs foo] + mov rbx,[abs foo] + mov al,[abs 0xaaaaaaaaaaaaaaaa] + mov bl,[abs 0xaaaaaaaaaaaaaaaa] + mov ax,[abs 0xaaaaaaaaaaaaaaaa] + mov bx,[abs 0xaaaaaaaaaaaaaaaa] + mov eax,[abs 0xaaaaaaaaaaaaaaaa] + mov ebx,[abs 0xaaaaaaaaaaaaaaaa] + mov rax,[abs 0xaaaaaaaaaaaaaaaa] + mov rbx,[abs 0xaaaaaaaaaaaaaaaa] + mov al,[abs 0xbbbbbbbb] + mov bl,[abs 0xbbbbbbbb] + mov ax,[abs 0xbbbbbbbb] + mov bx,[abs 0xbbbbbbbb] + mov eax,[abs 0xbbbbbbbb] + mov ebx,[abs 0xbbbbbbbb] + mov rax,[abs 0xbbbbbbbb] + mov rbx,[abs 0xbbbbbbbb] + mov al,[abs 0xffffffffcccccccc] + mov bl,[abs 0xffffffffcccccccc] + mov ax,[abs 0xffffffffcccccccc] + mov bx,[abs 0xffffffffcccccccc] + mov eax,[abs 0xffffffffcccccccc] + mov ebx,[abs 0xffffffffcccccccc] + mov rax,[abs 0xffffffffcccccccc] + mov rbx,[abs 0xffffffffcccccccc] + + mov al,[abs dword foo] + mov bl,[abs dword foo] + mov ax,[abs dword foo] + mov bx,[abs dword foo] + mov eax,[abs dword foo] + mov ebx,[abs dword foo] + mov rax,[abs dword foo] + mov rbx,[abs dword foo] + mov al,[abs dword 0xaaaaaaaaaaaaaaaa] + mov bl,[abs dword 0xaaaaaaaaaaaaaaaa] + mov ax,[abs dword 0xaaaaaaaaaaaaaaaa] + mov bx,[abs dword 0xaaaaaaaaaaaaaaaa] + mov eax,[abs dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[abs dword 0xaaaaaaaaaaaaaaaa] + mov rax,[abs dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[abs dword 0xaaaaaaaaaaaaaaaa] + mov al,[abs dword 0xbbbbbbbb] + mov bl,[abs dword 0xbbbbbbbb] + mov ax,[abs dword 0xbbbbbbbb] + mov bx,[abs dword 0xbbbbbbbb] + mov eax,[abs dword 0xbbbbbbbb] + mov ebx,[abs dword 0xbbbbbbbb] + mov rax,[abs dword 0xbbbbbbbb] + mov rbx,[abs dword 0xbbbbbbbb] + mov al,[abs dword 0xffffffffcccccccc] + mov bl,[abs dword 0xffffffffcccccccc] + mov ax,[abs dword 0xffffffffcccccccc] + mov bx,[abs dword 0xffffffffcccccccc] + mov eax,[abs dword 0xffffffffcccccccc] + mov ebx,[abs dword 0xffffffffcccccccc] + mov rax,[abs dword 0xffffffffcccccccc] + mov rbx,[abs dword 0xffffffffcccccccc] + + mov al,[abs qword foo] + mov bl,[abs qword foo] + mov ax,[abs qword foo] + mov bx,[abs qword foo] + mov eax,[abs qword foo] + mov ebx,[abs qword foo] + mov rax,[abs qword foo] + mov rbx,[abs qword foo] + mov al,[abs qword 0xaaaaaaaaaaaaaaaa] + mov bl,[abs qword 0xaaaaaaaaaaaaaaaa] + mov ax,[abs qword 0xaaaaaaaaaaaaaaaa] + mov bx,[abs qword 0xaaaaaaaaaaaaaaaa] + mov eax,[abs qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[abs qword 0xaaaaaaaaaaaaaaaa] + mov rax,[abs qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[abs qword 0xaaaaaaaaaaaaaaaa] + mov al,[abs qword 0xbbbbbbbb] + mov bl,[abs qword 0xbbbbbbbb] + mov ax,[abs qword 0xbbbbbbbb] + mov bx,[abs qword 0xbbbbbbbb] + mov eax,[abs qword 0xbbbbbbbb] + mov ebx,[abs qword 0xbbbbbbbb] + mov rax,[abs qword 0xbbbbbbbb] + mov rbx,[abs qword 0xbbbbbbbb] + mov al,[abs qword 0xffffffffcccccccc] + mov bl,[abs qword 0xffffffffcccccccc] + mov ax,[abs qword 0xffffffffcccccccc] + mov bx,[abs qword 0xffffffffcccccccc] + mov eax,[abs qword 0xffffffffcccccccc] + mov ebx,[abs qword 0xffffffffcccccccc] + mov rax,[abs qword 0xffffffffcccccccc] + mov rbx,[abs qword 0xffffffffcccccccc] + + mov al,[a64 abs foo] + mov bl,[a64 abs foo] + mov ax,[a64 abs foo] + mov bx,[a64 abs foo] + mov eax,[a64 abs foo] + mov ebx,[a64 abs foo] + mov rax,[a64 abs foo] + mov rbx,[a64 abs foo] + mov al,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs 0xbbbbbbbb] + mov bl,[a64 abs 0xbbbbbbbb] + mov ax,[a64 abs 0xbbbbbbbb] + mov bx,[a64 abs 0xbbbbbbbb] + mov eax,[a64 abs 0xbbbbbbbb] + mov ebx,[a64 abs 0xbbbbbbbb] + mov rax,[a64 abs 0xbbbbbbbb] + mov rbx,[a64 abs 0xbbbbbbbb] + mov al,[a64 abs 0xffffffffcccccccc] + mov bl,[a64 abs 0xffffffffcccccccc] + mov ax,[a64 abs 0xffffffffcccccccc] + mov bx,[a64 abs 0xffffffffcccccccc] + mov eax,[a64 abs 0xffffffffcccccccc] + mov ebx,[a64 abs 0xffffffffcccccccc] + mov rax,[a64 abs 0xffffffffcccccccc] + mov rbx,[a64 abs 0xffffffffcccccccc] + + mov al,[a64 abs dword foo] + mov bl,[a64 abs dword foo] + mov ax,[a64 abs dword foo] + mov bx,[a64 abs dword foo] + mov eax,[a64 abs dword foo] + mov ebx,[a64 abs dword foo] + mov rax,[a64 abs dword foo] + mov rbx,[a64 abs dword foo] + mov al,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs dword 0xbbbbbbbb] + mov bl,[a64 abs dword 0xbbbbbbbb] + mov ax,[a64 abs dword 0xbbbbbbbb] + mov bx,[a64 abs dword 0xbbbbbbbb] + mov eax,[a64 abs dword 0xbbbbbbbb] + mov ebx,[a64 abs dword 0xbbbbbbbb] + mov rax,[a64 abs dword 0xbbbbbbbb] + mov rbx,[a64 abs dword 0xbbbbbbbb] + mov al,[a64 abs dword 0xffffffffcccccccc] + mov bl,[a64 abs dword 0xffffffffcccccccc] + mov ax,[a64 abs dword 0xffffffffcccccccc] + mov bx,[a64 abs dword 0xffffffffcccccccc] + mov eax,[a64 abs dword 0xffffffffcccccccc] + mov ebx,[a64 abs dword 0xffffffffcccccccc] + mov rax,[a64 abs dword 0xffffffffcccccccc] + mov rbx,[a64 abs dword 0xffffffffcccccccc] + + mov al,[a64 abs qword foo] + mov bl,[a64 abs qword foo] + mov ax,[a64 abs qword foo] + mov bx,[a64 abs qword foo] + mov eax,[a64 abs qword foo] + mov ebx,[a64 abs qword foo] + mov rax,[a64 abs qword foo] + mov rbx,[a64 abs qword foo] + mov al,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs qword 0xbbbbbbbb] + mov bl,[a64 abs qword 0xbbbbbbbb] + mov ax,[a64 abs qword 0xbbbbbbbb] + mov bx,[a64 abs qword 0xbbbbbbbb] + mov eax,[a64 abs qword 0xbbbbbbbb] + mov ebx,[a64 abs qword 0xbbbbbbbb] + mov rax,[a64 abs qword 0xbbbbbbbb] + mov rbx,[a64 abs qword 0xbbbbbbbb] + mov al,[a64 abs qword 0xffffffffcccccccc] + mov bl,[a64 abs qword 0xffffffffcccccccc] + mov ax,[a64 abs qword 0xffffffffcccccccc] + mov bx,[a64 abs qword 0xffffffffcccccccc] + mov eax,[a64 abs qword 0xffffffffcccccccc] + mov ebx,[a64 abs qword 0xffffffffcccccccc] + mov rax,[a64 abs qword 0xffffffffcccccccc] + mov rbx,[a64 abs qword 0xffffffffcccccccc] + + mov al,[a32 abs foo] + mov bl,[a32 abs foo] + mov ax,[a32 abs foo] + mov bx,[a32 abs foo] + mov eax,[a32 abs foo] + mov ebx,[a32 abs foo] + mov rax,[a32 abs foo] + mov rbx,[a32 abs foo] + mov al,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs 0xbbbbbbbb] + mov bl,[a32 abs 0xbbbbbbbb] + mov ax,[a32 abs 0xbbbbbbbb] + mov bx,[a32 abs 0xbbbbbbbb] + mov eax,[a32 abs 0xbbbbbbbb] + mov ebx,[a32 abs 0xbbbbbbbb] + mov rax,[a32 abs 0xbbbbbbbb] + mov rbx,[a32 abs 0xbbbbbbbb] + mov al,[a32 abs 0xffffffffcccccccc] + mov bl,[a32 abs 0xffffffffcccccccc] + mov ax,[a32 abs 0xffffffffcccccccc] + mov bx,[a32 abs 0xffffffffcccccccc] + mov eax,[a32 abs 0xffffffffcccccccc] + mov ebx,[a32 abs 0xffffffffcccccccc] + mov rax,[a32 abs 0xffffffffcccccccc] + mov rbx,[a32 abs 0xffffffffcccccccc] + + mov al,[a32 abs dword foo] + mov bl,[a32 abs dword foo] + mov ax,[a32 abs dword foo] + mov bx,[a32 abs dword foo] + mov eax,[a32 abs dword foo] + mov ebx,[a32 abs dword foo] + mov rax,[a32 abs dword foo] + mov rbx,[a32 abs dword foo] + mov al,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs dword 0xbbbbbbbb] + mov bl,[a32 abs dword 0xbbbbbbbb] + mov ax,[a32 abs dword 0xbbbbbbbb] + mov bx,[a32 abs dword 0xbbbbbbbb] + mov eax,[a32 abs dword 0xbbbbbbbb] + mov ebx,[a32 abs dword 0xbbbbbbbb] + mov rax,[a32 abs dword 0xbbbbbbbb] + mov rbx,[a32 abs dword 0xbbbbbbbb] + mov al,[a32 abs dword 0xffffffffcccccccc] + mov bl,[a32 abs dword 0xffffffffcccccccc] + mov ax,[a32 abs dword 0xffffffffcccccccc] + mov bx,[a32 abs dword 0xffffffffcccccccc] + mov eax,[a32 abs dword 0xffffffffcccccccc] + mov ebx,[a32 abs dword 0xffffffffcccccccc] + mov rax,[a32 abs dword 0xffffffffcccccccc] + mov rbx,[a32 abs dword 0xffffffffcccccccc] + + mov al,[a32 abs qword foo] + mov bl,[a32 abs qword foo] + mov ax,[a32 abs qword foo] + mov bx,[a32 abs qword foo] + mov eax,[a32 abs qword foo] + mov ebx,[a32 abs qword foo] + mov rax,[a32 abs qword foo] + mov rbx,[a32 abs qword foo] + mov al,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs qword 0xbbbbbbbb] + mov bl,[a32 abs qword 0xbbbbbbbb] + mov ax,[a32 abs qword 0xbbbbbbbb] + mov bx,[a32 abs qword 0xbbbbbbbb] + mov eax,[a32 abs qword 0xbbbbbbbb] + mov ebx,[a32 abs qword 0xbbbbbbbb] + mov rax,[a32 abs qword 0xbbbbbbbb] + mov rbx,[a32 abs qword 0xbbbbbbbb] + mov al,[a32 abs qword 0xffffffffcccccccc] + mov bl,[a32 abs qword 0xffffffffcccccccc] + mov ax,[a32 abs qword 0xffffffffcccccccc] + mov bx,[a32 abs qword 0xffffffffcccccccc] + mov eax,[a32 abs qword 0xffffffffcccccccc] + mov ebx,[a32 abs qword 0xffffffffcccccccc] + mov rax,[a32 abs qword 0xffffffffcccccccc] + mov rbx,[a32 abs qword 0xffffffffcccccccc] + + mov al,[rel foo] + mov bl,[rel foo] + mov ax,[rel foo] + mov bx,[rel foo] + mov eax,[rel foo] + mov ebx,[rel foo] + mov rax,[rel foo] + mov rbx,[rel foo] + mov al,[rel 0xaaaaaaaaaaaaaaaa] + mov bl,[rel 0xaaaaaaaaaaaaaaaa] + mov ax,[rel 0xaaaaaaaaaaaaaaaa] + mov bx,[rel 0xaaaaaaaaaaaaaaaa] + mov eax,[rel 0xaaaaaaaaaaaaaaaa] + mov ebx,[rel 0xaaaaaaaaaaaaaaaa] + mov rax,[rel 0xaaaaaaaaaaaaaaaa] + mov rbx,[rel 0xaaaaaaaaaaaaaaaa] + mov al,[rel 0xbbbbbbbb] + mov bl,[rel 0xbbbbbbbb] + mov ax,[rel 0xbbbbbbbb] + mov bx,[rel 0xbbbbbbbb] + mov eax,[rel 0xbbbbbbbb] + mov ebx,[rel 0xbbbbbbbb] + mov rax,[rel 0xbbbbbbbb] + mov rbx,[rel 0xbbbbbbbb] + mov al,[rel 0xffffffffcccccccc] + mov bl,[rel 0xffffffffcccccccc] + mov ax,[rel 0xffffffffcccccccc] + mov bx,[rel 0xffffffffcccccccc] + mov eax,[rel 0xffffffffcccccccc] + mov ebx,[rel 0xffffffffcccccccc] + mov rax,[rel 0xffffffffcccccccc] + mov rbx,[rel 0xffffffffcccccccc] + + mov al,[rel dword foo] + mov bl,[rel dword foo] + mov ax,[rel dword foo] + mov bx,[rel dword foo] + mov eax,[rel dword foo] + mov ebx,[rel dword foo] + mov rax,[rel dword foo] + mov rbx,[rel dword foo] + mov al,[rel dword 0xaaaaaaaaaaaaaaaa] + mov bl,[rel dword 0xaaaaaaaaaaaaaaaa] + mov ax,[rel dword 0xaaaaaaaaaaaaaaaa] + mov bx,[rel dword 0xaaaaaaaaaaaaaaaa] + mov eax,[rel dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[rel dword 0xaaaaaaaaaaaaaaaa] + mov rax,[rel dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[rel dword 0xaaaaaaaaaaaaaaaa] + mov al,[rel dword 0xbbbbbbbb] + mov bl,[rel dword 0xbbbbbbbb] + mov ax,[rel dword 0xbbbbbbbb] + mov bx,[rel dword 0xbbbbbbbb] + mov eax,[rel dword 0xbbbbbbbb] + mov ebx,[rel dword 0xbbbbbbbb] + mov rax,[rel dword 0xbbbbbbbb] + mov rbx,[rel dword 0xbbbbbbbb] + mov al,[rel dword 0xffffffffcccccccc] + mov bl,[rel dword 0xffffffffcccccccc] + mov ax,[rel dword 0xffffffffcccccccc] + mov bx,[rel dword 0xffffffffcccccccc] + mov eax,[rel dword 0xffffffffcccccccc] + mov ebx,[rel dword 0xffffffffcccccccc] + mov rax,[rel dword 0xffffffffcccccccc] + mov rbx,[rel dword 0xffffffffcccccccc] + + mov al,[rel qword foo] + mov bl,[rel qword foo] + mov ax,[rel qword foo] + mov bx,[rel qword foo] + mov eax,[rel qword foo] + mov ebx,[rel qword foo] + mov rax,[rel qword foo] + mov rbx,[rel qword foo] + mov al,[rel qword 0xaaaaaaaaaaaaaaaa] + mov bl,[rel qword 0xaaaaaaaaaaaaaaaa] + mov ax,[rel qword 0xaaaaaaaaaaaaaaaa] + mov bx,[rel qword 0xaaaaaaaaaaaaaaaa] + mov eax,[rel qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[rel qword 0xaaaaaaaaaaaaaaaa] + mov rax,[rel qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[rel qword 0xaaaaaaaaaaaaaaaa] + mov al,[rel qword 0xbbbbbbbb] + mov bl,[rel qword 0xbbbbbbbb] + mov ax,[rel qword 0xbbbbbbbb] + mov bx,[rel qword 0xbbbbbbbb] + mov eax,[rel qword 0xbbbbbbbb] + mov ebx,[rel qword 0xbbbbbbbb] + mov rax,[rel qword 0xbbbbbbbb] + mov rbx,[rel qword 0xbbbbbbbb] + mov al,[rel qword 0xffffffffcccccccc] + mov bl,[rel qword 0xffffffffcccccccc] + mov ax,[rel qword 0xffffffffcccccccc] + mov bx,[rel qword 0xffffffffcccccccc] + mov eax,[rel qword 0xffffffffcccccccc] + mov ebx,[rel qword 0xffffffffcccccccc] + mov rax,[rel qword 0xffffffffcccccccc] + mov rbx,[rel qword 0xffffffffcccccccc] + + mov al,[a64 rel foo] + mov bl,[a64 rel foo] + mov ax,[a64 rel foo] + mov bx,[a64 rel foo] + mov eax,[a64 rel foo] + mov ebx,[a64 rel foo] + mov rax,[a64 rel foo] + mov rbx,[a64 rel foo] + mov al,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel 0xbbbbbbbb] + mov bl,[a64 rel 0xbbbbbbbb] + mov ax,[a64 rel 0xbbbbbbbb] + mov bx,[a64 rel 0xbbbbbbbb] + mov eax,[a64 rel 0xbbbbbbbb] + mov ebx,[a64 rel 0xbbbbbbbb] + mov rax,[a64 rel 0xbbbbbbbb] + mov rbx,[a64 rel 0xbbbbbbbb] + mov al,[a64 rel 0xffffffffcccccccc] + mov bl,[a64 rel 0xffffffffcccccccc] + mov ax,[a64 rel 0xffffffffcccccccc] + mov bx,[a64 rel 0xffffffffcccccccc] + mov eax,[a64 rel 0xffffffffcccccccc] + mov ebx,[a64 rel 0xffffffffcccccccc] + mov rax,[a64 rel 0xffffffffcccccccc] + mov rbx,[a64 rel 0xffffffffcccccccc] + + mov al,[a64 rel dword foo] + mov bl,[a64 rel dword foo] + mov ax,[a64 rel dword foo] + mov bx,[a64 rel dword foo] + mov eax,[a64 rel dword foo] + mov ebx,[a64 rel dword foo] + mov rax,[a64 rel dword foo] + mov rbx,[a64 rel dword foo] + mov al,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel dword 0xbbbbbbbb] + mov bl,[a64 rel dword 0xbbbbbbbb] + mov ax,[a64 rel dword 0xbbbbbbbb] + mov bx,[a64 rel dword 0xbbbbbbbb] + mov eax,[a64 rel dword 0xbbbbbbbb] + mov ebx,[a64 rel dword 0xbbbbbbbb] + mov rax,[a64 rel dword 0xbbbbbbbb] + mov rbx,[a64 rel dword 0xbbbbbbbb] + mov al,[a64 rel dword 0xffffffffcccccccc] + mov bl,[a64 rel dword 0xffffffffcccccccc] + mov ax,[a64 rel dword 0xffffffffcccccccc] + mov bx,[a64 rel dword 0xffffffffcccccccc] + mov eax,[a64 rel dword 0xffffffffcccccccc] + mov ebx,[a64 rel dword 0xffffffffcccccccc] + mov rax,[a64 rel dword 0xffffffffcccccccc] + mov rbx,[a64 rel dword 0xffffffffcccccccc] + + mov al,[a64 rel qword foo] + mov bl,[a64 rel qword foo] + mov ax,[a64 rel qword foo] + mov bx,[a64 rel qword foo] + mov eax,[a64 rel qword foo] + mov ebx,[a64 rel qword foo] + mov rax,[a64 rel qword foo] + mov rbx,[a64 rel qword foo] + mov al,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel qword 0xbbbbbbbb] + mov bl,[a64 rel qword 0xbbbbbbbb] + mov ax,[a64 rel qword 0xbbbbbbbb] + mov bx,[a64 rel qword 0xbbbbbbbb] + mov eax,[a64 rel qword 0xbbbbbbbb] + mov ebx,[a64 rel qword 0xbbbbbbbb] + mov rax,[a64 rel qword 0xbbbbbbbb] + mov rbx,[a64 rel qword 0xbbbbbbbb] + mov al,[a64 rel qword 0xffffffffcccccccc] + mov bl,[a64 rel qword 0xffffffffcccccccc] + mov ax,[a64 rel qword 0xffffffffcccccccc] + mov bx,[a64 rel qword 0xffffffffcccccccc] + mov eax,[a64 rel qword 0xffffffffcccccccc] + mov ebx,[a64 rel qword 0xffffffffcccccccc] + mov rax,[a64 rel qword 0xffffffffcccccccc] + mov rbx,[a64 rel qword 0xffffffffcccccccc] + + mov al,[a32 rel foo] + mov bl,[a32 rel foo] + mov ax,[a32 rel foo] + mov bx,[a32 rel foo] + mov eax,[a32 rel foo] + mov ebx,[a32 rel foo] + mov rax,[a32 rel foo] + mov rbx,[a32 rel foo] + mov al,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel 0xbbbbbbbb] + mov bl,[a32 rel 0xbbbbbbbb] + mov ax,[a32 rel 0xbbbbbbbb] + mov bx,[a32 rel 0xbbbbbbbb] + mov eax,[a32 rel 0xbbbbbbbb] + mov ebx,[a32 rel 0xbbbbbbbb] + mov rax,[a32 rel 0xbbbbbbbb] + mov rbx,[a32 rel 0xbbbbbbbb] + mov al,[a32 rel 0xffffffffcccccccc] + mov bl,[a32 rel 0xffffffffcccccccc] + mov ax,[a32 rel 0xffffffffcccccccc] + mov bx,[a32 rel 0xffffffffcccccccc] + mov eax,[a32 rel 0xffffffffcccccccc] + mov ebx,[a32 rel 0xffffffffcccccccc] + mov rax,[a32 rel 0xffffffffcccccccc] + mov rbx,[a32 rel 0xffffffffcccccccc] + + mov al,[a32 rel dword foo] + mov bl,[a32 rel dword foo] + mov ax,[a32 rel dword foo] + mov bx,[a32 rel dword foo] + mov eax,[a32 rel dword foo] + mov ebx,[a32 rel dword foo] + mov rax,[a32 rel dword foo] + mov rbx,[a32 rel dword foo] + mov al,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel dword 0xbbbbbbbb] + mov bl,[a32 rel dword 0xbbbbbbbb] + mov ax,[a32 rel dword 0xbbbbbbbb] + mov bx,[a32 rel dword 0xbbbbbbbb] + mov eax,[a32 rel dword 0xbbbbbbbb] + mov ebx,[a32 rel dword 0xbbbbbbbb] + mov rax,[a32 rel dword 0xbbbbbbbb] + mov rbx,[a32 rel dword 0xbbbbbbbb] + mov al,[a32 rel dword 0xffffffffcccccccc] + mov bl,[a32 rel dword 0xffffffffcccccccc] + mov ax,[a32 rel dword 0xffffffffcccccccc] + mov bx,[a32 rel dword 0xffffffffcccccccc] + mov eax,[a32 rel dword 0xffffffffcccccccc] + mov ebx,[a32 rel dword 0xffffffffcccccccc] + mov rax,[a32 rel dword 0xffffffffcccccccc] + mov rbx,[a32 rel dword 0xffffffffcccccccc] + + mov al,[a32 rel qword foo] + mov bl,[a32 rel qword foo] + mov ax,[a32 rel qword foo] + mov bx,[a32 rel qword foo] + mov eax,[a32 rel qword foo] + mov ebx,[a32 rel qword foo] + mov rax,[a32 rel qword foo] + mov rbx,[a32 rel qword foo] + mov al,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel qword 0xbbbbbbbb] + mov bl,[a32 rel qword 0xbbbbbbbb] + mov ax,[a32 rel qword 0xbbbbbbbb] + mov bx,[a32 rel qword 0xbbbbbbbb] + mov eax,[a32 rel qword 0xbbbbbbbb] + mov ebx,[a32 rel qword 0xbbbbbbbb] + mov rax,[a32 rel qword 0xbbbbbbbb] + mov rbx,[a32 rel qword 0xbbbbbbbb] + mov al,[a32 rel qword 0xffffffffcccccccc] + mov bl,[a32 rel qword 0xffffffffcccccccc] + mov ax,[a32 rel qword 0xffffffffcccccccc] + mov bx,[a32 rel qword 0xffffffffcccccccc] + mov eax,[a32 rel qword 0xffffffffcccccccc] + mov ebx,[a32 rel qword 0xffffffffcccccccc] + mov rax,[a32 rel qword 0xffffffffcccccccc] + mov rbx,[a32 rel qword 0xffffffffcccccccc] + + mov al,[fs:foo] + mov bl,[fs:foo] + mov ax,[fs:foo] + mov bx,[fs:foo] + mov eax,[fs:foo] + mov ebx,[fs:foo] + mov rax,[fs:foo] + mov rbx,[fs:foo] + mov al,[fs:0xaaaaaaaaaaaaaaaa] + mov bl,[fs:0xaaaaaaaaaaaaaaaa] + mov ax,[fs:0xaaaaaaaaaaaaaaaa] + mov bx,[fs:0xaaaaaaaaaaaaaaaa] + mov eax,[fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[fs:0xaaaaaaaaaaaaaaaa] + mov rax,[fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[fs:0xaaaaaaaaaaaaaaaa] + mov al,[fs:0xbbbbbbbb] + mov bl,[fs:0xbbbbbbbb] + mov ax,[fs:0xbbbbbbbb] + mov bx,[fs:0xbbbbbbbb] + mov eax,[fs:0xbbbbbbbb] + mov ebx,[fs:0xbbbbbbbb] + mov rax,[fs:0xbbbbbbbb] + mov rbx,[fs:0xbbbbbbbb] + mov al,[fs:0xffffffffcccccccc] + mov bl,[fs:0xffffffffcccccccc] + mov ax,[fs:0xffffffffcccccccc] + mov bx,[fs:0xffffffffcccccccc] + mov eax,[fs:0xffffffffcccccccc] + mov ebx,[fs:0xffffffffcccccccc] + mov rax,[fs:0xffffffffcccccccc] + mov rbx,[fs:0xffffffffcccccccc] + + mov al,[dword fs:foo] + mov bl,[dword fs:foo] + mov ax,[dword fs:foo] + mov bx,[dword fs:foo] + mov eax,[dword fs:foo] + mov ebx,[dword fs:foo] + mov rax,[dword fs:foo] + mov rbx,[dword fs:foo] + mov al,[dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[dword fs:0xbbbbbbbb] + mov bl,[dword fs:0xbbbbbbbb] + mov ax,[dword fs:0xbbbbbbbb] + mov bx,[dword fs:0xbbbbbbbb] + mov eax,[dword fs:0xbbbbbbbb] + mov ebx,[dword fs:0xbbbbbbbb] + mov rax,[dword fs:0xbbbbbbbb] + mov rbx,[dword fs:0xbbbbbbbb] + mov al,[dword fs:0xffffffffcccccccc] + mov bl,[dword fs:0xffffffffcccccccc] + mov ax,[dword fs:0xffffffffcccccccc] + mov bx,[dword fs:0xffffffffcccccccc] + mov eax,[dword fs:0xffffffffcccccccc] + mov ebx,[dword fs:0xffffffffcccccccc] + mov rax,[dword fs:0xffffffffcccccccc] + mov rbx,[dword fs:0xffffffffcccccccc] + + mov al,[qword fs:foo] + mov bl,[qword fs:foo] + mov ax,[qword fs:foo] + mov bx,[qword fs:foo] + mov eax,[qword fs:foo] + mov ebx,[qword fs:foo] + mov rax,[qword fs:foo] + mov rbx,[qword fs:foo] + mov al,[qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[qword fs:0xbbbbbbbb] + mov bl,[qword fs:0xbbbbbbbb] + mov ax,[qword fs:0xbbbbbbbb] + mov bx,[qword fs:0xbbbbbbbb] + mov eax,[qword fs:0xbbbbbbbb] + mov ebx,[qword fs:0xbbbbbbbb] + mov rax,[qword fs:0xbbbbbbbb] + mov rbx,[qword fs:0xbbbbbbbb] + mov al,[qword fs:0xffffffffcccccccc] + mov bl,[qword fs:0xffffffffcccccccc] + mov ax,[qword fs:0xffffffffcccccccc] + mov bx,[qword fs:0xffffffffcccccccc] + mov eax,[qword fs:0xffffffffcccccccc] + mov ebx,[qword fs:0xffffffffcccccccc] + mov rax,[qword fs:0xffffffffcccccccc] + mov rbx,[qword fs:0xffffffffcccccccc] + + mov al,[a64 fs:foo] + mov bl,[a64 fs:foo] + mov ax,[a64 fs:foo] + mov bx,[a64 fs:foo] + mov eax,[a64 fs:foo] + mov ebx,[a64 fs:foo] + mov rax,[a64 fs:foo] + mov rbx,[a64 fs:foo] + mov al,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 fs:0xbbbbbbbb] + mov bl,[a64 fs:0xbbbbbbbb] + mov ax,[a64 fs:0xbbbbbbbb] + mov bx,[a64 fs:0xbbbbbbbb] + mov eax,[a64 fs:0xbbbbbbbb] + mov ebx,[a64 fs:0xbbbbbbbb] + mov rax,[a64 fs:0xbbbbbbbb] + mov rbx,[a64 fs:0xbbbbbbbb] + mov al,[a64 fs:0xffffffffcccccccc] + mov bl,[a64 fs:0xffffffffcccccccc] + mov ax,[a64 fs:0xffffffffcccccccc] + mov bx,[a64 fs:0xffffffffcccccccc] + mov eax,[a64 fs:0xffffffffcccccccc] + mov ebx,[a64 fs:0xffffffffcccccccc] + mov rax,[a64 fs:0xffffffffcccccccc] + mov rbx,[a64 fs:0xffffffffcccccccc] + + mov al,[a64 dword fs:foo] + mov bl,[a64 dword fs:foo] + mov ax,[a64 dword fs:foo] + mov bx,[a64 dword fs:foo] + mov eax,[a64 dword fs:foo] + mov ebx,[a64 dword fs:foo] + mov rax,[a64 dword fs:foo] + mov rbx,[a64 dword fs:foo] + mov al,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 dword fs:0xbbbbbbbb] + mov bl,[a64 dword fs:0xbbbbbbbb] + mov ax,[a64 dword fs:0xbbbbbbbb] + mov bx,[a64 dword fs:0xbbbbbbbb] + mov eax,[a64 dword fs:0xbbbbbbbb] + mov ebx,[a64 dword fs:0xbbbbbbbb] + mov rax,[a64 dword fs:0xbbbbbbbb] + mov rbx,[a64 dword fs:0xbbbbbbbb] + mov al,[a64 dword fs:0xffffffffcccccccc] + mov bl,[a64 dword fs:0xffffffffcccccccc] + mov ax,[a64 dword fs:0xffffffffcccccccc] + mov bx,[a64 dword fs:0xffffffffcccccccc] + mov eax,[a64 dword fs:0xffffffffcccccccc] + mov ebx,[a64 dword fs:0xffffffffcccccccc] + mov rax,[a64 dword fs:0xffffffffcccccccc] + mov rbx,[a64 dword fs:0xffffffffcccccccc] + + mov al,[a64 qword fs:foo] + mov bl,[a64 qword fs:foo] + mov ax,[a64 qword fs:foo] + mov bx,[a64 qword fs:foo] + mov eax,[a64 qword fs:foo] + mov ebx,[a64 qword fs:foo] + mov rax,[a64 qword fs:foo] + mov rbx,[a64 qword fs:foo] + mov al,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 qword fs:0xbbbbbbbb] + mov bl,[a64 qword fs:0xbbbbbbbb] + mov ax,[a64 qword fs:0xbbbbbbbb] + mov bx,[a64 qword fs:0xbbbbbbbb] + mov eax,[a64 qword fs:0xbbbbbbbb] + mov ebx,[a64 qword fs:0xbbbbbbbb] + mov rax,[a64 qword fs:0xbbbbbbbb] + mov rbx,[a64 qword fs:0xbbbbbbbb] + mov al,[a64 qword fs:0xffffffffcccccccc] + mov bl,[a64 qword fs:0xffffffffcccccccc] + mov ax,[a64 qword fs:0xffffffffcccccccc] + mov bx,[a64 qword fs:0xffffffffcccccccc] + mov eax,[a64 qword fs:0xffffffffcccccccc] + mov ebx,[a64 qword fs:0xffffffffcccccccc] + mov rax,[a64 qword fs:0xffffffffcccccccc] + mov rbx,[a64 qword fs:0xffffffffcccccccc] + + mov al,[a32 fs:foo] + mov bl,[a32 fs:foo] + mov ax,[a32 fs:foo] + mov bx,[a32 fs:foo] + mov eax,[a32 fs:foo] + mov ebx,[a32 fs:foo] + mov rax,[a32 fs:foo] + mov rbx,[a32 fs:foo] + mov al,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 fs:0xbbbbbbbb] + mov bl,[a32 fs:0xbbbbbbbb] + mov ax,[a32 fs:0xbbbbbbbb] + mov bx,[a32 fs:0xbbbbbbbb] + mov eax,[a32 fs:0xbbbbbbbb] + mov ebx,[a32 fs:0xbbbbbbbb] + mov rax,[a32 fs:0xbbbbbbbb] + mov rbx,[a32 fs:0xbbbbbbbb] + mov al,[a32 fs:0xffffffffcccccccc] + mov bl,[a32 fs:0xffffffffcccccccc] + mov ax,[a32 fs:0xffffffffcccccccc] + mov bx,[a32 fs:0xffffffffcccccccc] + mov eax,[a32 fs:0xffffffffcccccccc] + mov ebx,[a32 fs:0xffffffffcccccccc] + mov rax,[a32 fs:0xffffffffcccccccc] + mov rbx,[a32 fs:0xffffffffcccccccc] + + mov al,[a32 dword fs:foo] + mov bl,[a32 dword fs:foo] + mov ax,[a32 dword fs:foo] + mov bx,[a32 dword fs:foo] + mov eax,[a32 dword fs:foo] + mov ebx,[a32 dword fs:foo] + mov rax,[a32 dword fs:foo] + mov rbx,[a32 dword fs:foo] + mov al,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 dword fs:0xbbbbbbbb] + mov bl,[a32 dword fs:0xbbbbbbbb] + mov ax,[a32 dword fs:0xbbbbbbbb] + mov bx,[a32 dword fs:0xbbbbbbbb] + mov eax,[a32 dword fs:0xbbbbbbbb] + mov ebx,[a32 dword fs:0xbbbbbbbb] + mov rax,[a32 dword fs:0xbbbbbbbb] + mov rbx,[a32 dword fs:0xbbbbbbbb] + mov al,[a32 dword fs:0xffffffffcccccccc] + mov bl,[a32 dword fs:0xffffffffcccccccc] + mov ax,[a32 dword fs:0xffffffffcccccccc] + mov bx,[a32 dword fs:0xffffffffcccccccc] + mov eax,[a32 dword fs:0xffffffffcccccccc] + mov ebx,[a32 dword fs:0xffffffffcccccccc] + mov rax,[a32 dword fs:0xffffffffcccccccc] + mov rbx,[a32 dword fs:0xffffffffcccccccc] + + mov al,[a32 qword fs:foo] + mov bl,[a32 qword fs:foo] + mov ax,[a32 qword fs:foo] + mov bx,[a32 qword fs:foo] + mov eax,[a32 qword fs:foo] + mov ebx,[a32 qword fs:foo] + mov rax,[a32 qword fs:foo] + mov rbx,[a32 qword fs:foo] + mov al,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 qword fs:0xbbbbbbbb] + mov bl,[a32 qword fs:0xbbbbbbbb] + mov ax,[a32 qword fs:0xbbbbbbbb] + mov bx,[a32 qword fs:0xbbbbbbbb] + mov eax,[a32 qword fs:0xbbbbbbbb] + mov ebx,[a32 qword fs:0xbbbbbbbb] + mov rax,[a32 qword fs:0xbbbbbbbb] + mov rbx,[a32 qword fs:0xbbbbbbbb] + mov al,[a32 qword fs:0xffffffffcccccccc] + mov bl,[a32 qword fs:0xffffffffcccccccc] + mov ax,[a32 qword fs:0xffffffffcccccccc] + mov bx,[a32 qword fs:0xffffffffcccccccc] + mov eax,[a32 qword fs:0xffffffffcccccccc] + mov ebx,[a32 qword fs:0xffffffffcccccccc] + mov rax,[a32 qword fs:0xffffffffcccccccc] + mov rbx,[a32 qword fs:0xffffffffcccccccc] + + mov al,[abs fs:foo] + mov bl,[abs fs:foo] + mov ax,[abs fs:foo] + mov bx,[abs fs:foo] + mov eax,[abs fs:foo] + mov ebx,[abs fs:foo] + mov rax,[abs fs:foo] + mov rbx,[abs fs:foo] + mov al,[abs fs:0xaaaaaaaaaaaaaaaa] + mov bl,[abs fs:0xaaaaaaaaaaaaaaaa] + mov ax,[abs fs:0xaaaaaaaaaaaaaaaa] + mov bx,[abs fs:0xaaaaaaaaaaaaaaaa] + mov eax,[abs fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs fs:0xaaaaaaaaaaaaaaaa] + mov rax,[abs fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs fs:0xaaaaaaaaaaaaaaaa] + mov al,[abs fs:0xbbbbbbbb] + mov bl,[abs fs:0xbbbbbbbb] + mov ax,[abs fs:0xbbbbbbbb] + mov bx,[abs fs:0xbbbbbbbb] + mov eax,[abs fs:0xbbbbbbbb] + mov ebx,[abs fs:0xbbbbbbbb] + mov rax,[abs fs:0xbbbbbbbb] + mov rbx,[abs fs:0xbbbbbbbb] + mov al,[abs fs:0xffffffffcccccccc] + mov bl,[abs fs:0xffffffffcccccccc] + mov ax,[abs fs:0xffffffffcccccccc] + mov bx,[abs fs:0xffffffffcccccccc] + mov eax,[abs fs:0xffffffffcccccccc] + mov ebx,[abs fs:0xffffffffcccccccc] + mov rax,[abs fs:0xffffffffcccccccc] + mov rbx,[abs fs:0xffffffffcccccccc] + + mov al,[abs dword fs:foo] + mov bl,[abs dword fs:foo] + mov ax,[abs dword fs:foo] + mov bx,[abs dword fs:foo] + mov eax,[abs dword fs:foo] + mov ebx,[abs dword fs:foo] + mov rax,[abs dword fs:foo] + mov rbx,[abs dword fs:foo] + mov al,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[abs dword fs:0xbbbbbbbb] + mov bl,[abs dword fs:0xbbbbbbbb] + mov ax,[abs dword fs:0xbbbbbbbb] + mov bx,[abs dword fs:0xbbbbbbbb] + mov eax,[abs dword fs:0xbbbbbbbb] + mov ebx,[abs dword fs:0xbbbbbbbb] + mov rax,[abs dword fs:0xbbbbbbbb] + mov rbx,[abs dword fs:0xbbbbbbbb] + mov al,[abs dword fs:0xffffffffcccccccc] + mov bl,[abs dword fs:0xffffffffcccccccc] + mov ax,[abs dword fs:0xffffffffcccccccc] + mov bx,[abs dword fs:0xffffffffcccccccc] + mov eax,[abs dword fs:0xffffffffcccccccc] + mov ebx,[abs dword fs:0xffffffffcccccccc] + mov rax,[abs dword fs:0xffffffffcccccccc] + mov rbx,[abs dword fs:0xffffffffcccccccc] + + mov al,[abs qword fs:foo] + mov bl,[abs qword fs:foo] + mov ax,[abs qword fs:foo] + mov bx,[abs qword fs:foo] + mov eax,[abs qword fs:foo] + mov ebx,[abs qword fs:foo] + mov rax,[abs qword fs:foo] + mov rbx,[abs qword fs:foo] + mov al,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[abs qword fs:0xbbbbbbbb] + mov bl,[abs qword fs:0xbbbbbbbb] + mov ax,[abs qword fs:0xbbbbbbbb] + mov bx,[abs qword fs:0xbbbbbbbb] + mov eax,[abs qword fs:0xbbbbbbbb] + mov ebx,[abs qword fs:0xbbbbbbbb] + mov rax,[abs qword fs:0xbbbbbbbb] + mov rbx,[abs qword fs:0xbbbbbbbb] + mov al,[abs qword fs:0xffffffffcccccccc] + mov bl,[abs qword fs:0xffffffffcccccccc] + mov ax,[abs qword fs:0xffffffffcccccccc] + mov bx,[abs qword fs:0xffffffffcccccccc] + mov eax,[abs qword fs:0xffffffffcccccccc] + mov ebx,[abs qword fs:0xffffffffcccccccc] + mov rax,[abs qword fs:0xffffffffcccccccc] + mov rbx,[abs qword fs:0xffffffffcccccccc] + + mov al,[a64 abs fs:foo] + mov bl,[a64 abs fs:foo] + mov ax,[a64 abs fs:foo] + mov bx,[a64 abs fs:foo] + mov eax,[a64 abs fs:foo] + mov ebx,[a64 abs fs:foo] + mov rax,[a64 abs fs:foo] + mov rbx,[a64 abs fs:foo] + mov al,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs fs:0xbbbbbbbb] + mov bl,[a64 abs fs:0xbbbbbbbb] + mov ax,[a64 abs fs:0xbbbbbbbb] + mov bx,[a64 abs fs:0xbbbbbbbb] + mov eax,[a64 abs fs:0xbbbbbbbb] + mov ebx,[a64 abs fs:0xbbbbbbbb] + mov rax,[a64 abs fs:0xbbbbbbbb] + mov rbx,[a64 abs fs:0xbbbbbbbb] + mov al,[a64 abs fs:0xffffffffcccccccc] + mov bl,[a64 abs fs:0xffffffffcccccccc] + mov ax,[a64 abs fs:0xffffffffcccccccc] + mov bx,[a64 abs fs:0xffffffffcccccccc] + mov eax,[a64 abs fs:0xffffffffcccccccc] + mov ebx,[a64 abs fs:0xffffffffcccccccc] + mov rax,[a64 abs fs:0xffffffffcccccccc] + mov rbx,[a64 abs fs:0xffffffffcccccccc] + + mov al,[a64 abs dword fs:foo] + mov bl,[a64 abs dword fs:foo] + mov ax,[a64 abs dword fs:foo] + mov bx,[a64 abs dword fs:foo] + mov eax,[a64 abs dword fs:foo] + mov ebx,[a64 abs dword fs:foo] + mov rax,[a64 abs dword fs:foo] + mov rbx,[a64 abs dword fs:foo] + mov al,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs dword fs:0xbbbbbbbb] + mov bl,[a64 abs dword fs:0xbbbbbbbb] + mov ax,[a64 abs dword fs:0xbbbbbbbb] + mov bx,[a64 abs dword fs:0xbbbbbbbb] + mov eax,[a64 abs dword fs:0xbbbbbbbb] + mov ebx,[a64 abs dword fs:0xbbbbbbbb] + mov rax,[a64 abs dword fs:0xbbbbbbbb] + mov rbx,[a64 abs dword fs:0xbbbbbbbb] + mov al,[a64 abs dword fs:0xffffffffcccccccc] + mov bl,[a64 abs dword fs:0xffffffffcccccccc] + mov ax,[a64 abs dword fs:0xffffffffcccccccc] + mov bx,[a64 abs dword fs:0xffffffffcccccccc] + mov eax,[a64 abs dword fs:0xffffffffcccccccc] + mov ebx,[a64 abs dword fs:0xffffffffcccccccc] + mov rax,[a64 abs dword fs:0xffffffffcccccccc] + mov rbx,[a64 abs dword fs:0xffffffffcccccccc] + + mov al,[a64 abs qword fs:foo] + mov bl,[a64 abs qword fs:foo] + mov ax,[a64 abs qword fs:foo] + mov bx,[a64 abs qword fs:foo] + mov eax,[a64 abs qword fs:foo] + mov ebx,[a64 abs qword fs:foo] + mov rax,[a64 abs qword fs:foo] + mov rbx,[a64 abs qword fs:foo] + mov al,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs qword fs:0xbbbbbbbb] + mov bl,[a64 abs qword fs:0xbbbbbbbb] + mov ax,[a64 abs qword fs:0xbbbbbbbb] + mov bx,[a64 abs qword fs:0xbbbbbbbb] + mov eax,[a64 abs qword fs:0xbbbbbbbb] + mov ebx,[a64 abs qword fs:0xbbbbbbbb] + mov rax,[a64 abs qword fs:0xbbbbbbbb] + mov rbx,[a64 abs qword fs:0xbbbbbbbb] + mov al,[a64 abs qword fs:0xffffffffcccccccc] + mov bl,[a64 abs qword fs:0xffffffffcccccccc] + mov ax,[a64 abs qword fs:0xffffffffcccccccc] + mov bx,[a64 abs qword fs:0xffffffffcccccccc] + mov eax,[a64 abs qword fs:0xffffffffcccccccc] + mov ebx,[a64 abs qword fs:0xffffffffcccccccc] + mov rax,[a64 abs qword fs:0xffffffffcccccccc] + mov rbx,[a64 abs qword fs:0xffffffffcccccccc] + + mov al,[a32 abs fs:foo] + mov bl,[a32 abs fs:foo] + mov ax,[a32 abs fs:foo] + mov bx,[a32 abs fs:foo] + mov eax,[a32 abs fs:foo] + mov ebx,[a32 abs fs:foo] + mov rax,[a32 abs fs:foo] + mov rbx,[a32 abs fs:foo] + mov al,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs fs:0xbbbbbbbb] + mov bl,[a32 abs fs:0xbbbbbbbb] + mov ax,[a32 abs fs:0xbbbbbbbb] + mov bx,[a32 abs fs:0xbbbbbbbb] + mov eax,[a32 abs fs:0xbbbbbbbb] + mov ebx,[a32 abs fs:0xbbbbbbbb] + mov rax,[a32 abs fs:0xbbbbbbbb] + mov rbx,[a32 abs fs:0xbbbbbbbb] + mov al,[a32 abs fs:0xffffffffcccccccc] + mov bl,[a32 abs fs:0xffffffffcccccccc] + mov ax,[a32 abs fs:0xffffffffcccccccc] + mov bx,[a32 abs fs:0xffffffffcccccccc] + mov eax,[a32 abs fs:0xffffffffcccccccc] + mov ebx,[a32 abs fs:0xffffffffcccccccc] + mov rax,[a32 abs fs:0xffffffffcccccccc] + mov rbx,[a32 abs fs:0xffffffffcccccccc] + + mov al,[a32 abs dword fs:foo] + mov bl,[a32 abs dword fs:foo] + mov ax,[a32 abs dword fs:foo] + mov bx,[a32 abs dword fs:foo] + mov eax,[a32 abs dword fs:foo] + mov ebx,[a32 abs dword fs:foo] + mov rax,[a32 abs dword fs:foo] + mov rbx,[a32 abs dword fs:foo] + mov al,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs dword fs:0xbbbbbbbb] + mov bl,[a32 abs dword fs:0xbbbbbbbb] + mov ax,[a32 abs dword fs:0xbbbbbbbb] + mov bx,[a32 abs dword fs:0xbbbbbbbb] + mov eax,[a32 abs dword fs:0xbbbbbbbb] + mov ebx,[a32 abs dword fs:0xbbbbbbbb] + mov rax,[a32 abs dword fs:0xbbbbbbbb] + mov rbx,[a32 abs dword fs:0xbbbbbbbb] + mov al,[a32 abs dword fs:0xffffffffcccccccc] + mov bl,[a32 abs dword fs:0xffffffffcccccccc] + mov ax,[a32 abs dword fs:0xffffffffcccccccc] + mov bx,[a32 abs dword fs:0xffffffffcccccccc] + mov eax,[a32 abs dword fs:0xffffffffcccccccc] + mov ebx,[a32 abs dword fs:0xffffffffcccccccc] + mov rax,[a32 abs dword fs:0xffffffffcccccccc] + mov rbx,[a32 abs dword fs:0xffffffffcccccccc] + + mov al,[a32 abs qword fs:foo] + mov bl,[a32 abs qword fs:foo] + mov ax,[a32 abs qword fs:foo] + mov bx,[a32 abs qword fs:foo] + mov eax,[a32 abs qword fs:foo] + mov ebx,[a32 abs qword fs:foo] + mov rax,[a32 abs qword fs:foo] + mov rbx,[a32 abs qword fs:foo] + mov al,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs qword fs:0xbbbbbbbb] + mov bl,[a32 abs qword fs:0xbbbbbbbb] + mov ax,[a32 abs qword fs:0xbbbbbbbb] + mov bx,[a32 abs qword fs:0xbbbbbbbb] + mov eax,[a32 abs qword fs:0xbbbbbbbb] + mov ebx,[a32 abs qword fs:0xbbbbbbbb] + mov rax,[a32 abs qword fs:0xbbbbbbbb] + mov rbx,[a32 abs qword fs:0xbbbbbbbb] + mov al,[a32 abs qword fs:0xffffffffcccccccc] + mov bl,[a32 abs qword fs:0xffffffffcccccccc] + mov ax,[a32 abs qword fs:0xffffffffcccccccc] + mov bx,[a32 abs qword fs:0xffffffffcccccccc] + mov eax,[a32 abs qword fs:0xffffffffcccccccc] + mov ebx,[a32 abs qword fs:0xffffffffcccccccc] + mov rax,[a32 abs qword fs:0xffffffffcccccccc] + mov rbx,[a32 abs qword fs:0xffffffffcccccccc] + + mov al,[rel fs:foo] + mov bl,[rel fs:foo] + mov ax,[rel fs:foo] + mov bx,[rel fs:foo] + mov eax,[rel fs:foo] + mov ebx,[rel fs:foo] + mov rax,[rel fs:foo] + mov rbx,[rel fs:foo] + mov al,[rel fs:0xaaaaaaaaaaaaaaaa] + mov bl,[rel fs:0xaaaaaaaaaaaaaaaa] + mov ax,[rel fs:0xaaaaaaaaaaaaaaaa] + mov bx,[rel fs:0xaaaaaaaaaaaaaaaa] + mov eax,[rel fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel fs:0xaaaaaaaaaaaaaaaa] + mov rax,[rel fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel fs:0xaaaaaaaaaaaaaaaa] + mov al,[rel fs:0xbbbbbbbb] + mov bl,[rel fs:0xbbbbbbbb] + mov ax,[rel fs:0xbbbbbbbb] + mov bx,[rel fs:0xbbbbbbbb] + mov eax,[rel fs:0xbbbbbbbb] + mov ebx,[rel fs:0xbbbbbbbb] + mov rax,[rel fs:0xbbbbbbbb] + mov rbx,[rel fs:0xbbbbbbbb] + mov al,[rel fs:0xffffffffcccccccc] + mov bl,[rel fs:0xffffffffcccccccc] + mov ax,[rel fs:0xffffffffcccccccc] + mov bx,[rel fs:0xffffffffcccccccc] + mov eax,[rel fs:0xffffffffcccccccc] + mov ebx,[rel fs:0xffffffffcccccccc] + mov rax,[rel fs:0xffffffffcccccccc] + mov rbx,[rel fs:0xffffffffcccccccc] + + mov al,[rel dword fs:foo] + mov bl,[rel dword fs:foo] + mov ax,[rel dword fs:foo] + mov bx,[rel dword fs:foo] + mov eax,[rel dword fs:foo] + mov ebx,[rel dword fs:foo] + mov rax,[rel dword fs:foo] + mov rbx,[rel dword fs:foo] + mov al,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[rel dword fs:0xbbbbbbbb] + mov bl,[rel dword fs:0xbbbbbbbb] + mov ax,[rel dword fs:0xbbbbbbbb] + mov bx,[rel dword fs:0xbbbbbbbb] + mov eax,[rel dword fs:0xbbbbbbbb] + mov ebx,[rel dword fs:0xbbbbbbbb] + mov rax,[rel dword fs:0xbbbbbbbb] + mov rbx,[rel dword fs:0xbbbbbbbb] + mov al,[rel dword fs:0xffffffffcccccccc] + mov bl,[rel dword fs:0xffffffffcccccccc] + mov ax,[rel dword fs:0xffffffffcccccccc] + mov bx,[rel dword fs:0xffffffffcccccccc] + mov eax,[rel dword fs:0xffffffffcccccccc] + mov ebx,[rel dword fs:0xffffffffcccccccc] + mov rax,[rel dword fs:0xffffffffcccccccc] + mov rbx,[rel dword fs:0xffffffffcccccccc] + + mov al,[rel qword fs:foo] + mov bl,[rel qword fs:foo] + mov ax,[rel qword fs:foo] + mov bx,[rel qword fs:foo] + mov eax,[rel qword fs:foo] + mov ebx,[rel qword fs:foo] + mov rax,[rel qword fs:foo] + mov rbx,[rel qword fs:foo] + mov al,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[rel qword fs:0xbbbbbbbb] + mov bl,[rel qword fs:0xbbbbbbbb] + mov ax,[rel qword fs:0xbbbbbbbb] + mov bx,[rel qword fs:0xbbbbbbbb] + mov eax,[rel qword fs:0xbbbbbbbb] + mov ebx,[rel qword fs:0xbbbbbbbb] + mov rax,[rel qword fs:0xbbbbbbbb] + mov rbx,[rel qword fs:0xbbbbbbbb] + mov al,[rel qword fs:0xffffffffcccccccc] + mov bl,[rel qword fs:0xffffffffcccccccc] + mov ax,[rel qword fs:0xffffffffcccccccc] + mov bx,[rel qword fs:0xffffffffcccccccc] + mov eax,[rel qword fs:0xffffffffcccccccc] + mov ebx,[rel qword fs:0xffffffffcccccccc] + mov rax,[rel qword fs:0xffffffffcccccccc] + mov rbx,[rel qword fs:0xffffffffcccccccc] + + mov al,[a64 rel fs:foo] + mov bl,[a64 rel fs:foo] + mov ax,[a64 rel fs:foo] + mov bx,[a64 rel fs:foo] + mov eax,[a64 rel fs:foo] + mov ebx,[a64 rel fs:foo] + mov rax,[a64 rel fs:foo] + mov rbx,[a64 rel fs:foo] + mov al,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel fs:0xbbbbbbbb] + mov bl,[a64 rel fs:0xbbbbbbbb] + mov ax,[a64 rel fs:0xbbbbbbbb] + mov bx,[a64 rel fs:0xbbbbbbbb] + mov eax,[a64 rel fs:0xbbbbbbbb] + mov ebx,[a64 rel fs:0xbbbbbbbb] + mov rax,[a64 rel fs:0xbbbbbbbb] + mov rbx,[a64 rel fs:0xbbbbbbbb] + mov al,[a64 rel fs:0xffffffffcccccccc] + mov bl,[a64 rel fs:0xffffffffcccccccc] + mov ax,[a64 rel fs:0xffffffffcccccccc] + mov bx,[a64 rel fs:0xffffffffcccccccc] + mov eax,[a64 rel fs:0xffffffffcccccccc] + mov ebx,[a64 rel fs:0xffffffffcccccccc] + mov rax,[a64 rel fs:0xffffffffcccccccc] + mov rbx,[a64 rel fs:0xffffffffcccccccc] + + mov al,[a64 rel dword fs:foo] + mov bl,[a64 rel dword fs:foo] + mov ax,[a64 rel dword fs:foo] + mov bx,[a64 rel dword fs:foo] + mov eax,[a64 rel dword fs:foo] + mov ebx,[a64 rel dword fs:foo] + mov rax,[a64 rel dword fs:foo] + mov rbx,[a64 rel dword fs:foo] + mov al,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel dword fs:0xbbbbbbbb] + mov bl,[a64 rel dword fs:0xbbbbbbbb] + mov ax,[a64 rel dword fs:0xbbbbbbbb] + mov bx,[a64 rel dword fs:0xbbbbbbbb] + mov eax,[a64 rel dword fs:0xbbbbbbbb] + mov ebx,[a64 rel dword fs:0xbbbbbbbb] + mov rax,[a64 rel dword fs:0xbbbbbbbb] + mov rbx,[a64 rel dword fs:0xbbbbbbbb] + mov al,[a64 rel dword fs:0xffffffffcccccccc] + mov bl,[a64 rel dword fs:0xffffffffcccccccc] + mov ax,[a64 rel dword fs:0xffffffffcccccccc] + mov bx,[a64 rel dword fs:0xffffffffcccccccc] + mov eax,[a64 rel dword fs:0xffffffffcccccccc] + mov ebx,[a64 rel dword fs:0xffffffffcccccccc] + mov rax,[a64 rel dword fs:0xffffffffcccccccc] + mov rbx,[a64 rel dword fs:0xffffffffcccccccc] + + mov al,[a64 rel qword fs:foo] + mov bl,[a64 rel qword fs:foo] + mov ax,[a64 rel qword fs:foo] + mov bx,[a64 rel qword fs:foo] + mov eax,[a64 rel qword fs:foo] + mov ebx,[a64 rel qword fs:foo] + mov rax,[a64 rel qword fs:foo] + mov rbx,[a64 rel qword fs:foo] + mov al,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel qword fs:0xbbbbbbbb] + mov bl,[a64 rel qword fs:0xbbbbbbbb] + mov ax,[a64 rel qword fs:0xbbbbbbbb] + mov bx,[a64 rel qword fs:0xbbbbbbbb] + mov eax,[a64 rel qword fs:0xbbbbbbbb] + mov ebx,[a64 rel qword fs:0xbbbbbbbb] + mov rax,[a64 rel qword fs:0xbbbbbbbb] + mov rbx,[a64 rel qword fs:0xbbbbbbbb] + mov al,[a64 rel qword fs:0xffffffffcccccccc] + mov bl,[a64 rel qword fs:0xffffffffcccccccc] + mov ax,[a64 rel qword fs:0xffffffffcccccccc] + mov bx,[a64 rel qword fs:0xffffffffcccccccc] + mov eax,[a64 rel qword fs:0xffffffffcccccccc] + mov ebx,[a64 rel qword fs:0xffffffffcccccccc] + mov rax,[a64 rel qword fs:0xffffffffcccccccc] + mov rbx,[a64 rel qword fs:0xffffffffcccccccc] + + mov al,[a32 rel fs:foo] + mov bl,[a32 rel fs:foo] + mov ax,[a32 rel fs:foo] + mov bx,[a32 rel fs:foo] + mov eax,[a32 rel fs:foo] + mov ebx,[a32 rel fs:foo] + mov rax,[a32 rel fs:foo] + mov rbx,[a32 rel fs:foo] + mov al,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel fs:0xbbbbbbbb] + mov bl,[a32 rel fs:0xbbbbbbbb] + mov ax,[a32 rel fs:0xbbbbbbbb] + mov bx,[a32 rel fs:0xbbbbbbbb] + mov eax,[a32 rel fs:0xbbbbbbbb] + mov ebx,[a32 rel fs:0xbbbbbbbb] + mov rax,[a32 rel fs:0xbbbbbbbb] + mov rbx,[a32 rel fs:0xbbbbbbbb] + mov al,[a32 rel fs:0xffffffffcccccccc] + mov bl,[a32 rel fs:0xffffffffcccccccc] + mov ax,[a32 rel fs:0xffffffffcccccccc] + mov bx,[a32 rel fs:0xffffffffcccccccc] + mov eax,[a32 rel fs:0xffffffffcccccccc] + mov ebx,[a32 rel fs:0xffffffffcccccccc] + mov rax,[a32 rel fs:0xffffffffcccccccc] + mov rbx,[a32 rel fs:0xffffffffcccccccc] + + mov al,[a32 rel dword fs:foo] + mov bl,[a32 rel dword fs:foo] + mov ax,[a32 rel dword fs:foo] + mov bx,[a32 rel dword fs:foo] + mov eax,[a32 rel dword fs:foo] + mov ebx,[a32 rel dword fs:foo] + mov rax,[a32 rel dword fs:foo] + mov rbx,[a32 rel dword fs:foo] + mov al,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel dword fs:0xbbbbbbbb] + mov bl,[a32 rel dword fs:0xbbbbbbbb] + mov ax,[a32 rel dword fs:0xbbbbbbbb] + mov bx,[a32 rel dword fs:0xbbbbbbbb] + mov eax,[a32 rel dword fs:0xbbbbbbbb] + mov ebx,[a32 rel dword fs:0xbbbbbbbb] + mov rax,[a32 rel dword fs:0xbbbbbbbb] + mov rbx,[a32 rel dword fs:0xbbbbbbbb] + mov al,[a32 rel dword fs:0xffffffffcccccccc] + mov bl,[a32 rel dword fs:0xffffffffcccccccc] + mov ax,[a32 rel dword fs:0xffffffffcccccccc] + mov bx,[a32 rel dword fs:0xffffffffcccccccc] + mov eax,[a32 rel dword fs:0xffffffffcccccccc] + mov ebx,[a32 rel dword fs:0xffffffffcccccccc] + mov rax,[a32 rel dword fs:0xffffffffcccccccc] + mov rbx,[a32 rel dword fs:0xffffffffcccccccc] + + mov al,[a32 rel qword fs:foo] + mov bl,[a32 rel qword fs:foo] + mov ax,[a32 rel qword fs:foo] + mov bx,[a32 rel qword fs:foo] + mov eax,[a32 rel qword fs:foo] + mov ebx,[a32 rel qword fs:foo] + mov rax,[a32 rel qword fs:foo] + mov rbx,[a32 rel qword fs:foo] + mov al,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel qword fs:0xbbbbbbbb] + mov bl,[a32 rel qword fs:0xbbbbbbbb] + mov ax,[a32 rel qword fs:0xbbbbbbbb] + mov bx,[a32 rel qword fs:0xbbbbbbbb] + mov eax,[a32 rel qword fs:0xbbbbbbbb] + mov ebx,[a32 rel qword fs:0xbbbbbbbb] + mov rax,[a32 rel qword fs:0xbbbbbbbb] + mov rbx,[a32 rel qword fs:0xbbbbbbbb] + mov al,[a32 rel qword fs:0xffffffffcccccccc] + mov bl,[a32 rel qword fs:0xffffffffcccccccc] + mov ax,[a32 rel qword fs:0xffffffffcccccccc] + mov bx,[a32 rel qword fs:0xffffffffcccccccc] + mov eax,[a32 rel qword fs:0xffffffffcccccccc] + mov ebx,[a32 rel qword fs:0xffffffffcccccccc] + mov rax,[a32 rel qword fs:0xffffffffcccccccc] + mov rbx,[a32 rel qword fs:0xffffffffcccccccc] + + mov al,[es:foo] + mov bl,[es:foo] + mov ax,[es:foo] + mov bx,[es:foo] + mov eax,[es:foo] + mov ebx,[es:foo] + mov rax,[es:foo] + mov rbx,[es:foo] + mov al,[es:0xaaaaaaaaaaaaaaaa] + mov bl,[es:0xaaaaaaaaaaaaaaaa] + mov ax,[es:0xaaaaaaaaaaaaaaaa] + mov bx,[es:0xaaaaaaaaaaaaaaaa] + mov eax,[es:0xaaaaaaaaaaaaaaaa] + mov ebx,[es:0xaaaaaaaaaaaaaaaa] + mov rax,[es:0xaaaaaaaaaaaaaaaa] + mov rbx,[es:0xaaaaaaaaaaaaaaaa] + mov al,[es:0xbbbbbbbb] + mov bl,[es:0xbbbbbbbb] + mov ax,[es:0xbbbbbbbb] + mov bx,[es:0xbbbbbbbb] + mov eax,[es:0xbbbbbbbb] + mov ebx,[es:0xbbbbbbbb] + mov rax,[es:0xbbbbbbbb] + mov rbx,[es:0xbbbbbbbb] + mov al,[es:0xffffffffcccccccc] + mov bl,[es:0xffffffffcccccccc] + mov ax,[es:0xffffffffcccccccc] + mov bx,[es:0xffffffffcccccccc] + mov eax,[es:0xffffffffcccccccc] + mov ebx,[es:0xffffffffcccccccc] + mov rax,[es:0xffffffffcccccccc] + mov rbx,[es:0xffffffffcccccccc] + + mov al,[dword es:foo] + mov bl,[dword es:foo] + mov ax,[dword es:foo] + mov bx,[dword es:foo] + mov eax,[dword es:foo] + mov ebx,[dword es:foo] + mov rax,[dword es:foo] + mov rbx,[dword es:foo] + mov al,[dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[dword es:0xaaaaaaaaaaaaaaaa] + mov al,[dword es:0xbbbbbbbb] + mov bl,[dword es:0xbbbbbbbb] + mov ax,[dword es:0xbbbbbbbb] + mov bx,[dword es:0xbbbbbbbb] + mov eax,[dword es:0xbbbbbbbb] + mov ebx,[dword es:0xbbbbbbbb] + mov rax,[dword es:0xbbbbbbbb] + mov rbx,[dword es:0xbbbbbbbb] + mov al,[dword es:0xffffffffcccccccc] + mov bl,[dword es:0xffffffffcccccccc] + mov ax,[dword es:0xffffffffcccccccc] + mov bx,[dword es:0xffffffffcccccccc] + mov eax,[dword es:0xffffffffcccccccc] + mov ebx,[dword es:0xffffffffcccccccc] + mov rax,[dword es:0xffffffffcccccccc] + mov rbx,[dword es:0xffffffffcccccccc] + + mov al,[qword es:foo] + mov bl,[qword es:foo] + mov ax,[qword es:foo] + mov bx,[qword es:foo] + mov eax,[qword es:foo] + mov ebx,[qword es:foo] + mov rax,[qword es:foo] + mov rbx,[qword es:foo] + mov al,[qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[qword es:0xaaaaaaaaaaaaaaaa] + mov al,[qword es:0xbbbbbbbb] + mov bl,[qword es:0xbbbbbbbb] + mov ax,[qword es:0xbbbbbbbb] + mov bx,[qword es:0xbbbbbbbb] + mov eax,[qword es:0xbbbbbbbb] + mov ebx,[qword es:0xbbbbbbbb] + mov rax,[qword es:0xbbbbbbbb] + mov rbx,[qword es:0xbbbbbbbb] + mov al,[qword es:0xffffffffcccccccc] + mov bl,[qword es:0xffffffffcccccccc] + mov ax,[qword es:0xffffffffcccccccc] + mov bx,[qword es:0xffffffffcccccccc] + mov eax,[qword es:0xffffffffcccccccc] + mov ebx,[qword es:0xffffffffcccccccc] + mov rax,[qword es:0xffffffffcccccccc] + mov rbx,[qword es:0xffffffffcccccccc] + + mov al,[a64 es:foo] + mov bl,[a64 es:foo] + mov ax,[a64 es:foo] + mov bx,[a64 es:foo] + mov eax,[a64 es:foo] + mov ebx,[a64 es:foo] + mov rax,[a64 es:foo] + mov rbx,[a64 es:foo] + mov al,[a64 es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 es:0xbbbbbbbb] + mov bl,[a64 es:0xbbbbbbbb] + mov ax,[a64 es:0xbbbbbbbb] + mov bx,[a64 es:0xbbbbbbbb] + mov eax,[a64 es:0xbbbbbbbb] + mov ebx,[a64 es:0xbbbbbbbb] + mov rax,[a64 es:0xbbbbbbbb] + mov rbx,[a64 es:0xbbbbbbbb] + mov al,[a64 es:0xffffffffcccccccc] + mov bl,[a64 es:0xffffffffcccccccc] + mov ax,[a64 es:0xffffffffcccccccc] + mov bx,[a64 es:0xffffffffcccccccc] + mov eax,[a64 es:0xffffffffcccccccc] + mov ebx,[a64 es:0xffffffffcccccccc] + mov rax,[a64 es:0xffffffffcccccccc] + mov rbx,[a64 es:0xffffffffcccccccc] + + mov al,[a64 dword es:foo] + mov bl,[a64 dword es:foo] + mov ax,[a64 dword es:foo] + mov bx,[a64 dword es:foo] + mov eax,[a64 dword es:foo] + mov ebx,[a64 dword es:foo] + mov rax,[a64 dword es:foo] + mov rbx,[a64 dword es:foo] + mov al,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 dword es:0xbbbbbbbb] + mov bl,[a64 dword es:0xbbbbbbbb] + mov ax,[a64 dword es:0xbbbbbbbb] + mov bx,[a64 dword es:0xbbbbbbbb] + mov eax,[a64 dword es:0xbbbbbbbb] + mov ebx,[a64 dword es:0xbbbbbbbb] + mov rax,[a64 dword es:0xbbbbbbbb] + mov rbx,[a64 dword es:0xbbbbbbbb] + mov al,[a64 dword es:0xffffffffcccccccc] + mov bl,[a64 dword es:0xffffffffcccccccc] + mov ax,[a64 dword es:0xffffffffcccccccc] + mov bx,[a64 dword es:0xffffffffcccccccc] + mov eax,[a64 dword es:0xffffffffcccccccc] + mov ebx,[a64 dword es:0xffffffffcccccccc] + mov rax,[a64 dword es:0xffffffffcccccccc] + mov rbx,[a64 dword es:0xffffffffcccccccc] + + mov al,[a64 qword es:foo] + mov bl,[a64 qword es:foo] + mov ax,[a64 qword es:foo] + mov bx,[a64 qword es:foo] + mov eax,[a64 qword es:foo] + mov ebx,[a64 qword es:foo] + mov rax,[a64 qword es:foo] + mov rbx,[a64 qword es:foo] + mov al,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 qword es:0xbbbbbbbb] + mov bl,[a64 qword es:0xbbbbbbbb] + mov ax,[a64 qword es:0xbbbbbbbb] + mov bx,[a64 qword es:0xbbbbbbbb] + mov eax,[a64 qword es:0xbbbbbbbb] + mov ebx,[a64 qword es:0xbbbbbbbb] + mov rax,[a64 qword es:0xbbbbbbbb] + mov rbx,[a64 qword es:0xbbbbbbbb] + mov al,[a64 qword es:0xffffffffcccccccc] + mov bl,[a64 qword es:0xffffffffcccccccc] + mov ax,[a64 qword es:0xffffffffcccccccc] + mov bx,[a64 qword es:0xffffffffcccccccc] + mov eax,[a64 qword es:0xffffffffcccccccc] + mov ebx,[a64 qword es:0xffffffffcccccccc] + mov rax,[a64 qword es:0xffffffffcccccccc] + mov rbx,[a64 qword es:0xffffffffcccccccc] + + mov al,[a32 es:foo] + mov bl,[a32 es:foo] + mov ax,[a32 es:foo] + mov bx,[a32 es:foo] + mov eax,[a32 es:foo] + mov ebx,[a32 es:foo] + mov rax,[a32 es:foo] + mov rbx,[a32 es:foo] + mov al,[a32 es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 es:0xbbbbbbbb] + mov bl,[a32 es:0xbbbbbbbb] + mov ax,[a32 es:0xbbbbbbbb] + mov bx,[a32 es:0xbbbbbbbb] + mov eax,[a32 es:0xbbbbbbbb] + mov ebx,[a32 es:0xbbbbbbbb] + mov rax,[a32 es:0xbbbbbbbb] + mov rbx,[a32 es:0xbbbbbbbb] + mov al,[a32 es:0xffffffffcccccccc] + mov bl,[a32 es:0xffffffffcccccccc] + mov ax,[a32 es:0xffffffffcccccccc] + mov bx,[a32 es:0xffffffffcccccccc] + mov eax,[a32 es:0xffffffffcccccccc] + mov ebx,[a32 es:0xffffffffcccccccc] + mov rax,[a32 es:0xffffffffcccccccc] + mov rbx,[a32 es:0xffffffffcccccccc] + + mov al,[a32 dword es:foo] + mov bl,[a32 dword es:foo] + mov ax,[a32 dword es:foo] + mov bx,[a32 dword es:foo] + mov eax,[a32 dword es:foo] + mov ebx,[a32 dword es:foo] + mov rax,[a32 dword es:foo] + mov rbx,[a32 dword es:foo] + mov al,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 dword es:0xbbbbbbbb] + mov bl,[a32 dword es:0xbbbbbbbb] + mov ax,[a32 dword es:0xbbbbbbbb] + mov bx,[a32 dword es:0xbbbbbbbb] + mov eax,[a32 dword es:0xbbbbbbbb] + mov ebx,[a32 dword es:0xbbbbbbbb] + mov rax,[a32 dword es:0xbbbbbbbb] + mov rbx,[a32 dword es:0xbbbbbbbb] + mov al,[a32 dword es:0xffffffffcccccccc] + mov bl,[a32 dword es:0xffffffffcccccccc] + mov ax,[a32 dword es:0xffffffffcccccccc] + mov bx,[a32 dword es:0xffffffffcccccccc] + mov eax,[a32 dword es:0xffffffffcccccccc] + mov ebx,[a32 dword es:0xffffffffcccccccc] + mov rax,[a32 dword es:0xffffffffcccccccc] + mov rbx,[a32 dword es:0xffffffffcccccccc] + + mov al,[a32 qword es:foo] + mov bl,[a32 qword es:foo] + mov ax,[a32 qword es:foo] + mov bx,[a32 qword es:foo] + mov eax,[a32 qword es:foo] + mov ebx,[a32 qword es:foo] + mov rax,[a32 qword es:foo] + mov rbx,[a32 qword es:foo] + mov al,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 qword es:0xbbbbbbbb] + mov bl,[a32 qword es:0xbbbbbbbb] + mov ax,[a32 qword es:0xbbbbbbbb] + mov bx,[a32 qword es:0xbbbbbbbb] + mov eax,[a32 qword es:0xbbbbbbbb] + mov ebx,[a32 qword es:0xbbbbbbbb] + mov rax,[a32 qword es:0xbbbbbbbb] + mov rbx,[a32 qword es:0xbbbbbbbb] + mov al,[a32 qword es:0xffffffffcccccccc] + mov bl,[a32 qword es:0xffffffffcccccccc] + mov ax,[a32 qword es:0xffffffffcccccccc] + mov bx,[a32 qword es:0xffffffffcccccccc] + mov eax,[a32 qword es:0xffffffffcccccccc] + mov ebx,[a32 qword es:0xffffffffcccccccc] + mov rax,[a32 qword es:0xffffffffcccccccc] + mov rbx,[a32 qword es:0xffffffffcccccccc] + + mov al,[abs es:foo] + mov bl,[abs es:foo] + mov ax,[abs es:foo] + mov bx,[abs es:foo] + mov eax,[abs es:foo] + mov ebx,[abs es:foo] + mov rax,[abs es:foo] + mov rbx,[abs es:foo] + mov al,[abs es:0xaaaaaaaaaaaaaaaa] + mov bl,[abs es:0xaaaaaaaaaaaaaaaa] + mov ax,[abs es:0xaaaaaaaaaaaaaaaa] + mov bx,[abs es:0xaaaaaaaaaaaaaaaa] + mov eax,[abs es:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs es:0xaaaaaaaaaaaaaaaa] + mov rax,[abs es:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs es:0xaaaaaaaaaaaaaaaa] + mov al,[abs es:0xbbbbbbbb] + mov bl,[abs es:0xbbbbbbbb] + mov ax,[abs es:0xbbbbbbbb] + mov bx,[abs es:0xbbbbbbbb] + mov eax,[abs es:0xbbbbbbbb] + mov ebx,[abs es:0xbbbbbbbb] + mov rax,[abs es:0xbbbbbbbb] + mov rbx,[abs es:0xbbbbbbbb] + mov al,[abs es:0xffffffffcccccccc] + mov bl,[abs es:0xffffffffcccccccc] + mov ax,[abs es:0xffffffffcccccccc] + mov bx,[abs es:0xffffffffcccccccc] + mov eax,[abs es:0xffffffffcccccccc] + mov ebx,[abs es:0xffffffffcccccccc] + mov rax,[abs es:0xffffffffcccccccc] + mov rbx,[abs es:0xffffffffcccccccc] + + mov al,[abs dword es:foo] + mov bl,[abs dword es:foo] + mov ax,[abs dword es:foo] + mov bx,[abs dword es:foo] + mov eax,[abs dword es:foo] + mov ebx,[abs dword es:foo] + mov rax,[abs dword es:foo] + mov rbx,[abs dword es:foo] + mov al,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov al,[abs dword es:0xbbbbbbbb] + mov bl,[abs dword es:0xbbbbbbbb] + mov ax,[abs dword es:0xbbbbbbbb] + mov bx,[abs dword es:0xbbbbbbbb] + mov eax,[abs dword es:0xbbbbbbbb] + mov ebx,[abs dword es:0xbbbbbbbb] + mov rax,[abs dword es:0xbbbbbbbb] + mov rbx,[abs dword es:0xbbbbbbbb] + mov al,[abs dword es:0xffffffffcccccccc] + mov bl,[abs dword es:0xffffffffcccccccc] + mov ax,[abs dword es:0xffffffffcccccccc] + mov bx,[abs dword es:0xffffffffcccccccc] + mov eax,[abs dword es:0xffffffffcccccccc] + mov ebx,[abs dword es:0xffffffffcccccccc] + mov rax,[abs dword es:0xffffffffcccccccc] + mov rbx,[abs dword es:0xffffffffcccccccc] + + mov al,[abs qword es:foo] + mov bl,[abs qword es:foo] + mov ax,[abs qword es:foo] + mov bx,[abs qword es:foo] + mov eax,[abs qword es:foo] + mov ebx,[abs qword es:foo] + mov rax,[abs qword es:foo] + mov rbx,[abs qword es:foo] + mov al,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov al,[abs qword es:0xbbbbbbbb] + mov bl,[abs qword es:0xbbbbbbbb] + mov ax,[abs qword es:0xbbbbbbbb] + mov bx,[abs qword es:0xbbbbbbbb] + mov eax,[abs qword es:0xbbbbbbbb] + mov ebx,[abs qword es:0xbbbbbbbb] + mov rax,[abs qword es:0xbbbbbbbb] + mov rbx,[abs qword es:0xbbbbbbbb] + mov al,[abs qword es:0xffffffffcccccccc] + mov bl,[abs qword es:0xffffffffcccccccc] + mov ax,[abs qword es:0xffffffffcccccccc] + mov bx,[abs qword es:0xffffffffcccccccc] + mov eax,[abs qword es:0xffffffffcccccccc] + mov ebx,[abs qword es:0xffffffffcccccccc] + mov rax,[abs qword es:0xffffffffcccccccc] + mov rbx,[abs qword es:0xffffffffcccccccc] + + mov al,[a64 abs es:foo] + mov bl,[a64 abs es:foo] + mov ax,[a64 abs es:foo] + mov bx,[a64 abs es:foo] + mov eax,[a64 abs es:foo] + mov ebx,[a64 abs es:foo] + mov rax,[a64 abs es:foo] + mov rbx,[a64 abs es:foo] + mov al,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs es:0xbbbbbbbb] + mov bl,[a64 abs es:0xbbbbbbbb] + mov ax,[a64 abs es:0xbbbbbbbb] + mov bx,[a64 abs es:0xbbbbbbbb] + mov eax,[a64 abs es:0xbbbbbbbb] + mov ebx,[a64 abs es:0xbbbbbbbb] + mov rax,[a64 abs es:0xbbbbbbbb] + mov rbx,[a64 abs es:0xbbbbbbbb] + mov al,[a64 abs es:0xffffffffcccccccc] + mov bl,[a64 abs es:0xffffffffcccccccc] + mov ax,[a64 abs es:0xffffffffcccccccc] + mov bx,[a64 abs es:0xffffffffcccccccc] + mov eax,[a64 abs es:0xffffffffcccccccc] + mov ebx,[a64 abs es:0xffffffffcccccccc] + mov rax,[a64 abs es:0xffffffffcccccccc] + mov rbx,[a64 abs es:0xffffffffcccccccc] + + mov al,[a64 abs dword es:foo] + mov bl,[a64 abs dword es:foo] + mov ax,[a64 abs dword es:foo] + mov bx,[a64 abs dword es:foo] + mov eax,[a64 abs dword es:foo] + mov ebx,[a64 abs dword es:foo] + mov rax,[a64 abs dword es:foo] + mov rbx,[a64 abs dword es:foo] + mov al,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs dword es:0xbbbbbbbb] + mov bl,[a64 abs dword es:0xbbbbbbbb] + mov ax,[a64 abs dword es:0xbbbbbbbb] + mov bx,[a64 abs dword es:0xbbbbbbbb] + mov eax,[a64 abs dword es:0xbbbbbbbb] + mov ebx,[a64 abs dword es:0xbbbbbbbb] + mov rax,[a64 abs dword es:0xbbbbbbbb] + mov rbx,[a64 abs dword es:0xbbbbbbbb] + mov al,[a64 abs dword es:0xffffffffcccccccc] + mov bl,[a64 abs dword es:0xffffffffcccccccc] + mov ax,[a64 abs dword es:0xffffffffcccccccc] + mov bx,[a64 abs dword es:0xffffffffcccccccc] + mov eax,[a64 abs dword es:0xffffffffcccccccc] + mov ebx,[a64 abs dword es:0xffffffffcccccccc] + mov rax,[a64 abs dword es:0xffffffffcccccccc] + mov rbx,[a64 abs dword es:0xffffffffcccccccc] + + mov al,[a64 abs qword es:foo] + mov bl,[a64 abs qword es:foo] + mov ax,[a64 abs qword es:foo] + mov bx,[a64 abs qword es:foo] + mov eax,[a64 abs qword es:foo] + mov ebx,[a64 abs qword es:foo] + mov rax,[a64 abs qword es:foo] + mov rbx,[a64 abs qword es:foo] + mov al,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs qword es:0xbbbbbbbb] + mov bl,[a64 abs qword es:0xbbbbbbbb] + mov ax,[a64 abs qword es:0xbbbbbbbb] + mov bx,[a64 abs qword es:0xbbbbbbbb] + mov eax,[a64 abs qword es:0xbbbbbbbb] + mov ebx,[a64 abs qword es:0xbbbbbbbb] + mov rax,[a64 abs qword es:0xbbbbbbbb] + mov rbx,[a64 abs qword es:0xbbbbbbbb] + mov al,[a64 abs qword es:0xffffffffcccccccc] + mov bl,[a64 abs qword es:0xffffffffcccccccc] + mov ax,[a64 abs qword es:0xffffffffcccccccc] + mov bx,[a64 abs qword es:0xffffffffcccccccc] + mov eax,[a64 abs qword es:0xffffffffcccccccc] + mov ebx,[a64 abs qword es:0xffffffffcccccccc] + mov rax,[a64 abs qword es:0xffffffffcccccccc] + mov rbx,[a64 abs qword es:0xffffffffcccccccc] + + mov al,[a32 abs es:foo] + mov bl,[a32 abs es:foo] + mov ax,[a32 abs es:foo] + mov bx,[a32 abs es:foo] + mov eax,[a32 abs es:foo] + mov ebx,[a32 abs es:foo] + mov rax,[a32 abs es:foo] + mov rbx,[a32 abs es:foo] + mov al,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs es:0xbbbbbbbb] + mov bl,[a32 abs es:0xbbbbbbbb] + mov ax,[a32 abs es:0xbbbbbbbb] + mov bx,[a32 abs es:0xbbbbbbbb] + mov eax,[a32 abs es:0xbbbbbbbb] + mov ebx,[a32 abs es:0xbbbbbbbb] + mov rax,[a32 abs es:0xbbbbbbbb] + mov rbx,[a32 abs es:0xbbbbbbbb] + mov al,[a32 abs es:0xffffffffcccccccc] + mov bl,[a32 abs es:0xffffffffcccccccc] + mov ax,[a32 abs es:0xffffffffcccccccc] + mov bx,[a32 abs es:0xffffffffcccccccc] + mov eax,[a32 abs es:0xffffffffcccccccc] + mov ebx,[a32 abs es:0xffffffffcccccccc] + mov rax,[a32 abs es:0xffffffffcccccccc] + mov rbx,[a32 abs es:0xffffffffcccccccc] + + mov al,[a32 abs dword es:foo] + mov bl,[a32 abs dword es:foo] + mov ax,[a32 abs dword es:foo] + mov bx,[a32 abs dword es:foo] + mov eax,[a32 abs dword es:foo] + mov ebx,[a32 abs dword es:foo] + mov rax,[a32 abs dword es:foo] + mov rbx,[a32 abs dword es:foo] + mov al,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs dword es:0xbbbbbbbb] + mov bl,[a32 abs dword es:0xbbbbbbbb] + mov ax,[a32 abs dword es:0xbbbbbbbb] + mov bx,[a32 abs dword es:0xbbbbbbbb] + mov eax,[a32 abs dword es:0xbbbbbbbb] + mov ebx,[a32 abs dword es:0xbbbbbbbb] + mov rax,[a32 abs dword es:0xbbbbbbbb] + mov rbx,[a32 abs dword es:0xbbbbbbbb] + mov al,[a32 abs dword es:0xffffffffcccccccc] + mov bl,[a32 abs dword es:0xffffffffcccccccc] + mov ax,[a32 abs dword es:0xffffffffcccccccc] + mov bx,[a32 abs dword es:0xffffffffcccccccc] + mov eax,[a32 abs dword es:0xffffffffcccccccc] + mov ebx,[a32 abs dword es:0xffffffffcccccccc] + mov rax,[a32 abs dword es:0xffffffffcccccccc] + mov rbx,[a32 abs dword es:0xffffffffcccccccc] + + mov al,[a32 abs qword es:foo] + mov bl,[a32 abs qword es:foo] + mov ax,[a32 abs qword es:foo] + mov bx,[a32 abs qword es:foo] + mov eax,[a32 abs qword es:foo] + mov ebx,[a32 abs qword es:foo] + mov rax,[a32 abs qword es:foo] + mov rbx,[a32 abs qword es:foo] + mov al,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs qword es:0xbbbbbbbb] + mov bl,[a32 abs qword es:0xbbbbbbbb] + mov ax,[a32 abs qword es:0xbbbbbbbb] + mov bx,[a32 abs qword es:0xbbbbbbbb] + mov eax,[a32 abs qword es:0xbbbbbbbb] + mov ebx,[a32 abs qword es:0xbbbbbbbb] + mov rax,[a32 abs qword es:0xbbbbbbbb] + mov rbx,[a32 abs qword es:0xbbbbbbbb] + mov al,[a32 abs qword es:0xffffffffcccccccc] + mov bl,[a32 abs qword es:0xffffffffcccccccc] + mov ax,[a32 abs qword es:0xffffffffcccccccc] + mov bx,[a32 abs qword es:0xffffffffcccccccc] + mov eax,[a32 abs qword es:0xffffffffcccccccc] + mov ebx,[a32 abs qword es:0xffffffffcccccccc] + mov rax,[a32 abs qword es:0xffffffffcccccccc] + mov rbx,[a32 abs qword es:0xffffffffcccccccc] + + mov al,[rel es:foo] + mov bl,[rel es:foo] + mov ax,[rel es:foo] + mov bx,[rel es:foo] + mov eax,[rel es:foo] + mov ebx,[rel es:foo] + mov rax,[rel es:foo] + mov rbx,[rel es:foo] + mov al,[rel es:0xaaaaaaaaaaaaaaaa] + mov bl,[rel es:0xaaaaaaaaaaaaaaaa] + mov ax,[rel es:0xaaaaaaaaaaaaaaaa] + mov bx,[rel es:0xaaaaaaaaaaaaaaaa] + mov eax,[rel es:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel es:0xaaaaaaaaaaaaaaaa] + mov rax,[rel es:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel es:0xaaaaaaaaaaaaaaaa] + mov al,[rel es:0xbbbbbbbb] + mov bl,[rel es:0xbbbbbbbb] + mov ax,[rel es:0xbbbbbbbb] + mov bx,[rel es:0xbbbbbbbb] + mov eax,[rel es:0xbbbbbbbb] + mov ebx,[rel es:0xbbbbbbbb] + mov rax,[rel es:0xbbbbbbbb] + mov rbx,[rel es:0xbbbbbbbb] + mov al,[rel es:0xffffffffcccccccc] + mov bl,[rel es:0xffffffffcccccccc] + mov ax,[rel es:0xffffffffcccccccc] + mov bx,[rel es:0xffffffffcccccccc] + mov eax,[rel es:0xffffffffcccccccc] + mov ebx,[rel es:0xffffffffcccccccc] + mov rax,[rel es:0xffffffffcccccccc] + mov rbx,[rel es:0xffffffffcccccccc] + + mov al,[rel dword es:foo] + mov bl,[rel dword es:foo] + mov ax,[rel dword es:foo] + mov bx,[rel dword es:foo] + mov eax,[rel dword es:foo] + mov ebx,[rel dword es:foo] + mov rax,[rel dword es:foo] + mov rbx,[rel dword es:foo] + mov al,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov al,[rel dword es:0xbbbbbbbb] + mov bl,[rel dword es:0xbbbbbbbb] + mov ax,[rel dword es:0xbbbbbbbb] + mov bx,[rel dword es:0xbbbbbbbb] + mov eax,[rel dword es:0xbbbbbbbb] + mov ebx,[rel dword es:0xbbbbbbbb] + mov rax,[rel dword es:0xbbbbbbbb] + mov rbx,[rel dword es:0xbbbbbbbb] + mov al,[rel dword es:0xffffffffcccccccc] + mov bl,[rel dword es:0xffffffffcccccccc] + mov ax,[rel dword es:0xffffffffcccccccc] + mov bx,[rel dword es:0xffffffffcccccccc] + mov eax,[rel dword es:0xffffffffcccccccc] + mov ebx,[rel dword es:0xffffffffcccccccc] + mov rax,[rel dword es:0xffffffffcccccccc] + mov rbx,[rel dword es:0xffffffffcccccccc] + + mov al,[rel qword es:foo] + mov bl,[rel qword es:foo] + mov ax,[rel qword es:foo] + mov bx,[rel qword es:foo] + mov eax,[rel qword es:foo] + mov ebx,[rel qword es:foo] + mov rax,[rel qword es:foo] + mov rbx,[rel qword es:foo] + mov al,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov al,[rel qword es:0xbbbbbbbb] + mov bl,[rel qword es:0xbbbbbbbb] + mov ax,[rel qword es:0xbbbbbbbb] + mov bx,[rel qword es:0xbbbbbbbb] + mov eax,[rel qword es:0xbbbbbbbb] + mov ebx,[rel qword es:0xbbbbbbbb] + mov rax,[rel qword es:0xbbbbbbbb] + mov rbx,[rel qword es:0xbbbbbbbb] + mov al,[rel qword es:0xffffffffcccccccc] + mov bl,[rel qword es:0xffffffffcccccccc] + mov ax,[rel qword es:0xffffffffcccccccc] + mov bx,[rel qword es:0xffffffffcccccccc] + mov eax,[rel qword es:0xffffffffcccccccc] + mov ebx,[rel qword es:0xffffffffcccccccc] + mov rax,[rel qword es:0xffffffffcccccccc] + mov rbx,[rel qword es:0xffffffffcccccccc] + + mov al,[a64 rel es:foo] + mov bl,[a64 rel es:foo] + mov ax,[a64 rel es:foo] + mov bx,[a64 rel es:foo] + mov eax,[a64 rel es:foo] + mov ebx,[a64 rel es:foo] + mov rax,[a64 rel es:foo] + mov rbx,[a64 rel es:foo] + mov al,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel es:0xbbbbbbbb] + mov bl,[a64 rel es:0xbbbbbbbb] + mov ax,[a64 rel es:0xbbbbbbbb] + mov bx,[a64 rel es:0xbbbbbbbb] + mov eax,[a64 rel es:0xbbbbbbbb] + mov ebx,[a64 rel es:0xbbbbbbbb] + mov rax,[a64 rel es:0xbbbbbbbb] + mov rbx,[a64 rel es:0xbbbbbbbb] + mov al,[a64 rel es:0xffffffffcccccccc] + mov bl,[a64 rel es:0xffffffffcccccccc] + mov ax,[a64 rel es:0xffffffffcccccccc] + mov bx,[a64 rel es:0xffffffffcccccccc] + mov eax,[a64 rel es:0xffffffffcccccccc] + mov ebx,[a64 rel es:0xffffffffcccccccc] + mov rax,[a64 rel es:0xffffffffcccccccc] + mov rbx,[a64 rel es:0xffffffffcccccccc] + + mov al,[a64 rel dword es:foo] + mov bl,[a64 rel dword es:foo] + mov ax,[a64 rel dword es:foo] + mov bx,[a64 rel dword es:foo] + mov eax,[a64 rel dword es:foo] + mov ebx,[a64 rel dword es:foo] + mov rax,[a64 rel dword es:foo] + mov rbx,[a64 rel dword es:foo] + mov al,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel dword es:0xbbbbbbbb] + mov bl,[a64 rel dword es:0xbbbbbbbb] + mov ax,[a64 rel dword es:0xbbbbbbbb] + mov bx,[a64 rel dword es:0xbbbbbbbb] + mov eax,[a64 rel dword es:0xbbbbbbbb] + mov ebx,[a64 rel dword es:0xbbbbbbbb] + mov rax,[a64 rel dword es:0xbbbbbbbb] + mov rbx,[a64 rel dword es:0xbbbbbbbb] + mov al,[a64 rel dword es:0xffffffffcccccccc] + mov bl,[a64 rel dword es:0xffffffffcccccccc] + mov ax,[a64 rel dword es:0xffffffffcccccccc] + mov bx,[a64 rel dword es:0xffffffffcccccccc] + mov eax,[a64 rel dword es:0xffffffffcccccccc] + mov ebx,[a64 rel dword es:0xffffffffcccccccc] + mov rax,[a64 rel dword es:0xffffffffcccccccc] + mov rbx,[a64 rel dword es:0xffffffffcccccccc] + + mov al,[a64 rel qword es:foo] + mov bl,[a64 rel qword es:foo] + mov ax,[a64 rel qword es:foo] + mov bx,[a64 rel qword es:foo] + mov eax,[a64 rel qword es:foo] + mov ebx,[a64 rel qword es:foo] + mov rax,[a64 rel qword es:foo] + mov rbx,[a64 rel qword es:foo] + mov al,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel qword es:0xbbbbbbbb] + mov bl,[a64 rel qword es:0xbbbbbbbb] + mov ax,[a64 rel qword es:0xbbbbbbbb] + mov bx,[a64 rel qword es:0xbbbbbbbb] + mov eax,[a64 rel qword es:0xbbbbbbbb] + mov ebx,[a64 rel qword es:0xbbbbbbbb] + mov rax,[a64 rel qword es:0xbbbbbbbb] + mov rbx,[a64 rel qword es:0xbbbbbbbb] + mov al,[a64 rel qword es:0xffffffffcccccccc] + mov bl,[a64 rel qword es:0xffffffffcccccccc] + mov ax,[a64 rel qword es:0xffffffffcccccccc] + mov bx,[a64 rel qword es:0xffffffffcccccccc] + mov eax,[a64 rel qword es:0xffffffffcccccccc] + mov ebx,[a64 rel qword es:0xffffffffcccccccc] + mov rax,[a64 rel qword es:0xffffffffcccccccc] + mov rbx,[a64 rel qword es:0xffffffffcccccccc] + + mov al,[a32 rel es:foo] + mov bl,[a32 rel es:foo] + mov ax,[a32 rel es:foo] + mov bx,[a32 rel es:foo] + mov eax,[a32 rel es:foo] + mov ebx,[a32 rel es:foo] + mov rax,[a32 rel es:foo] + mov rbx,[a32 rel es:foo] + mov al,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel es:0xbbbbbbbb] + mov bl,[a32 rel es:0xbbbbbbbb] + mov ax,[a32 rel es:0xbbbbbbbb] + mov bx,[a32 rel es:0xbbbbbbbb] + mov eax,[a32 rel es:0xbbbbbbbb] + mov ebx,[a32 rel es:0xbbbbbbbb] + mov rax,[a32 rel es:0xbbbbbbbb] + mov rbx,[a32 rel es:0xbbbbbbbb] + mov al,[a32 rel es:0xffffffffcccccccc] + mov bl,[a32 rel es:0xffffffffcccccccc] + mov ax,[a32 rel es:0xffffffffcccccccc] + mov bx,[a32 rel es:0xffffffffcccccccc] + mov eax,[a32 rel es:0xffffffffcccccccc] + mov ebx,[a32 rel es:0xffffffffcccccccc] + mov rax,[a32 rel es:0xffffffffcccccccc] + mov rbx,[a32 rel es:0xffffffffcccccccc] + + mov al,[a32 rel dword es:foo] + mov bl,[a32 rel dword es:foo] + mov ax,[a32 rel dword es:foo] + mov bx,[a32 rel dword es:foo] + mov eax,[a32 rel dword es:foo] + mov ebx,[a32 rel dword es:foo] + mov rax,[a32 rel dword es:foo] + mov rbx,[a32 rel dword es:foo] + mov al,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel dword es:0xbbbbbbbb] + mov bl,[a32 rel dword es:0xbbbbbbbb] + mov ax,[a32 rel dword es:0xbbbbbbbb] + mov bx,[a32 rel dword es:0xbbbbbbbb] + mov eax,[a32 rel dword es:0xbbbbbbbb] + mov ebx,[a32 rel dword es:0xbbbbbbbb] + mov rax,[a32 rel dword es:0xbbbbbbbb] + mov rbx,[a32 rel dword es:0xbbbbbbbb] + mov al,[a32 rel dword es:0xffffffffcccccccc] + mov bl,[a32 rel dword es:0xffffffffcccccccc] + mov ax,[a32 rel dword es:0xffffffffcccccccc] + mov bx,[a32 rel dword es:0xffffffffcccccccc] + mov eax,[a32 rel dword es:0xffffffffcccccccc] + mov ebx,[a32 rel dword es:0xffffffffcccccccc] + mov rax,[a32 rel dword es:0xffffffffcccccccc] + mov rbx,[a32 rel dword es:0xffffffffcccccccc] + + mov al,[a32 rel qword es:foo] + mov bl,[a32 rel qword es:foo] + mov ax,[a32 rel qword es:foo] + mov bx,[a32 rel qword es:foo] + mov eax,[a32 rel qword es:foo] + mov ebx,[a32 rel qword es:foo] + mov rax,[a32 rel qword es:foo] + mov rbx,[a32 rel qword es:foo] + mov al,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel qword es:0xbbbbbbbb] + mov bl,[a32 rel qword es:0xbbbbbbbb] + mov ax,[a32 rel qword es:0xbbbbbbbb] + mov bx,[a32 rel qword es:0xbbbbbbbb] + mov eax,[a32 rel qword es:0xbbbbbbbb] + mov ebx,[a32 rel qword es:0xbbbbbbbb] + mov rax,[a32 rel qword es:0xbbbbbbbb] + mov rbx,[a32 rel qword es:0xbbbbbbbb] + mov al,[a32 rel qword es:0xffffffffcccccccc] + mov bl,[a32 rel qword es:0xffffffffcccccccc] + mov ax,[a32 rel qword es:0xffffffffcccccccc] + mov bx,[a32 rel qword es:0xffffffffcccccccc] + mov eax,[a32 rel qword es:0xffffffffcccccccc] + mov ebx,[a32 rel qword es:0xffffffffcccccccc] + mov rax,[a32 rel qword es:0xffffffffcccccccc] + mov rbx,[a32 rel qword es:0xffffffffcccccccc] + + + default rel + + mov al,[foo] + mov bl,[foo] + mov ax,[foo] + mov bx,[foo] + mov eax,[foo] + mov ebx,[foo] + mov rax,[foo] + mov rbx,[foo] + mov al,[0xaaaaaaaaaaaaaaaa] + mov bl,[0xaaaaaaaaaaaaaaaa] + mov ax,[0xaaaaaaaaaaaaaaaa] + mov bx,[0xaaaaaaaaaaaaaaaa] + mov eax,[0xaaaaaaaaaaaaaaaa] + mov ebx,[0xaaaaaaaaaaaaaaaa] + mov rax,[0xaaaaaaaaaaaaaaaa] + mov rbx,[0xaaaaaaaaaaaaaaaa] + mov al,[0xbbbbbbbb] + mov bl,[0xbbbbbbbb] + mov ax,[0xbbbbbbbb] + mov bx,[0xbbbbbbbb] + mov eax,[0xbbbbbbbb] + mov ebx,[0xbbbbbbbb] + mov rax,[0xbbbbbbbb] + mov rbx,[0xbbbbbbbb] + mov al,[0xffffffffcccccccc] + mov bl,[0xffffffffcccccccc] + mov ax,[0xffffffffcccccccc] + mov bx,[0xffffffffcccccccc] + mov eax,[0xffffffffcccccccc] + mov ebx,[0xffffffffcccccccc] + mov rax,[0xffffffffcccccccc] + mov rbx,[0xffffffffcccccccc] + + mov al,[dword foo] + mov bl,[dword foo] + mov ax,[dword foo] + mov bx,[dword foo] + mov eax,[dword foo] + mov ebx,[dword foo] + mov rax,[dword foo] + mov rbx,[dword foo] + mov al,[dword 0xaaaaaaaaaaaaaaaa] + mov bl,[dword 0xaaaaaaaaaaaaaaaa] + mov ax,[dword 0xaaaaaaaaaaaaaaaa] + mov bx,[dword 0xaaaaaaaaaaaaaaaa] + mov eax,[dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[dword 0xaaaaaaaaaaaaaaaa] + mov rax,[dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[dword 0xaaaaaaaaaaaaaaaa] + mov al,[dword 0xbbbbbbbb] + mov bl,[dword 0xbbbbbbbb] + mov ax,[dword 0xbbbbbbbb] + mov bx,[dword 0xbbbbbbbb] + mov eax,[dword 0xbbbbbbbb] + mov ebx,[dword 0xbbbbbbbb] + mov rax,[dword 0xbbbbbbbb] + mov rbx,[dword 0xbbbbbbbb] + mov al,[dword 0xffffffffcccccccc] + mov bl,[dword 0xffffffffcccccccc] + mov ax,[dword 0xffffffffcccccccc] + mov bx,[dword 0xffffffffcccccccc] + mov eax,[dword 0xffffffffcccccccc] + mov ebx,[dword 0xffffffffcccccccc] + mov rax,[dword 0xffffffffcccccccc] + mov rbx,[dword 0xffffffffcccccccc] + + mov al,[qword foo] + mov bl,[qword foo] + mov ax,[qword foo] + mov bx,[qword foo] + mov eax,[qword foo] + mov ebx,[qword foo] + mov rax,[qword foo] + mov rbx,[qword foo] + mov al,[qword 0xaaaaaaaaaaaaaaaa] + mov bl,[qword 0xaaaaaaaaaaaaaaaa] + mov ax,[qword 0xaaaaaaaaaaaaaaaa] + mov bx,[qword 0xaaaaaaaaaaaaaaaa] + mov eax,[qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[qword 0xaaaaaaaaaaaaaaaa] + mov rax,[qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[qword 0xaaaaaaaaaaaaaaaa] + mov al,[qword 0xbbbbbbbb] + mov bl,[qword 0xbbbbbbbb] + mov ax,[qword 0xbbbbbbbb] + mov bx,[qword 0xbbbbbbbb] + mov eax,[qword 0xbbbbbbbb] + mov ebx,[qword 0xbbbbbbbb] + mov rax,[qword 0xbbbbbbbb] + mov rbx,[qword 0xbbbbbbbb] + mov al,[qword 0xffffffffcccccccc] + mov bl,[qword 0xffffffffcccccccc] + mov ax,[qword 0xffffffffcccccccc] + mov bx,[qword 0xffffffffcccccccc] + mov eax,[qword 0xffffffffcccccccc] + mov ebx,[qword 0xffffffffcccccccc] + mov rax,[qword 0xffffffffcccccccc] + mov rbx,[qword 0xffffffffcccccccc] + + mov al,[a64 foo] + mov bl,[a64 foo] + mov ax,[a64 foo] + mov bx,[a64 foo] + mov eax,[a64 foo] + mov ebx,[a64 foo] + mov rax,[a64 foo] + mov rbx,[a64 foo] + mov al,[a64 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 0xaaaaaaaaaaaaaaaa] + mov al,[a64 0xbbbbbbbb] + mov bl,[a64 0xbbbbbbbb] + mov ax,[a64 0xbbbbbbbb] + mov bx,[a64 0xbbbbbbbb] + mov eax,[a64 0xbbbbbbbb] + mov ebx,[a64 0xbbbbbbbb] + mov rax,[a64 0xbbbbbbbb] + mov rbx,[a64 0xbbbbbbbb] + mov al,[a64 0xffffffffcccccccc] + mov bl,[a64 0xffffffffcccccccc] + mov ax,[a64 0xffffffffcccccccc] + mov bx,[a64 0xffffffffcccccccc] + mov eax,[a64 0xffffffffcccccccc] + mov ebx,[a64 0xffffffffcccccccc] + mov rax,[a64 0xffffffffcccccccc] + mov rbx,[a64 0xffffffffcccccccc] + + mov al,[a64 dword foo] + mov bl,[a64 dword foo] + mov ax,[a64 dword foo] + mov bx,[a64 dword foo] + mov eax,[a64 dword foo] + mov ebx,[a64 dword foo] + mov rax,[a64 dword foo] + mov rbx,[a64 dword foo] + mov al,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 dword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 dword 0xbbbbbbbb] + mov bl,[a64 dword 0xbbbbbbbb] + mov ax,[a64 dword 0xbbbbbbbb] + mov bx,[a64 dword 0xbbbbbbbb] + mov eax,[a64 dword 0xbbbbbbbb] + mov ebx,[a64 dword 0xbbbbbbbb] + mov rax,[a64 dword 0xbbbbbbbb] + mov rbx,[a64 dword 0xbbbbbbbb] + mov al,[a64 dword 0xffffffffcccccccc] + mov bl,[a64 dword 0xffffffffcccccccc] + mov ax,[a64 dword 0xffffffffcccccccc] + mov bx,[a64 dword 0xffffffffcccccccc] + mov eax,[a64 dword 0xffffffffcccccccc] + mov ebx,[a64 dword 0xffffffffcccccccc] + mov rax,[a64 dword 0xffffffffcccccccc] + mov rbx,[a64 dword 0xffffffffcccccccc] + + mov al,[a64 qword foo] + mov bl,[a64 qword foo] + mov ax,[a64 qword foo] + mov bx,[a64 qword foo] + mov eax,[a64 qword foo] + mov ebx,[a64 qword foo] + mov rax,[a64 qword foo] + mov rbx,[a64 qword foo] + mov al,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 qword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 qword 0xbbbbbbbb] + mov bl,[a64 qword 0xbbbbbbbb] + mov ax,[a64 qword 0xbbbbbbbb] + mov bx,[a64 qword 0xbbbbbbbb] + mov eax,[a64 qword 0xbbbbbbbb] + mov ebx,[a64 qword 0xbbbbbbbb] + mov rax,[a64 qword 0xbbbbbbbb] + mov rbx,[a64 qword 0xbbbbbbbb] + mov al,[a64 qword 0xffffffffcccccccc] + mov bl,[a64 qword 0xffffffffcccccccc] + mov ax,[a64 qword 0xffffffffcccccccc] + mov bx,[a64 qword 0xffffffffcccccccc] + mov eax,[a64 qword 0xffffffffcccccccc] + mov ebx,[a64 qword 0xffffffffcccccccc] + mov rax,[a64 qword 0xffffffffcccccccc] + mov rbx,[a64 qword 0xffffffffcccccccc] + + mov al,[a32 foo] + mov bl,[a32 foo] + mov ax,[a32 foo] + mov bx,[a32 foo] + mov eax,[a32 foo] + mov ebx,[a32 foo] + mov rax,[a32 foo] + mov rbx,[a32 foo] + mov al,[a32 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 0xaaaaaaaaaaaaaaaa] + mov al,[a32 0xbbbbbbbb] + mov bl,[a32 0xbbbbbbbb] + mov ax,[a32 0xbbbbbbbb] + mov bx,[a32 0xbbbbbbbb] + mov eax,[a32 0xbbbbbbbb] + mov ebx,[a32 0xbbbbbbbb] + mov rax,[a32 0xbbbbbbbb] + mov rbx,[a32 0xbbbbbbbb] + mov al,[a32 0xffffffffcccccccc] + mov bl,[a32 0xffffffffcccccccc] + mov ax,[a32 0xffffffffcccccccc] + mov bx,[a32 0xffffffffcccccccc] + mov eax,[a32 0xffffffffcccccccc] + mov ebx,[a32 0xffffffffcccccccc] + mov rax,[a32 0xffffffffcccccccc] + mov rbx,[a32 0xffffffffcccccccc] + + mov al,[a32 dword foo] + mov bl,[a32 dword foo] + mov ax,[a32 dword foo] + mov bx,[a32 dword foo] + mov eax,[a32 dword foo] + mov ebx,[a32 dword foo] + mov rax,[a32 dword foo] + mov rbx,[a32 dword foo] + mov al,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 dword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 dword 0xbbbbbbbb] + mov bl,[a32 dword 0xbbbbbbbb] + mov ax,[a32 dword 0xbbbbbbbb] + mov bx,[a32 dword 0xbbbbbbbb] + mov eax,[a32 dword 0xbbbbbbbb] + mov ebx,[a32 dword 0xbbbbbbbb] + mov rax,[a32 dword 0xbbbbbbbb] + mov rbx,[a32 dword 0xbbbbbbbb] + mov al,[a32 dword 0xffffffffcccccccc] + mov bl,[a32 dword 0xffffffffcccccccc] + mov ax,[a32 dword 0xffffffffcccccccc] + mov bx,[a32 dword 0xffffffffcccccccc] + mov eax,[a32 dword 0xffffffffcccccccc] + mov ebx,[a32 dword 0xffffffffcccccccc] + mov rax,[a32 dword 0xffffffffcccccccc] + mov rbx,[a32 dword 0xffffffffcccccccc] + + mov al,[a32 qword foo] + mov bl,[a32 qword foo] + mov ax,[a32 qword foo] + mov bx,[a32 qword foo] + mov eax,[a32 qword foo] + mov ebx,[a32 qword foo] + mov rax,[a32 qword foo] + mov rbx,[a32 qword foo] + mov al,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 qword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 qword 0xbbbbbbbb] + mov bl,[a32 qword 0xbbbbbbbb] + mov ax,[a32 qword 0xbbbbbbbb] + mov bx,[a32 qword 0xbbbbbbbb] + mov eax,[a32 qword 0xbbbbbbbb] + mov ebx,[a32 qword 0xbbbbbbbb] + mov rax,[a32 qword 0xbbbbbbbb] + mov rbx,[a32 qword 0xbbbbbbbb] + mov al,[a32 qword 0xffffffffcccccccc] + mov bl,[a32 qword 0xffffffffcccccccc] + mov ax,[a32 qword 0xffffffffcccccccc] + mov bx,[a32 qword 0xffffffffcccccccc] + mov eax,[a32 qword 0xffffffffcccccccc] + mov ebx,[a32 qword 0xffffffffcccccccc] + mov rax,[a32 qword 0xffffffffcccccccc] + mov rbx,[a32 qword 0xffffffffcccccccc] + + mov al,[abs foo] + mov bl,[abs foo] + mov ax,[abs foo] + mov bx,[abs foo] + mov eax,[abs foo] + mov ebx,[abs foo] + mov rax,[abs foo] + mov rbx,[abs foo] + mov al,[abs 0xaaaaaaaaaaaaaaaa] + mov bl,[abs 0xaaaaaaaaaaaaaaaa] + mov ax,[abs 0xaaaaaaaaaaaaaaaa] + mov bx,[abs 0xaaaaaaaaaaaaaaaa] + mov eax,[abs 0xaaaaaaaaaaaaaaaa] + mov ebx,[abs 0xaaaaaaaaaaaaaaaa] + mov rax,[abs 0xaaaaaaaaaaaaaaaa] + mov rbx,[abs 0xaaaaaaaaaaaaaaaa] + mov al,[abs 0xbbbbbbbb] + mov bl,[abs 0xbbbbbbbb] + mov ax,[abs 0xbbbbbbbb] + mov bx,[abs 0xbbbbbbbb] + mov eax,[abs 0xbbbbbbbb] + mov ebx,[abs 0xbbbbbbbb] + mov rax,[abs 0xbbbbbbbb] + mov rbx,[abs 0xbbbbbbbb] + mov al,[abs 0xffffffffcccccccc] + mov bl,[abs 0xffffffffcccccccc] + mov ax,[abs 0xffffffffcccccccc] + mov bx,[abs 0xffffffffcccccccc] + mov eax,[abs 0xffffffffcccccccc] + mov ebx,[abs 0xffffffffcccccccc] + mov rax,[abs 0xffffffffcccccccc] + mov rbx,[abs 0xffffffffcccccccc] + + mov al,[abs dword foo] + mov bl,[abs dword foo] + mov ax,[abs dword foo] + mov bx,[abs dword foo] + mov eax,[abs dword foo] + mov ebx,[abs dword foo] + mov rax,[abs dword foo] + mov rbx,[abs dword foo] + mov al,[abs dword 0xaaaaaaaaaaaaaaaa] + mov bl,[abs dword 0xaaaaaaaaaaaaaaaa] + mov ax,[abs dword 0xaaaaaaaaaaaaaaaa] + mov bx,[abs dword 0xaaaaaaaaaaaaaaaa] + mov eax,[abs dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[abs dword 0xaaaaaaaaaaaaaaaa] + mov rax,[abs dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[abs dword 0xaaaaaaaaaaaaaaaa] + mov al,[abs dword 0xbbbbbbbb] + mov bl,[abs dword 0xbbbbbbbb] + mov ax,[abs dword 0xbbbbbbbb] + mov bx,[abs dword 0xbbbbbbbb] + mov eax,[abs dword 0xbbbbbbbb] + mov ebx,[abs dword 0xbbbbbbbb] + mov rax,[abs dword 0xbbbbbbbb] + mov rbx,[abs dword 0xbbbbbbbb] + mov al,[abs dword 0xffffffffcccccccc] + mov bl,[abs dword 0xffffffffcccccccc] + mov ax,[abs dword 0xffffffffcccccccc] + mov bx,[abs dword 0xffffffffcccccccc] + mov eax,[abs dword 0xffffffffcccccccc] + mov ebx,[abs dword 0xffffffffcccccccc] + mov rax,[abs dword 0xffffffffcccccccc] + mov rbx,[abs dword 0xffffffffcccccccc] + + mov al,[abs qword foo] + mov bl,[abs qword foo] + mov ax,[abs qword foo] + mov bx,[abs qword foo] + mov eax,[abs qword foo] + mov ebx,[abs qword foo] + mov rax,[abs qword foo] + mov rbx,[abs qword foo] + mov al,[abs qword 0xaaaaaaaaaaaaaaaa] + mov bl,[abs qword 0xaaaaaaaaaaaaaaaa] + mov ax,[abs qword 0xaaaaaaaaaaaaaaaa] + mov bx,[abs qword 0xaaaaaaaaaaaaaaaa] + mov eax,[abs qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[abs qword 0xaaaaaaaaaaaaaaaa] + mov rax,[abs qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[abs qword 0xaaaaaaaaaaaaaaaa] + mov al,[abs qword 0xbbbbbbbb] + mov bl,[abs qword 0xbbbbbbbb] + mov ax,[abs qword 0xbbbbbbbb] + mov bx,[abs qword 0xbbbbbbbb] + mov eax,[abs qword 0xbbbbbbbb] + mov ebx,[abs qword 0xbbbbbbbb] + mov rax,[abs qword 0xbbbbbbbb] + mov rbx,[abs qword 0xbbbbbbbb] + mov al,[abs qword 0xffffffffcccccccc] + mov bl,[abs qword 0xffffffffcccccccc] + mov ax,[abs qword 0xffffffffcccccccc] + mov bx,[abs qword 0xffffffffcccccccc] + mov eax,[abs qword 0xffffffffcccccccc] + mov ebx,[abs qword 0xffffffffcccccccc] + mov rax,[abs qword 0xffffffffcccccccc] + mov rbx,[abs qword 0xffffffffcccccccc] + + mov al,[a64 abs foo] + mov bl,[a64 abs foo] + mov ax,[a64 abs foo] + mov bx,[a64 abs foo] + mov eax,[a64 abs foo] + mov ebx,[a64 abs foo] + mov rax,[a64 abs foo] + mov rbx,[a64 abs foo] + mov al,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs 0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs 0xbbbbbbbb] + mov bl,[a64 abs 0xbbbbbbbb] + mov ax,[a64 abs 0xbbbbbbbb] + mov bx,[a64 abs 0xbbbbbbbb] + mov eax,[a64 abs 0xbbbbbbbb] + mov ebx,[a64 abs 0xbbbbbbbb] + mov rax,[a64 abs 0xbbbbbbbb] + mov rbx,[a64 abs 0xbbbbbbbb] + mov al,[a64 abs 0xffffffffcccccccc] + mov bl,[a64 abs 0xffffffffcccccccc] + mov ax,[a64 abs 0xffffffffcccccccc] + mov bx,[a64 abs 0xffffffffcccccccc] + mov eax,[a64 abs 0xffffffffcccccccc] + mov ebx,[a64 abs 0xffffffffcccccccc] + mov rax,[a64 abs 0xffffffffcccccccc] + mov rbx,[a64 abs 0xffffffffcccccccc] + + mov al,[a64 abs dword foo] + mov bl,[a64 abs dword foo] + mov ax,[a64 abs dword foo] + mov bx,[a64 abs dword foo] + mov eax,[a64 abs dword foo] + mov ebx,[a64 abs dword foo] + mov rax,[a64 abs dword foo] + mov rbx,[a64 abs dword foo] + mov al,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs dword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs dword 0xbbbbbbbb] + mov bl,[a64 abs dword 0xbbbbbbbb] + mov ax,[a64 abs dword 0xbbbbbbbb] + mov bx,[a64 abs dword 0xbbbbbbbb] + mov eax,[a64 abs dword 0xbbbbbbbb] + mov ebx,[a64 abs dword 0xbbbbbbbb] + mov rax,[a64 abs dword 0xbbbbbbbb] + mov rbx,[a64 abs dword 0xbbbbbbbb] + mov al,[a64 abs dword 0xffffffffcccccccc] + mov bl,[a64 abs dword 0xffffffffcccccccc] + mov ax,[a64 abs dword 0xffffffffcccccccc] + mov bx,[a64 abs dword 0xffffffffcccccccc] + mov eax,[a64 abs dword 0xffffffffcccccccc] + mov ebx,[a64 abs dword 0xffffffffcccccccc] + mov rax,[a64 abs dword 0xffffffffcccccccc] + mov rbx,[a64 abs dword 0xffffffffcccccccc] + + mov al,[a64 abs qword foo] + mov bl,[a64 abs qword foo] + mov ax,[a64 abs qword foo] + mov bx,[a64 abs qword foo] + mov eax,[a64 abs qword foo] + mov ebx,[a64 abs qword foo] + mov rax,[a64 abs qword foo] + mov rbx,[a64 abs qword foo] + mov al,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs qword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs qword 0xbbbbbbbb] + mov bl,[a64 abs qword 0xbbbbbbbb] + mov ax,[a64 abs qword 0xbbbbbbbb] + mov bx,[a64 abs qword 0xbbbbbbbb] + mov eax,[a64 abs qword 0xbbbbbbbb] + mov ebx,[a64 abs qword 0xbbbbbbbb] + mov rax,[a64 abs qword 0xbbbbbbbb] + mov rbx,[a64 abs qword 0xbbbbbbbb] + mov al,[a64 abs qword 0xffffffffcccccccc] + mov bl,[a64 abs qword 0xffffffffcccccccc] + mov ax,[a64 abs qword 0xffffffffcccccccc] + mov bx,[a64 abs qword 0xffffffffcccccccc] + mov eax,[a64 abs qword 0xffffffffcccccccc] + mov ebx,[a64 abs qword 0xffffffffcccccccc] + mov rax,[a64 abs qword 0xffffffffcccccccc] + mov rbx,[a64 abs qword 0xffffffffcccccccc] + + mov al,[a32 abs foo] + mov bl,[a32 abs foo] + mov ax,[a32 abs foo] + mov bx,[a32 abs foo] + mov eax,[a32 abs foo] + mov ebx,[a32 abs foo] + mov rax,[a32 abs foo] + mov rbx,[a32 abs foo] + mov al,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs 0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs 0xbbbbbbbb] + mov bl,[a32 abs 0xbbbbbbbb] + mov ax,[a32 abs 0xbbbbbbbb] + mov bx,[a32 abs 0xbbbbbbbb] + mov eax,[a32 abs 0xbbbbbbbb] + mov ebx,[a32 abs 0xbbbbbbbb] + mov rax,[a32 abs 0xbbbbbbbb] + mov rbx,[a32 abs 0xbbbbbbbb] + mov al,[a32 abs 0xffffffffcccccccc] + mov bl,[a32 abs 0xffffffffcccccccc] + mov ax,[a32 abs 0xffffffffcccccccc] + mov bx,[a32 abs 0xffffffffcccccccc] + mov eax,[a32 abs 0xffffffffcccccccc] + mov ebx,[a32 abs 0xffffffffcccccccc] + mov rax,[a32 abs 0xffffffffcccccccc] + mov rbx,[a32 abs 0xffffffffcccccccc] + + mov al,[a32 abs dword foo] + mov bl,[a32 abs dword foo] + mov ax,[a32 abs dword foo] + mov bx,[a32 abs dword foo] + mov eax,[a32 abs dword foo] + mov ebx,[a32 abs dword foo] + mov rax,[a32 abs dword foo] + mov rbx,[a32 abs dword foo] + mov al,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs dword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs dword 0xbbbbbbbb] + mov bl,[a32 abs dword 0xbbbbbbbb] + mov ax,[a32 abs dword 0xbbbbbbbb] + mov bx,[a32 abs dword 0xbbbbbbbb] + mov eax,[a32 abs dword 0xbbbbbbbb] + mov ebx,[a32 abs dword 0xbbbbbbbb] + mov rax,[a32 abs dword 0xbbbbbbbb] + mov rbx,[a32 abs dword 0xbbbbbbbb] + mov al,[a32 abs dword 0xffffffffcccccccc] + mov bl,[a32 abs dword 0xffffffffcccccccc] + mov ax,[a32 abs dword 0xffffffffcccccccc] + mov bx,[a32 abs dword 0xffffffffcccccccc] + mov eax,[a32 abs dword 0xffffffffcccccccc] + mov ebx,[a32 abs dword 0xffffffffcccccccc] + mov rax,[a32 abs dword 0xffffffffcccccccc] + mov rbx,[a32 abs dword 0xffffffffcccccccc] + + mov al,[a32 abs qword foo] + mov bl,[a32 abs qword foo] + mov ax,[a32 abs qword foo] + mov bx,[a32 abs qword foo] + mov eax,[a32 abs qword foo] + mov ebx,[a32 abs qword foo] + mov rax,[a32 abs qword foo] + mov rbx,[a32 abs qword foo] + mov al,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs qword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs qword 0xbbbbbbbb] + mov bl,[a32 abs qword 0xbbbbbbbb] + mov ax,[a32 abs qword 0xbbbbbbbb] + mov bx,[a32 abs qword 0xbbbbbbbb] + mov eax,[a32 abs qword 0xbbbbbbbb] + mov ebx,[a32 abs qword 0xbbbbbbbb] + mov rax,[a32 abs qword 0xbbbbbbbb] + mov rbx,[a32 abs qword 0xbbbbbbbb] + mov al,[a32 abs qword 0xffffffffcccccccc] + mov bl,[a32 abs qword 0xffffffffcccccccc] + mov ax,[a32 abs qword 0xffffffffcccccccc] + mov bx,[a32 abs qword 0xffffffffcccccccc] + mov eax,[a32 abs qword 0xffffffffcccccccc] + mov ebx,[a32 abs qword 0xffffffffcccccccc] + mov rax,[a32 abs qword 0xffffffffcccccccc] + mov rbx,[a32 abs qword 0xffffffffcccccccc] + + mov al,[rel foo] + mov bl,[rel foo] + mov ax,[rel foo] + mov bx,[rel foo] + mov eax,[rel foo] + mov ebx,[rel foo] + mov rax,[rel foo] + mov rbx,[rel foo] + mov al,[rel 0xaaaaaaaaaaaaaaaa] + mov bl,[rel 0xaaaaaaaaaaaaaaaa] + mov ax,[rel 0xaaaaaaaaaaaaaaaa] + mov bx,[rel 0xaaaaaaaaaaaaaaaa] + mov eax,[rel 0xaaaaaaaaaaaaaaaa] + mov ebx,[rel 0xaaaaaaaaaaaaaaaa] + mov rax,[rel 0xaaaaaaaaaaaaaaaa] + mov rbx,[rel 0xaaaaaaaaaaaaaaaa] + mov al,[rel 0xbbbbbbbb] + mov bl,[rel 0xbbbbbbbb] + mov ax,[rel 0xbbbbbbbb] + mov bx,[rel 0xbbbbbbbb] + mov eax,[rel 0xbbbbbbbb] + mov ebx,[rel 0xbbbbbbbb] + mov rax,[rel 0xbbbbbbbb] + mov rbx,[rel 0xbbbbbbbb] + mov al,[rel 0xffffffffcccccccc] + mov bl,[rel 0xffffffffcccccccc] + mov ax,[rel 0xffffffffcccccccc] + mov bx,[rel 0xffffffffcccccccc] + mov eax,[rel 0xffffffffcccccccc] + mov ebx,[rel 0xffffffffcccccccc] + mov rax,[rel 0xffffffffcccccccc] + mov rbx,[rel 0xffffffffcccccccc] + + mov al,[rel dword foo] + mov bl,[rel dword foo] + mov ax,[rel dword foo] + mov bx,[rel dword foo] + mov eax,[rel dword foo] + mov ebx,[rel dword foo] + mov rax,[rel dword foo] + mov rbx,[rel dword foo] + mov al,[rel dword 0xaaaaaaaaaaaaaaaa] + mov bl,[rel dword 0xaaaaaaaaaaaaaaaa] + mov ax,[rel dword 0xaaaaaaaaaaaaaaaa] + mov bx,[rel dword 0xaaaaaaaaaaaaaaaa] + mov eax,[rel dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[rel dword 0xaaaaaaaaaaaaaaaa] + mov rax,[rel dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[rel dword 0xaaaaaaaaaaaaaaaa] + mov al,[rel dword 0xbbbbbbbb] + mov bl,[rel dword 0xbbbbbbbb] + mov ax,[rel dword 0xbbbbbbbb] + mov bx,[rel dword 0xbbbbbbbb] + mov eax,[rel dword 0xbbbbbbbb] + mov ebx,[rel dword 0xbbbbbbbb] + mov rax,[rel dword 0xbbbbbbbb] + mov rbx,[rel dword 0xbbbbbbbb] + mov al,[rel dword 0xffffffffcccccccc] + mov bl,[rel dword 0xffffffffcccccccc] + mov ax,[rel dword 0xffffffffcccccccc] + mov bx,[rel dword 0xffffffffcccccccc] + mov eax,[rel dword 0xffffffffcccccccc] + mov ebx,[rel dword 0xffffffffcccccccc] + mov rax,[rel dword 0xffffffffcccccccc] + mov rbx,[rel dword 0xffffffffcccccccc] + + mov al,[rel qword foo] + mov bl,[rel qword foo] + mov ax,[rel qword foo] + mov bx,[rel qword foo] + mov eax,[rel qword foo] + mov ebx,[rel qword foo] + mov rax,[rel qword foo] + mov rbx,[rel qword foo] + mov al,[rel qword 0xaaaaaaaaaaaaaaaa] + mov bl,[rel qword 0xaaaaaaaaaaaaaaaa] + mov ax,[rel qword 0xaaaaaaaaaaaaaaaa] + mov bx,[rel qword 0xaaaaaaaaaaaaaaaa] + mov eax,[rel qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[rel qword 0xaaaaaaaaaaaaaaaa] + mov rax,[rel qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[rel qword 0xaaaaaaaaaaaaaaaa] + mov al,[rel qword 0xbbbbbbbb] + mov bl,[rel qword 0xbbbbbbbb] + mov ax,[rel qword 0xbbbbbbbb] + mov bx,[rel qword 0xbbbbbbbb] + mov eax,[rel qword 0xbbbbbbbb] + mov ebx,[rel qword 0xbbbbbbbb] + mov rax,[rel qword 0xbbbbbbbb] + mov rbx,[rel qword 0xbbbbbbbb] + mov al,[rel qword 0xffffffffcccccccc] + mov bl,[rel qword 0xffffffffcccccccc] + mov ax,[rel qword 0xffffffffcccccccc] + mov bx,[rel qword 0xffffffffcccccccc] + mov eax,[rel qword 0xffffffffcccccccc] + mov ebx,[rel qword 0xffffffffcccccccc] + mov rax,[rel qword 0xffffffffcccccccc] + mov rbx,[rel qword 0xffffffffcccccccc] + + mov al,[a64 rel foo] + mov bl,[a64 rel foo] + mov ax,[a64 rel foo] + mov bx,[a64 rel foo] + mov eax,[a64 rel foo] + mov ebx,[a64 rel foo] + mov rax,[a64 rel foo] + mov rbx,[a64 rel foo] + mov al,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel 0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel 0xbbbbbbbb] + mov bl,[a64 rel 0xbbbbbbbb] + mov ax,[a64 rel 0xbbbbbbbb] + mov bx,[a64 rel 0xbbbbbbbb] + mov eax,[a64 rel 0xbbbbbbbb] + mov ebx,[a64 rel 0xbbbbbbbb] + mov rax,[a64 rel 0xbbbbbbbb] + mov rbx,[a64 rel 0xbbbbbbbb] + mov al,[a64 rel 0xffffffffcccccccc] + mov bl,[a64 rel 0xffffffffcccccccc] + mov ax,[a64 rel 0xffffffffcccccccc] + mov bx,[a64 rel 0xffffffffcccccccc] + mov eax,[a64 rel 0xffffffffcccccccc] + mov ebx,[a64 rel 0xffffffffcccccccc] + mov rax,[a64 rel 0xffffffffcccccccc] + mov rbx,[a64 rel 0xffffffffcccccccc] + + mov al,[a64 rel dword foo] + mov bl,[a64 rel dword foo] + mov ax,[a64 rel dword foo] + mov bx,[a64 rel dword foo] + mov eax,[a64 rel dword foo] + mov ebx,[a64 rel dword foo] + mov rax,[a64 rel dword foo] + mov rbx,[a64 rel dword foo] + mov al,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel dword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel dword 0xbbbbbbbb] + mov bl,[a64 rel dword 0xbbbbbbbb] + mov ax,[a64 rel dword 0xbbbbbbbb] + mov bx,[a64 rel dword 0xbbbbbbbb] + mov eax,[a64 rel dword 0xbbbbbbbb] + mov ebx,[a64 rel dword 0xbbbbbbbb] + mov rax,[a64 rel dword 0xbbbbbbbb] + mov rbx,[a64 rel dword 0xbbbbbbbb] + mov al,[a64 rel dword 0xffffffffcccccccc] + mov bl,[a64 rel dword 0xffffffffcccccccc] + mov ax,[a64 rel dword 0xffffffffcccccccc] + mov bx,[a64 rel dword 0xffffffffcccccccc] + mov eax,[a64 rel dword 0xffffffffcccccccc] + mov ebx,[a64 rel dword 0xffffffffcccccccc] + mov rax,[a64 rel dword 0xffffffffcccccccc] + mov rbx,[a64 rel dword 0xffffffffcccccccc] + + mov al,[a64 rel qword foo] + mov bl,[a64 rel qword foo] + mov ax,[a64 rel qword foo] + mov bx,[a64 rel qword foo] + mov eax,[a64 rel qword foo] + mov ebx,[a64 rel qword foo] + mov rax,[a64 rel qword foo] + mov rbx,[a64 rel qword foo] + mov al,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel qword 0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel qword 0xbbbbbbbb] + mov bl,[a64 rel qword 0xbbbbbbbb] + mov ax,[a64 rel qword 0xbbbbbbbb] + mov bx,[a64 rel qword 0xbbbbbbbb] + mov eax,[a64 rel qword 0xbbbbbbbb] + mov ebx,[a64 rel qword 0xbbbbbbbb] + mov rax,[a64 rel qword 0xbbbbbbbb] + mov rbx,[a64 rel qword 0xbbbbbbbb] + mov al,[a64 rel qword 0xffffffffcccccccc] + mov bl,[a64 rel qword 0xffffffffcccccccc] + mov ax,[a64 rel qword 0xffffffffcccccccc] + mov bx,[a64 rel qword 0xffffffffcccccccc] + mov eax,[a64 rel qword 0xffffffffcccccccc] + mov ebx,[a64 rel qword 0xffffffffcccccccc] + mov rax,[a64 rel qword 0xffffffffcccccccc] + mov rbx,[a64 rel qword 0xffffffffcccccccc] + + mov al,[a32 rel foo] + mov bl,[a32 rel foo] + mov ax,[a32 rel foo] + mov bx,[a32 rel foo] + mov eax,[a32 rel foo] + mov ebx,[a32 rel foo] + mov rax,[a32 rel foo] + mov rbx,[a32 rel foo] + mov al,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel 0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel 0xbbbbbbbb] + mov bl,[a32 rel 0xbbbbbbbb] + mov ax,[a32 rel 0xbbbbbbbb] + mov bx,[a32 rel 0xbbbbbbbb] + mov eax,[a32 rel 0xbbbbbbbb] + mov ebx,[a32 rel 0xbbbbbbbb] + mov rax,[a32 rel 0xbbbbbbbb] + mov rbx,[a32 rel 0xbbbbbbbb] + mov al,[a32 rel 0xffffffffcccccccc] + mov bl,[a32 rel 0xffffffffcccccccc] + mov ax,[a32 rel 0xffffffffcccccccc] + mov bx,[a32 rel 0xffffffffcccccccc] + mov eax,[a32 rel 0xffffffffcccccccc] + mov ebx,[a32 rel 0xffffffffcccccccc] + mov rax,[a32 rel 0xffffffffcccccccc] + mov rbx,[a32 rel 0xffffffffcccccccc] + + mov al,[a32 rel dword foo] + mov bl,[a32 rel dword foo] + mov ax,[a32 rel dword foo] + mov bx,[a32 rel dword foo] + mov eax,[a32 rel dword foo] + mov ebx,[a32 rel dword foo] + mov rax,[a32 rel dword foo] + mov rbx,[a32 rel dword foo] + mov al,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel dword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel dword 0xbbbbbbbb] + mov bl,[a32 rel dword 0xbbbbbbbb] + mov ax,[a32 rel dword 0xbbbbbbbb] + mov bx,[a32 rel dword 0xbbbbbbbb] + mov eax,[a32 rel dword 0xbbbbbbbb] + mov ebx,[a32 rel dword 0xbbbbbbbb] + mov rax,[a32 rel dword 0xbbbbbbbb] + mov rbx,[a32 rel dword 0xbbbbbbbb] + mov al,[a32 rel dword 0xffffffffcccccccc] + mov bl,[a32 rel dword 0xffffffffcccccccc] + mov ax,[a32 rel dword 0xffffffffcccccccc] + mov bx,[a32 rel dword 0xffffffffcccccccc] + mov eax,[a32 rel dword 0xffffffffcccccccc] + mov ebx,[a32 rel dword 0xffffffffcccccccc] + mov rax,[a32 rel dword 0xffffffffcccccccc] + mov rbx,[a32 rel dword 0xffffffffcccccccc] + + mov al,[a32 rel qword foo] + mov bl,[a32 rel qword foo] + mov ax,[a32 rel qword foo] + mov bx,[a32 rel qword foo] + mov eax,[a32 rel qword foo] + mov ebx,[a32 rel qword foo] + mov rax,[a32 rel qword foo] + mov rbx,[a32 rel qword foo] + mov al,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel qword 0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel qword 0xbbbbbbbb] + mov bl,[a32 rel qword 0xbbbbbbbb] + mov ax,[a32 rel qword 0xbbbbbbbb] + mov bx,[a32 rel qword 0xbbbbbbbb] + mov eax,[a32 rel qword 0xbbbbbbbb] + mov ebx,[a32 rel qword 0xbbbbbbbb] + mov rax,[a32 rel qword 0xbbbbbbbb] + mov rbx,[a32 rel qword 0xbbbbbbbb] + mov al,[a32 rel qword 0xffffffffcccccccc] + mov bl,[a32 rel qword 0xffffffffcccccccc] + mov ax,[a32 rel qword 0xffffffffcccccccc] + mov bx,[a32 rel qword 0xffffffffcccccccc] + mov eax,[a32 rel qword 0xffffffffcccccccc] + mov ebx,[a32 rel qword 0xffffffffcccccccc] + mov rax,[a32 rel qword 0xffffffffcccccccc] + mov rbx,[a32 rel qword 0xffffffffcccccccc] + + mov al,[fs:foo] + mov bl,[fs:foo] + mov ax,[fs:foo] + mov bx,[fs:foo] + mov eax,[fs:foo] + mov ebx,[fs:foo] + mov rax,[fs:foo] + mov rbx,[fs:foo] + mov al,[fs:0xaaaaaaaaaaaaaaaa] + mov bl,[fs:0xaaaaaaaaaaaaaaaa] + mov ax,[fs:0xaaaaaaaaaaaaaaaa] + mov bx,[fs:0xaaaaaaaaaaaaaaaa] + mov eax,[fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[fs:0xaaaaaaaaaaaaaaaa] + mov rax,[fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[fs:0xaaaaaaaaaaaaaaaa] + mov al,[fs:0xbbbbbbbb] + mov bl,[fs:0xbbbbbbbb] + mov ax,[fs:0xbbbbbbbb] + mov bx,[fs:0xbbbbbbbb] + mov eax,[fs:0xbbbbbbbb] + mov ebx,[fs:0xbbbbbbbb] + mov rax,[fs:0xbbbbbbbb] + mov rbx,[fs:0xbbbbbbbb] + mov al,[fs:0xffffffffcccccccc] + mov bl,[fs:0xffffffffcccccccc] + mov ax,[fs:0xffffffffcccccccc] + mov bx,[fs:0xffffffffcccccccc] + mov eax,[fs:0xffffffffcccccccc] + mov ebx,[fs:0xffffffffcccccccc] + mov rax,[fs:0xffffffffcccccccc] + mov rbx,[fs:0xffffffffcccccccc] + + mov al,[dword fs:foo] + mov bl,[dword fs:foo] + mov ax,[dword fs:foo] + mov bx,[dword fs:foo] + mov eax,[dword fs:foo] + mov ebx,[dword fs:foo] + mov rax,[dword fs:foo] + mov rbx,[dword fs:foo] + mov al,[dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[dword fs:0xbbbbbbbb] + mov bl,[dword fs:0xbbbbbbbb] + mov ax,[dword fs:0xbbbbbbbb] + mov bx,[dword fs:0xbbbbbbbb] + mov eax,[dword fs:0xbbbbbbbb] + mov ebx,[dword fs:0xbbbbbbbb] + mov rax,[dword fs:0xbbbbbbbb] + mov rbx,[dword fs:0xbbbbbbbb] + mov al,[dword fs:0xffffffffcccccccc] + mov bl,[dword fs:0xffffffffcccccccc] + mov ax,[dword fs:0xffffffffcccccccc] + mov bx,[dword fs:0xffffffffcccccccc] + mov eax,[dword fs:0xffffffffcccccccc] + mov ebx,[dword fs:0xffffffffcccccccc] + mov rax,[dword fs:0xffffffffcccccccc] + mov rbx,[dword fs:0xffffffffcccccccc] + + mov al,[qword fs:foo] + mov bl,[qword fs:foo] + mov ax,[qword fs:foo] + mov bx,[qword fs:foo] + mov eax,[qword fs:foo] + mov ebx,[qword fs:foo] + mov rax,[qword fs:foo] + mov rbx,[qword fs:foo] + mov al,[qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[qword fs:0xbbbbbbbb] + mov bl,[qword fs:0xbbbbbbbb] + mov ax,[qword fs:0xbbbbbbbb] + mov bx,[qword fs:0xbbbbbbbb] + mov eax,[qword fs:0xbbbbbbbb] + mov ebx,[qword fs:0xbbbbbbbb] + mov rax,[qword fs:0xbbbbbbbb] + mov rbx,[qword fs:0xbbbbbbbb] + mov al,[qword fs:0xffffffffcccccccc] + mov bl,[qword fs:0xffffffffcccccccc] + mov ax,[qword fs:0xffffffffcccccccc] + mov bx,[qword fs:0xffffffffcccccccc] + mov eax,[qword fs:0xffffffffcccccccc] + mov ebx,[qword fs:0xffffffffcccccccc] + mov rax,[qword fs:0xffffffffcccccccc] + mov rbx,[qword fs:0xffffffffcccccccc] + + mov al,[a64 fs:foo] + mov bl,[a64 fs:foo] + mov ax,[a64 fs:foo] + mov bx,[a64 fs:foo] + mov eax,[a64 fs:foo] + mov ebx,[a64 fs:foo] + mov rax,[a64 fs:foo] + mov rbx,[a64 fs:foo] + mov al,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 fs:0xbbbbbbbb] + mov bl,[a64 fs:0xbbbbbbbb] + mov ax,[a64 fs:0xbbbbbbbb] + mov bx,[a64 fs:0xbbbbbbbb] + mov eax,[a64 fs:0xbbbbbbbb] + mov ebx,[a64 fs:0xbbbbbbbb] + mov rax,[a64 fs:0xbbbbbbbb] + mov rbx,[a64 fs:0xbbbbbbbb] + mov al,[a64 fs:0xffffffffcccccccc] + mov bl,[a64 fs:0xffffffffcccccccc] + mov ax,[a64 fs:0xffffffffcccccccc] + mov bx,[a64 fs:0xffffffffcccccccc] + mov eax,[a64 fs:0xffffffffcccccccc] + mov ebx,[a64 fs:0xffffffffcccccccc] + mov rax,[a64 fs:0xffffffffcccccccc] + mov rbx,[a64 fs:0xffffffffcccccccc] + + mov al,[a64 dword fs:foo] + mov bl,[a64 dword fs:foo] + mov ax,[a64 dword fs:foo] + mov bx,[a64 dword fs:foo] + mov eax,[a64 dword fs:foo] + mov ebx,[a64 dword fs:foo] + mov rax,[a64 dword fs:foo] + mov rbx,[a64 dword fs:foo] + mov al,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 dword fs:0xbbbbbbbb] + mov bl,[a64 dword fs:0xbbbbbbbb] + mov ax,[a64 dword fs:0xbbbbbbbb] + mov bx,[a64 dword fs:0xbbbbbbbb] + mov eax,[a64 dword fs:0xbbbbbbbb] + mov ebx,[a64 dword fs:0xbbbbbbbb] + mov rax,[a64 dword fs:0xbbbbbbbb] + mov rbx,[a64 dword fs:0xbbbbbbbb] + mov al,[a64 dword fs:0xffffffffcccccccc] + mov bl,[a64 dword fs:0xffffffffcccccccc] + mov ax,[a64 dword fs:0xffffffffcccccccc] + mov bx,[a64 dword fs:0xffffffffcccccccc] + mov eax,[a64 dword fs:0xffffffffcccccccc] + mov ebx,[a64 dword fs:0xffffffffcccccccc] + mov rax,[a64 dword fs:0xffffffffcccccccc] + mov rbx,[a64 dword fs:0xffffffffcccccccc] + + mov al,[a64 qword fs:foo] + mov bl,[a64 qword fs:foo] + mov ax,[a64 qword fs:foo] + mov bx,[a64 qword fs:foo] + mov eax,[a64 qword fs:foo] + mov ebx,[a64 qword fs:foo] + mov rax,[a64 qword fs:foo] + mov rbx,[a64 qword fs:foo] + mov al,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 qword fs:0xbbbbbbbb] + mov bl,[a64 qword fs:0xbbbbbbbb] + mov ax,[a64 qword fs:0xbbbbbbbb] + mov bx,[a64 qword fs:0xbbbbbbbb] + mov eax,[a64 qword fs:0xbbbbbbbb] + mov ebx,[a64 qword fs:0xbbbbbbbb] + mov rax,[a64 qword fs:0xbbbbbbbb] + mov rbx,[a64 qword fs:0xbbbbbbbb] + mov al,[a64 qword fs:0xffffffffcccccccc] + mov bl,[a64 qword fs:0xffffffffcccccccc] + mov ax,[a64 qword fs:0xffffffffcccccccc] + mov bx,[a64 qword fs:0xffffffffcccccccc] + mov eax,[a64 qword fs:0xffffffffcccccccc] + mov ebx,[a64 qword fs:0xffffffffcccccccc] + mov rax,[a64 qword fs:0xffffffffcccccccc] + mov rbx,[a64 qword fs:0xffffffffcccccccc] + + mov al,[a32 fs:foo] + mov bl,[a32 fs:foo] + mov ax,[a32 fs:foo] + mov bx,[a32 fs:foo] + mov eax,[a32 fs:foo] + mov ebx,[a32 fs:foo] + mov rax,[a32 fs:foo] + mov rbx,[a32 fs:foo] + mov al,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 fs:0xbbbbbbbb] + mov bl,[a32 fs:0xbbbbbbbb] + mov ax,[a32 fs:0xbbbbbbbb] + mov bx,[a32 fs:0xbbbbbbbb] + mov eax,[a32 fs:0xbbbbbbbb] + mov ebx,[a32 fs:0xbbbbbbbb] + mov rax,[a32 fs:0xbbbbbbbb] + mov rbx,[a32 fs:0xbbbbbbbb] + mov al,[a32 fs:0xffffffffcccccccc] + mov bl,[a32 fs:0xffffffffcccccccc] + mov ax,[a32 fs:0xffffffffcccccccc] + mov bx,[a32 fs:0xffffffffcccccccc] + mov eax,[a32 fs:0xffffffffcccccccc] + mov ebx,[a32 fs:0xffffffffcccccccc] + mov rax,[a32 fs:0xffffffffcccccccc] + mov rbx,[a32 fs:0xffffffffcccccccc] + + mov al,[a32 dword fs:foo] + mov bl,[a32 dword fs:foo] + mov ax,[a32 dword fs:foo] + mov bx,[a32 dword fs:foo] + mov eax,[a32 dword fs:foo] + mov ebx,[a32 dword fs:foo] + mov rax,[a32 dword fs:foo] + mov rbx,[a32 dword fs:foo] + mov al,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 dword fs:0xbbbbbbbb] + mov bl,[a32 dword fs:0xbbbbbbbb] + mov ax,[a32 dword fs:0xbbbbbbbb] + mov bx,[a32 dword fs:0xbbbbbbbb] + mov eax,[a32 dword fs:0xbbbbbbbb] + mov ebx,[a32 dword fs:0xbbbbbbbb] + mov rax,[a32 dword fs:0xbbbbbbbb] + mov rbx,[a32 dword fs:0xbbbbbbbb] + mov al,[a32 dword fs:0xffffffffcccccccc] + mov bl,[a32 dword fs:0xffffffffcccccccc] + mov ax,[a32 dword fs:0xffffffffcccccccc] + mov bx,[a32 dword fs:0xffffffffcccccccc] + mov eax,[a32 dword fs:0xffffffffcccccccc] + mov ebx,[a32 dword fs:0xffffffffcccccccc] + mov rax,[a32 dword fs:0xffffffffcccccccc] + mov rbx,[a32 dword fs:0xffffffffcccccccc] + + mov al,[a32 qword fs:foo] + mov bl,[a32 qword fs:foo] + mov ax,[a32 qword fs:foo] + mov bx,[a32 qword fs:foo] + mov eax,[a32 qword fs:foo] + mov ebx,[a32 qword fs:foo] + mov rax,[a32 qword fs:foo] + mov rbx,[a32 qword fs:foo] + mov al,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 qword fs:0xbbbbbbbb] + mov bl,[a32 qword fs:0xbbbbbbbb] + mov ax,[a32 qword fs:0xbbbbbbbb] + mov bx,[a32 qword fs:0xbbbbbbbb] + mov eax,[a32 qword fs:0xbbbbbbbb] + mov ebx,[a32 qword fs:0xbbbbbbbb] + mov rax,[a32 qword fs:0xbbbbbbbb] + mov rbx,[a32 qword fs:0xbbbbbbbb] + mov al,[a32 qword fs:0xffffffffcccccccc] + mov bl,[a32 qword fs:0xffffffffcccccccc] + mov ax,[a32 qword fs:0xffffffffcccccccc] + mov bx,[a32 qword fs:0xffffffffcccccccc] + mov eax,[a32 qword fs:0xffffffffcccccccc] + mov ebx,[a32 qword fs:0xffffffffcccccccc] + mov rax,[a32 qword fs:0xffffffffcccccccc] + mov rbx,[a32 qword fs:0xffffffffcccccccc] + + mov al,[abs fs:foo] + mov bl,[abs fs:foo] + mov ax,[abs fs:foo] + mov bx,[abs fs:foo] + mov eax,[abs fs:foo] + mov ebx,[abs fs:foo] + mov rax,[abs fs:foo] + mov rbx,[abs fs:foo] + mov al,[abs fs:0xaaaaaaaaaaaaaaaa] + mov bl,[abs fs:0xaaaaaaaaaaaaaaaa] + mov ax,[abs fs:0xaaaaaaaaaaaaaaaa] + mov bx,[abs fs:0xaaaaaaaaaaaaaaaa] + mov eax,[abs fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs fs:0xaaaaaaaaaaaaaaaa] + mov rax,[abs fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs fs:0xaaaaaaaaaaaaaaaa] + mov al,[abs fs:0xbbbbbbbb] + mov bl,[abs fs:0xbbbbbbbb] + mov ax,[abs fs:0xbbbbbbbb] + mov bx,[abs fs:0xbbbbbbbb] + mov eax,[abs fs:0xbbbbbbbb] + mov ebx,[abs fs:0xbbbbbbbb] + mov rax,[abs fs:0xbbbbbbbb] + mov rbx,[abs fs:0xbbbbbbbb] + mov al,[abs fs:0xffffffffcccccccc] + mov bl,[abs fs:0xffffffffcccccccc] + mov ax,[abs fs:0xffffffffcccccccc] + mov bx,[abs fs:0xffffffffcccccccc] + mov eax,[abs fs:0xffffffffcccccccc] + mov ebx,[abs fs:0xffffffffcccccccc] + mov rax,[abs fs:0xffffffffcccccccc] + mov rbx,[abs fs:0xffffffffcccccccc] + + mov al,[abs dword fs:foo] + mov bl,[abs dword fs:foo] + mov ax,[abs dword fs:foo] + mov bx,[abs dword fs:foo] + mov eax,[abs dword fs:foo] + mov ebx,[abs dword fs:foo] + mov rax,[abs dword fs:foo] + mov rbx,[abs dword fs:foo] + mov al,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[abs dword fs:0xbbbbbbbb] + mov bl,[abs dword fs:0xbbbbbbbb] + mov ax,[abs dword fs:0xbbbbbbbb] + mov bx,[abs dword fs:0xbbbbbbbb] + mov eax,[abs dword fs:0xbbbbbbbb] + mov ebx,[abs dword fs:0xbbbbbbbb] + mov rax,[abs dword fs:0xbbbbbbbb] + mov rbx,[abs dword fs:0xbbbbbbbb] + mov al,[abs dword fs:0xffffffffcccccccc] + mov bl,[abs dword fs:0xffffffffcccccccc] + mov ax,[abs dword fs:0xffffffffcccccccc] + mov bx,[abs dword fs:0xffffffffcccccccc] + mov eax,[abs dword fs:0xffffffffcccccccc] + mov ebx,[abs dword fs:0xffffffffcccccccc] + mov rax,[abs dword fs:0xffffffffcccccccc] + mov rbx,[abs dword fs:0xffffffffcccccccc] + + mov al,[abs qword fs:foo] + mov bl,[abs qword fs:foo] + mov ax,[abs qword fs:foo] + mov bx,[abs qword fs:foo] + mov eax,[abs qword fs:foo] + mov ebx,[abs qword fs:foo] + mov rax,[abs qword fs:foo] + mov rbx,[abs qword fs:foo] + mov al,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[abs qword fs:0xbbbbbbbb] + mov bl,[abs qword fs:0xbbbbbbbb] + mov ax,[abs qword fs:0xbbbbbbbb] + mov bx,[abs qword fs:0xbbbbbbbb] + mov eax,[abs qword fs:0xbbbbbbbb] + mov ebx,[abs qword fs:0xbbbbbbbb] + mov rax,[abs qword fs:0xbbbbbbbb] + mov rbx,[abs qword fs:0xbbbbbbbb] + mov al,[abs qword fs:0xffffffffcccccccc] + mov bl,[abs qword fs:0xffffffffcccccccc] + mov ax,[abs qword fs:0xffffffffcccccccc] + mov bx,[abs qword fs:0xffffffffcccccccc] + mov eax,[abs qword fs:0xffffffffcccccccc] + mov ebx,[abs qword fs:0xffffffffcccccccc] + mov rax,[abs qword fs:0xffffffffcccccccc] + mov rbx,[abs qword fs:0xffffffffcccccccc] + + mov al,[a64 abs fs:foo] + mov bl,[a64 abs fs:foo] + mov ax,[a64 abs fs:foo] + mov bx,[a64 abs fs:foo] + mov eax,[a64 abs fs:foo] + mov ebx,[a64 abs fs:foo] + mov rax,[a64 abs fs:foo] + mov rbx,[a64 abs fs:foo] + mov al,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs fs:0xbbbbbbbb] + mov bl,[a64 abs fs:0xbbbbbbbb] + mov ax,[a64 abs fs:0xbbbbbbbb] + mov bx,[a64 abs fs:0xbbbbbbbb] + mov eax,[a64 abs fs:0xbbbbbbbb] + mov ebx,[a64 abs fs:0xbbbbbbbb] + mov rax,[a64 abs fs:0xbbbbbbbb] + mov rbx,[a64 abs fs:0xbbbbbbbb] + mov al,[a64 abs fs:0xffffffffcccccccc] + mov bl,[a64 abs fs:0xffffffffcccccccc] + mov ax,[a64 abs fs:0xffffffffcccccccc] + mov bx,[a64 abs fs:0xffffffffcccccccc] + mov eax,[a64 abs fs:0xffffffffcccccccc] + mov ebx,[a64 abs fs:0xffffffffcccccccc] + mov rax,[a64 abs fs:0xffffffffcccccccc] + mov rbx,[a64 abs fs:0xffffffffcccccccc] + + mov al,[a64 abs dword fs:foo] + mov bl,[a64 abs dword fs:foo] + mov ax,[a64 abs dword fs:foo] + mov bx,[a64 abs dword fs:foo] + mov eax,[a64 abs dword fs:foo] + mov ebx,[a64 abs dword fs:foo] + mov rax,[a64 abs dword fs:foo] + mov rbx,[a64 abs dword fs:foo] + mov al,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs dword fs:0xbbbbbbbb] + mov bl,[a64 abs dword fs:0xbbbbbbbb] + mov ax,[a64 abs dword fs:0xbbbbbbbb] + mov bx,[a64 abs dword fs:0xbbbbbbbb] + mov eax,[a64 abs dword fs:0xbbbbbbbb] + mov ebx,[a64 abs dword fs:0xbbbbbbbb] + mov rax,[a64 abs dword fs:0xbbbbbbbb] + mov rbx,[a64 abs dword fs:0xbbbbbbbb] + mov al,[a64 abs dword fs:0xffffffffcccccccc] + mov bl,[a64 abs dword fs:0xffffffffcccccccc] + mov ax,[a64 abs dword fs:0xffffffffcccccccc] + mov bx,[a64 abs dword fs:0xffffffffcccccccc] + mov eax,[a64 abs dword fs:0xffffffffcccccccc] + mov ebx,[a64 abs dword fs:0xffffffffcccccccc] + mov rax,[a64 abs dword fs:0xffffffffcccccccc] + mov rbx,[a64 abs dword fs:0xffffffffcccccccc] + + mov al,[a64 abs qword fs:foo] + mov bl,[a64 abs qword fs:foo] + mov ax,[a64 abs qword fs:foo] + mov bx,[a64 abs qword fs:foo] + mov eax,[a64 abs qword fs:foo] + mov ebx,[a64 abs qword fs:foo] + mov rax,[a64 abs qword fs:foo] + mov rbx,[a64 abs qword fs:foo] + mov al,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs qword fs:0xbbbbbbbb] + mov bl,[a64 abs qword fs:0xbbbbbbbb] + mov ax,[a64 abs qword fs:0xbbbbbbbb] + mov bx,[a64 abs qword fs:0xbbbbbbbb] + mov eax,[a64 abs qword fs:0xbbbbbbbb] + mov ebx,[a64 abs qword fs:0xbbbbbbbb] + mov rax,[a64 abs qword fs:0xbbbbbbbb] + mov rbx,[a64 abs qword fs:0xbbbbbbbb] + mov al,[a64 abs qword fs:0xffffffffcccccccc] + mov bl,[a64 abs qword fs:0xffffffffcccccccc] + mov ax,[a64 abs qword fs:0xffffffffcccccccc] + mov bx,[a64 abs qword fs:0xffffffffcccccccc] + mov eax,[a64 abs qword fs:0xffffffffcccccccc] + mov ebx,[a64 abs qword fs:0xffffffffcccccccc] + mov rax,[a64 abs qword fs:0xffffffffcccccccc] + mov rbx,[a64 abs qword fs:0xffffffffcccccccc] + + mov al,[a32 abs fs:foo] + mov bl,[a32 abs fs:foo] + mov ax,[a32 abs fs:foo] + mov bx,[a32 abs fs:foo] + mov eax,[a32 abs fs:foo] + mov ebx,[a32 abs fs:foo] + mov rax,[a32 abs fs:foo] + mov rbx,[a32 abs fs:foo] + mov al,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs fs:0xbbbbbbbb] + mov bl,[a32 abs fs:0xbbbbbbbb] + mov ax,[a32 abs fs:0xbbbbbbbb] + mov bx,[a32 abs fs:0xbbbbbbbb] + mov eax,[a32 abs fs:0xbbbbbbbb] + mov ebx,[a32 abs fs:0xbbbbbbbb] + mov rax,[a32 abs fs:0xbbbbbbbb] + mov rbx,[a32 abs fs:0xbbbbbbbb] + mov al,[a32 abs fs:0xffffffffcccccccc] + mov bl,[a32 abs fs:0xffffffffcccccccc] + mov ax,[a32 abs fs:0xffffffffcccccccc] + mov bx,[a32 abs fs:0xffffffffcccccccc] + mov eax,[a32 abs fs:0xffffffffcccccccc] + mov ebx,[a32 abs fs:0xffffffffcccccccc] + mov rax,[a32 abs fs:0xffffffffcccccccc] + mov rbx,[a32 abs fs:0xffffffffcccccccc] + + mov al,[a32 abs dword fs:foo] + mov bl,[a32 abs dword fs:foo] + mov ax,[a32 abs dword fs:foo] + mov bx,[a32 abs dword fs:foo] + mov eax,[a32 abs dword fs:foo] + mov ebx,[a32 abs dword fs:foo] + mov rax,[a32 abs dword fs:foo] + mov rbx,[a32 abs dword fs:foo] + mov al,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs dword fs:0xbbbbbbbb] + mov bl,[a32 abs dword fs:0xbbbbbbbb] + mov ax,[a32 abs dword fs:0xbbbbbbbb] + mov bx,[a32 abs dword fs:0xbbbbbbbb] + mov eax,[a32 abs dword fs:0xbbbbbbbb] + mov ebx,[a32 abs dword fs:0xbbbbbbbb] + mov rax,[a32 abs dword fs:0xbbbbbbbb] + mov rbx,[a32 abs dword fs:0xbbbbbbbb] + mov al,[a32 abs dword fs:0xffffffffcccccccc] + mov bl,[a32 abs dword fs:0xffffffffcccccccc] + mov ax,[a32 abs dword fs:0xffffffffcccccccc] + mov bx,[a32 abs dword fs:0xffffffffcccccccc] + mov eax,[a32 abs dword fs:0xffffffffcccccccc] + mov ebx,[a32 abs dword fs:0xffffffffcccccccc] + mov rax,[a32 abs dword fs:0xffffffffcccccccc] + mov rbx,[a32 abs dword fs:0xffffffffcccccccc] + + mov al,[a32 abs qword fs:foo] + mov bl,[a32 abs qword fs:foo] + mov ax,[a32 abs qword fs:foo] + mov bx,[a32 abs qword fs:foo] + mov eax,[a32 abs qword fs:foo] + mov ebx,[a32 abs qword fs:foo] + mov rax,[a32 abs qword fs:foo] + mov rbx,[a32 abs qword fs:foo] + mov al,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs qword fs:0xbbbbbbbb] + mov bl,[a32 abs qword fs:0xbbbbbbbb] + mov ax,[a32 abs qword fs:0xbbbbbbbb] + mov bx,[a32 abs qword fs:0xbbbbbbbb] + mov eax,[a32 abs qword fs:0xbbbbbbbb] + mov ebx,[a32 abs qword fs:0xbbbbbbbb] + mov rax,[a32 abs qword fs:0xbbbbbbbb] + mov rbx,[a32 abs qword fs:0xbbbbbbbb] + mov al,[a32 abs qword fs:0xffffffffcccccccc] + mov bl,[a32 abs qword fs:0xffffffffcccccccc] + mov ax,[a32 abs qword fs:0xffffffffcccccccc] + mov bx,[a32 abs qword fs:0xffffffffcccccccc] + mov eax,[a32 abs qword fs:0xffffffffcccccccc] + mov ebx,[a32 abs qword fs:0xffffffffcccccccc] + mov rax,[a32 abs qword fs:0xffffffffcccccccc] + mov rbx,[a32 abs qword fs:0xffffffffcccccccc] + + mov al,[rel fs:foo] + mov bl,[rel fs:foo] + mov ax,[rel fs:foo] + mov bx,[rel fs:foo] + mov eax,[rel fs:foo] + mov ebx,[rel fs:foo] + mov rax,[rel fs:foo] + mov rbx,[rel fs:foo] + mov al,[rel fs:0xaaaaaaaaaaaaaaaa] + mov bl,[rel fs:0xaaaaaaaaaaaaaaaa] + mov ax,[rel fs:0xaaaaaaaaaaaaaaaa] + mov bx,[rel fs:0xaaaaaaaaaaaaaaaa] + mov eax,[rel fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel fs:0xaaaaaaaaaaaaaaaa] + mov rax,[rel fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel fs:0xaaaaaaaaaaaaaaaa] + mov al,[rel fs:0xbbbbbbbb] + mov bl,[rel fs:0xbbbbbbbb] + mov ax,[rel fs:0xbbbbbbbb] + mov bx,[rel fs:0xbbbbbbbb] + mov eax,[rel fs:0xbbbbbbbb] + mov ebx,[rel fs:0xbbbbbbbb] + mov rax,[rel fs:0xbbbbbbbb] + mov rbx,[rel fs:0xbbbbbbbb] + mov al,[rel fs:0xffffffffcccccccc] + mov bl,[rel fs:0xffffffffcccccccc] + mov ax,[rel fs:0xffffffffcccccccc] + mov bx,[rel fs:0xffffffffcccccccc] + mov eax,[rel fs:0xffffffffcccccccc] + mov ebx,[rel fs:0xffffffffcccccccc] + mov rax,[rel fs:0xffffffffcccccccc] + mov rbx,[rel fs:0xffffffffcccccccc] + + mov al,[rel dword fs:foo] + mov bl,[rel dword fs:foo] + mov ax,[rel dword fs:foo] + mov bx,[rel dword fs:foo] + mov eax,[rel dword fs:foo] + mov ebx,[rel dword fs:foo] + mov rax,[rel dword fs:foo] + mov rbx,[rel dword fs:foo] + mov al,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[rel dword fs:0xbbbbbbbb] + mov bl,[rel dword fs:0xbbbbbbbb] + mov ax,[rel dword fs:0xbbbbbbbb] + mov bx,[rel dword fs:0xbbbbbbbb] + mov eax,[rel dword fs:0xbbbbbbbb] + mov ebx,[rel dword fs:0xbbbbbbbb] + mov rax,[rel dword fs:0xbbbbbbbb] + mov rbx,[rel dword fs:0xbbbbbbbb] + mov al,[rel dword fs:0xffffffffcccccccc] + mov bl,[rel dword fs:0xffffffffcccccccc] + mov ax,[rel dword fs:0xffffffffcccccccc] + mov bx,[rel dword fs:0xffffffffcccccccc] + mov eax,[rel dword fs:0xffffffffcccccccc] + mov ebx,[rel dword fs:0xffffffffcccccccc] + mov rax,[rel dword fs:0xffffffffcccccccc] + mov rbx,[rel dword fs:0xffffffffcccccccc] + + mov al,[rel qword fs:foo] + mov bl,[rel qword fs:foo] + mov ax,[rel qword fs:foo] + mov bx,[rel qword fs:foo] + mov eax,[rel qword fs:foo] + mov ebx,[rel qword fs:foo] + mov rax,[rel qword fs:foo] + mov rbx,[rel qword fs:foo] + mov al,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[rel qword fs:0xbbbbbbbb] + mov bl,[rel qword fs:0xbbbbbbbb] + mov ax,[rel qword fs:0xbbbbbbbb] + mov bx,[rel qword fs:0xbbbbbbbb] + mov eax,[rel qword fs:0xbbbbbbbb] + mov ebx,[rel qword fs:0xbbbbbbbb] + mov rax,[rel qword fs:0xbbbbbbbb] + mov rbx,[rel qword fs:0xbbbbbbbb] + mov al,[rel qword fs:0xffffffffcccccccc] + mov bl,[rel qword fs:0xffffffffcccccccc] + mov ax,[rel qword fs:0xffffffffcccccccc] + mov bx,[rel qword fs:0xffffffffcccccccc] + mov eax,[rel qword fs:0xffffffffcccccccc] + mov ebx,[rel qword fs:0xffffffffcccccccc] + mov rax,[rel qword fs:0xffffffffcccccccc] + mov rbx,[rel qword fs:0xffffffffcccccccc] + + mov al,[a64 rel fs:foo] + mov bl,[a64 rel fs:foo] + mov ax,[a64 rel fs:foo] + mov bx,[a64 rel fs:foo] + mov eax,[a64 rel fs:foo] + mov ebx,[a64 rel fs:foo] + mov rax,[a64 rel fs:foo] + mov rbx,[a64 rel fs:foo] + mov al,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel fs:0xbbbbbbbb] + mov bl,[a64 rel fs:0xbbbbbbbb] + mov ax,[a64 rel fs:0xbbbbbbbb] + mov bx,[a64 rel fs:0xbbbbbbbb] + mov eax,[a64 rel fs:0xbbbbbbbb] + mov ebx,[a64 rel fs:0xbbbbbbbb] + mov rax,[a64 rel fs:0xbbbbbbbb] + mov rbx,[a64 rel fs:0xbbbbbbbb] + mov al,[a64 rel fs:0xffffffffcccccccc] + mov bl,[a64 rel fs:0xffffffffcccccccc] + mov ax,[a64 rel fs:0xffffffffcccccccc] + mov bx,[a64 rel fs:0xffffffffcccccccc] + mov eax,[a64 rel fs:0xffffffffcccccccc] + mov ebx,[a64 rel fs:0xffffffffcccccccc] + mov rax,[a64 rel fs:0xffffffffcccccccc] + mov rbx,[a64 rel fs:0xffffffffcccccccc] + + mov al,[a64 rel dword fs:foo] + mov bl,[a64 rel dword fs:foo] + mov ax,[a64 rel dword fs:foo] + mov bx,[a64 rel dword fs:foo] + mov eax,[a64 rel dword fs:foo] + mov ebx,[a64 rel dword fs:foo] + mov rax,[a64 rel dword fs:foo] + mov rbx,[a64 rel dword fs:foo] + mov al,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel dword fs:0xbbbbbbbb] + mov bl,[a64 rel dword fs:0xbbbbbbbb] + mov ax,[a64 rel dword fs:0xbbbbbbbb] + mov bx,[a64 rel dword fs:0xbbbbbbbb] + mov eax,[a64 rel dword fs:0xbbbbbbbb] + mov ebx,[a64 rel dword fs:0xbbbbbbbb] + mov rax,[a64 rel dword fs:0xbbbbbbbb] + mov rbx,[a64 rel dword fs:0xbbbbbbbb] + mov al,[a64 rel dword fs:0xffffffffcccccccc] + mov bl,[a64 rel dword fs:0xffffffffcccccccc] + mov ax,[a64 rel dword fs:0xffffffffcccccccc] + mov bx,[a64 rel dword fs:0xffffffffcccccccc] + mov eax,[a64 rel dword fs:0xffffffffcccccccc] + mov ebx,[a64 rel dword fs:0xffffffffcccccccc] + mov rax,[a64 rel dword fs:0xffffffffcccccccc] + mov rbx,[a64 rel dword fs:0xffffffffcccccccc] + + mov al,[a64 rel qword fs:foo] + mov bl,[a64 rel qword fs:foo] + mov ax,[a64 rel qword fs:foo] + mov bx,[a64 rel qword fs:foo] + mov eax,[a64 rel qword fs:foo] + mov ebx,[a64 rel qword fs:foo] + mov rax,[a64 rel qword fs:foo] + mov rbx,[a64 rel qword fs:foo] + mov al,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel qword fs:0xbbbbbbbb] + mov bl,[a64 rel qword fs:0xbbbbbbbb] + mov ax,[a64 rel qword fs:0xbbbbbbbb] + mov bx,[a64 rel qword fs:0xbbbbbbbb] + mov eax,[a64 rel qword fs:0xbbbbbbbb] + mov ebx,[a64 rel qword fs:0xbbbbbbbb] + mov rax,[a64 rel qword fs:0xbbbbbbbb] + mov rbx,[a64 rel qword fs:0xbbbbbbbb] + mov al,[a64 rel qword fs:0xffffffffcccccccc] + mov bl,[a64 rel qword fs:0xffffffffcccccccc] + mov ax,[a64 rel qword fs:0xffffffffcccccccc] + mov bx,[a64 rel qword fs:0xffffffffcccccccc] + mov eax,[a64 rel qword fs:0xffffffffcccccccc] + mov ebx,[a64 rel qword fs:0xffffffffcccccccc] + mov rax,[a64 rel qword fs:0xffffffffcccccccc] + mov rbx,[a64 rel qword fs:0xffffffffcccccccc] + + mov al,[a32 rel fs:foo] + mov bl,[a32 rel fs:foo] + mov ax,[a32 rel fs:foo] + mov bx,[a32 rel fs:foo] + mov eax,[a32 rel fs:foo] + mov ebx,[a32 rel fs:foo] + mov rax,[a32 rel fs:foo] + mov rbx,[a32 rel fs:foo] + mov al,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel fs:0xbbbbbbbb] + mov bl,[a32 rel fs:0xbbbbbbbb] + mov ax,[a32 rel fs:0xbbbbbbbb] + mov bx,[a32 rel fs:0xbbbbbbbb] + mov eax,[a32 rel fs:0xbbbbbbbb] + mov ebx,[a32 rel fs:0xbbbbbbbb] + mov rax,[a32 rel fs:0xbbbbbbbb] + mov rbx,[a32 rel fs:0xbbbbbbbb] + mov al,[a32 rel fs:0xffffffffcccccccc] + mov bl,[a32 rel fs:0xffffffffcccccccc] + mov ax,[a32 rel fs:0xffffffffcccccccc] + mov bx,[a32 rel fs:0xffffffffcccccccc] + mov eax,[a32 rel fs:0xffffffffcccccccc] + mov ebx,[a32 rel fs:0xffffffffcccccccc] + mov rax,[a32 rel fs:0xffffffffcccccccc] + mov rbx,[a32 rel fs:0xffffffffcccccccc] + + mov al,[a32 rel dword fs:foo] + mov bl,[a32 rel dword fs:foo] + mov ax,[a32 rel dword fs:foo] + mov bx,[a32 rel dword fs:foo] + mov eax,[a32 rel dword fs:foo] + mov ebx,[a32 rel dword fs:foo] + mov rax,[a32 rel dword fs:foo] + mov rbx,[a32 rel dword fs:foo] + mov al,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel dword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel dword fs:0xbbbbbbbb] + mov bl,[a32 rel dword fs:0xbbbbbbbb] + mov ax,[a32 rel dword fs:0xbbbbbbbb] + mov bx,[a32 rel dword fs:0xbbbbbbbb] + mov eax,[a32 rel dword fs:0xbbbbbbbb] + mov ebx,[a32 rel dword fs:0xbbbbbbbb] + mov rax,[a32 rel dword fs:0xbbbbbbbb] + mov rbx,[a32 rel dword fs:0xbbbbbbbb] + mov al,[a32 rel dword fs:0xffffffffcccccccc] + mov bl,[a32 rel dword fs:0xffffffffcccccccc] + mov ax,[a32 rel dword fs:0xffffffffcccccccc] + mov bx,[a32 rel dword fs:0xffffffffcccccccc] + mov eax,[a32 rel dword fs:0xffffffffcccccccc] + mov ebx,[a32 rel dword fs:0xffffffffcccccccc] + mov rax,[a32 rel dword fs:0xffffffffcccccccc] + mov rbx,[a32 rel dword fs:0xffffffffcccccccc] + + mov al,[a32 rel qword fs:foo] + mov bl,[a32 rel qword fs:foo] + mov ax,[a32 rel qword fs:foo] + mov bx,[a32 rel qword fs:foo] + mov eax,[a32 rel qword fs:foo] + mov ebx,[a32 rel qword fs:foo] + mov rax,[a32 rel qword fs:foo] + mov rbx,[a32 rel qword fs:foo] + mov al,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel qword fs:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel qword fs:0xbbbbbbbb] + mov bl,[a32 rel qword fs:0xbbbbbbbb] + mov ax,[a32 rel qword fs:0xbbbbbbbb] + mov bx,[a32 rel qword fs:0xbbbbbbbb] + mov eax,[a32 rel qword fs:0xbbbbbbbb] + mov ebx,[a32 rel qword fs:0xbbbbbbbb] + mov rax,[a32 rel qword fs:0xbbbbbbbb] + mov rbx,[a32 rel qword fs:0xbbbbbbbb] + mov al,[a32 rel qword fs:0xffffffffcccccccc] + mov bl,[a32 rel qword fs:0xffffffffcccccccc] + mov ax,[a32 rel qword fs:0xffffffffcccccccc] + mov bx,[a32 rel qword fs:0xffffffffcccccccc] + mov eax,[a32 rel qword fs:0xffffffffcccccccc] + mov ebx,[a32 rel qword fs:0xffffffffcccccccc] + mov rax,[a32 rel qword fs:0xffffffffcccccccc] + mov rbx,[a32 rel qword fs:0xffffffffcccccccc] + + mov al,[es:foo] + mov bl,[es:foo] + mov ax,[es:foo] + mov bx,[es:foo] + mov eax,[es:foo] + mov ebx,[es:foo] + mov rax,[es:foo] + mov rbx,[es:foo] + mov al,[es:0xaaaaaaaaaaaaaaaa] + mov bl,[es:0xaaaaaaaaaaaaaaaa] + mov ax,[es:0xaaaaaaaaaaaaaaaa] + mov bx,[es:0xaaaaaaaaaaaaaaaa] + mov eax,[es:0xaaaaaaaaaaaaaaaa] + mov ebx,[es:0xaaaaaaaaaaaaaaaa] + mov rax,[es:0xaaaaaaaaaaaaaaaa] + mov rbx,[es:0xaaaaaaaaaaaaaaaa] + mov al,[es:0xbbbbbbbb] + mov bl,[es:0xbbbbbbbb] + mov ax,[es:0xbbbbbbbb] + mov bx,[es:0xbbbbbbbb] + mov eax,[es:0xbbbbbbbb] + mov ebx,[es:0xbbbbbbbb] + mov rax,[es:0xbbbbbbbb] + mov rbx,[es:0xbbbbbbbb] + mov al,[es:0xffffffffcccccccc] + mov bl,[es:0xffffffffcccccccc] + mov ax,[es:0xffffffffcccccccc] + mov bx,[es:0xffffffffcccccccc] + mov eax,[es:0xffffffffcccccccc] + mov ebx,[es:0xffffffffcccccccc] + mov rax,[es:0xffffffffcccccccc] + mov rbx,[es:0xffffffffcccccccc] + + mov al,[dword es:foo] + mov bl,[dword es:foo] + mov ax,[dword es:foo] + mov bx,[dword es:foo] + mov eax,[dword es:foo] + mov ebx,[dword es:foo] + mov rax,[dword es:foo] + mov rbx,[dword es:foo] + mov al,[dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[dword es:0xaaaaaaaaaaaaaaaa] + mov al,[dword es:0xbbbbbbbb] + mov bl,[dword es:0xbbbbbbbb] + mov ax,[dword es:0xbbbbbbbb] + mov bx,[dword es:0xbbbbbbbb] + mov eax,[dword es:0xbbbbbbbb] + mov ebx,[dword es:0xbbbbbbbb] + mov rax,[dword es:0xbbbbbbbb] + mov rbx,[dword es:0xbbbbbbbb] + mov al,[dword es:0xffffffffcccccccc] + mov bl,[dword es:0xffffffffcccccccc] + mov ax,[dword es:0xffffffffcccccccc] + mov bx,[dword es:0xffffffffcccccccc] + mov eax,[dword es:0xffffffffcccccccc] + mov ebx,[dword es:0xffffffffcccccccc] + mov rax,[dword es:0xffffffffcccccccc] + mov rbx,[dword es:0xffffffffcccccccc] + + mov al,[qword es:foo] + mov bl,[qword es:foo] + mov ax,[qword es:foo] + mov bx,[qword es:foo] + mov eax,[qword es:foo] + mov ebx,[qword es:foo] + mov rax,[qword es:foo] + mov rbx,[qword es:foo] + mov al,[qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[qword es:0xaaaaaaaaaaaaaaaa] + mov al,[qword es:0xbbbbbbbb] + mov bl,[qword es:0xbbbbbbbb] + mov ax,[qword es:0xbbbbbbbb] + mov bx,[qword es:0xbbbbbbbb] + mov eax,[qword es:0xbbbbbbbb] + mov ebx,[qword es:0xbbbbbbbb] + mov rax,[qword es:0xbbbbbbbb] + mov rbx,[qword es:0xbbbbbbbb] + mov al,[qword es:0xffffffffcccccccc] + mov bl,[qword es:0xffffffffcccccccc] + mov ax,[qword es:0xffffffffcccccccc] + mov bx,[qword es:0xffffffffcccccccc] + mov eax,[qword es:0xffffffffcccccccc] + mov ebx,[qword es:0xffffffffcccccccc] + mov rax,[qword es:0xffffffffcccccccc] + mov rbx,[qword es:0xffffffffcccccccc] + + mov al,[a64 es:foo] + mov bl,[a64 es:foo] + mov ax,[a64 es:foo] + mov bx,[a64 es:foo] + mov eax,[a64 es:foo] + mov ebx,[a64 es:foo] + mov rax,[a64 es:foo] + mov rbx,[a64 es:foo] + mov al,[a64 es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 es:0xbbbbbbbb] + mov bl,[a64 es:0xbbbbbbbb] + mov ax,[a64 es:0xbbbbbbbb] + mov bx,[a64 es:0xbbbbbbbb] + mov eax,[a64 es:0xbbbbbbbb] + mov ebx,[a64 es:0xbbbbbbbb] + mov rax,[a64 es:0xbbbbbbbb] + mov rbx,[a64 es:0xbbbbbbbb] + mov al,[a64 es:0xffffffffcccccccc] + mov bl,[a64 es:0xffffffffcccccccc] + mov ax,[a64 es:0xffffffffcccccccc] + mov bx,[a64 es:0xffffffffcccccccc] + mov eax,[a64 es:0xffffffffcccccccc] + mov ebx,[a64 es:0xffffffffcccccccc] + mov rax,[a64 es:0xffffffffcccccccc] + mov rbx,[a64 es:0xffffffffcccccccc] + + mov al,[a64 dword es:foo] + mov bl,[a64 dword es:foo] + mov ax,[a64 dword es:foo] + mov bx,[a64 dword es:foo] + mov eax,[a64 dword es:foo] + mov ebx,[a64 dword es:foo] + mov rax,[a64 dword es:foo] + mov rbx,[a64 dword es:foo] + mov al,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 dword es:0xbbbbbbbb] + mov bl,[a64 dword es:0xbbbbbbbb] + mov ax,[a64 dword es:0xbbbbbbbb] + mov bx,[a64 dword es:0xbbbbbbbb] + mov eax,[a64 dword es:0xbbbbbbbb] + mov ebx,[a64 dword es:0xbbbbbbbb] + mov rax,[a64 dword es:0xbbbbbbbb] + mov rbx,[a64 dword es:0xbbbbbbbb] + mov al,[a64 dword es:0xffffffffcccccccc] + mov bl,[a64 dword es:0xffffffffcccccccc] + mov ax,[a64 dword es:0xffffffffcccccccc] + mov bx,[a64 dword es:0xffffffffcccccccc] + mov eax,[a64 dword es:0xffffffffcccccccc] + mov ebx,[a64 dword es:0xffffffffcccccccc] + mov rax,[a64 dword es:0xffffffffcccccccc] + mov rbx,[a64 dword es:0xffffffffcccccccc] + + mov al,[a64 qword es:foo] + mov bl,[a64 qword es:foo] + mov ax,[a64 qword es:foo] + mov bx,[a64 qword es:foo] + mov eax,[a64 qword es:foo] + mov ebx,[a64 qword es:foo] + mov rax,[a64 qword es:foo] + mov rbx,[a64 qword es:foo] + mov al,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 qword es:0xbbbbbbbb] + mov bl,[a64 qword es:0xbbbbbbbb] + mov ax,[a64 qword es:0xbbbbbbbb] + mov bx,[a64 qword es:0xbbbbbbbb] + mov eax,[a64 qword es:0xbbbbbbbb] + mov ebx,[a64 qword es:0xbbbbbbbb] + mov rax,[a64 qword es:0xbbbbbbbb] + mov rbx,[a64 qword es:0xbbbbbbbb] + mov al,[a64 qword es:0xffffffffcccccccc] + mov bl,[a64 qword es:0xffffffffcccccccc] + mov ax,[a64 qword es:0xffffffffcccccccc] + mov bx,[a64 qword es:0xffffffffcccccccc] + mov eax,[a64 qword es:0xffffffffcccccccc] + mov ebx,[a64 qword es:0xffffffffcccccccc] + mov rax,[a64 qword es:0xffffffffcccccccc] + mov rbx,[a64 qword es:0xffffffffcccccccc] + + mov al,[a32 es:foo] + mov bl,[a32 es:foo] + mov ax,[a32 es:foo] + mov bx,[a32 es:foo] + mov eax,[a32 es:foo] + mov ebx,[a32 es:foo] + mov rax,[a32 es:foo] + mov rbx,[a32 es:foo] + mov al,[a32 es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 es:0xbbbbbbbb] + mov bl,[a32 es:0xbbbbbbbb] + mov ax,[a32 es:0xbbbbbbbb] + mov bx,[a32 es:0xbbbbbbbb] + mov eax,[a32 es:0xbbbbbbbb] + mov ebx,[a32 es:0xbbbbbbbb] + mov rax,[a32 es:0xbbbbbbbb] + mov rbx,[a32 es:0xbbbbbbbb] + mov al,[a32 es:0xffffffffcccccccc] + mov bl,[a32 es:0xffffffffcccccccc] + mov ax,[a32 es:0xffffffffcccccccc] + mov bx,[a32 es:0xffffffffcccccccc] + mov eax,[a32 es:0xffffffffcccccccc] + mov ebx,[a32 es:0xffffffffcccccccc] + mov rax,[a32 es:0xffffffffcccccccc] + mov rbx,[a32 es:0xffffffffcccccccc] + + mov al,[a32 dword es:foo] + mov bl,[a32 dword es:foo] + mov ax,[a32 dword es:foo] + mov bx,[a32 dword es:foo] + mov eax,[a32 dword es:foo] + mov ebx,[a32 dword es:foo] + mov rax,[a32 dword es:foo] + mov rbx,[a32 dword es:foo] + mov al,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 dword es:0xbbbbbbbb] + mov bl,[a32 dword es:0xbbbbbbbb] + mov ax,[a32 dword es:0xbbbbbbbb] + mov bx,[a32 dword es:0xbbbbbbbb] + mov eax,[a32 dword es:0xbbbbbbbb] + mov ebx,[a32 dword es:0xbbbbbbbb] + mov rax,[a32 dword es:0xbbbbbbbb] + mov rbx,[a32 dword es:0xbbbbbbbb] + mov al,[a32 dword es:0xffffffffcccccccc] + mov bl,[a32 dword es:0xffffffffcccccccc] + mov ax,[a32 dword es:0xffffffffcccccccc] + mov bx,[a32 dword es:0xffffffffcccccccc] + mov eax,[a32 dword es:0xffffffffcccccccc] + mov ebx,[a32 dword es:0xffffffffcccccccc] + mov rax,[a32 dword es:0xffffffffcccccccc] + mov rbx,[a32 dword es:0xffffffffcccccccc] + + mov al,[a32 qword es:foo] + mov bl,[a32 qword es:foo] + mov ax,[a32 qword es:foo] + mov bx,[a32 qword es:foo] + mov eax,[a32 qword es:foo] + mov ebx,[a32 qword es:foo] + mov rax,[a32 qword es:foo] + mov rbx,[a32 qword es:foo] + mov al,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 qword es:0xbbbbbbbb] + mov bl,[a32 qword es:0xbbbbbbbb] + mov ax,[a32 qword es:0xbbbbbbbb] + mov bx,[a32 qword es:0xbbbbbbbb] + mov eax,[a32 qword es:0xbbbbbbbb] + mov ebx,[a32 qword es:0xbbbbbbbb] + mov rax,[a32 qword es:0xbbbbbbbb] + mov rbx,[a32 qword es:0xbbbbbbbb] + mov al,[a32 qword es:0xffffffffcccccccc] + mov bl,[a32 qword es:0xffffffffcccccccc] + mov ax,[a32 qword es:0xffffffffcccccccc] + mov bx,[a32 qword es:0xffffffffcccccccc] + mov eax,[a32 qword es:0xffffffffcccccccc] + mov ebx,[a32 qword es:0xffffffffcccccccc] + mov rax,[a32 qword es:0xffffffffcccccccc] + mov rbx,[a32 qword es:0xffffffffcccccccc] + + mov al,[abs es:foo] + mov bl,[abs es:foo] + mov ax,[abs es:foo] + mov bx,[abs es:foo] + mov eax,[abs es:foo] + mov ebx,[abs es:foo] + mov rax,[abs es:foo] + mov rbx,[abs es:foo] + mov al,[abs es:0xaaaaaaaaaaaaaaaa] + mov bl,[abs es:0xaaaaaaaaaaaaaaaa] + mov ax,[abs es:0xaaaaaaaaaaaaaaaa] + mov bx,[abs es:0xaaaaaaaaaaaaaaaa] + mov eax,[abs es:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs es:0xaaaaaaaaaaaaaaaa] + mov rax,[abs es:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs es:0xaaaaaaaaaaaaaaaa] + mov al,[abs es:0xbbbbbbbb] + mov bl,[abs es:0xbbbbbbbb] + mov ax,[abs es:0xbbbbbbbb] + mov bx,[abs es:0xbbbbbbbb] + mov eax,[abs es:0xbbbbbbbb] + mov ebx,[abs es:0xbbbbbbbb] + mov rax,[abs es:0xbbbbbbbb] + mov rbx,[abs es:0xbbbbbbbb] + mov al,[abs es:0xffffffffcccccccc] + mov bl,[abs es:0xffffffffcccccccc] + mov ax,[abs es:0xffffffffcccccccc] + mov bx,[abs es:0xffffffffcccccccc] + mov eax,[abs es:0xffffffffcccccccc] + mov ebx,[abs es:0xffffffffcccccccc] + mov rax,[abs es:0xffffffffcccccccc] + mov rbx,[abs es:0xffffffffcccccccc] + + mov al,[abs dword es:foo] + mov bl,[abs dword es:foo] + mov ax,[abs dword es:foo] + mov bx,[abs dword es:foo] + mov eax,[abs dword es:foo] + mov ebx,[abs dword es:foo] + mov rax,[abs dword es:foo] + mov rbx,[abs dword es:foo] + mov al,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs dword es:0xaaaaaaaaaaaaaaaa] + mov al,[abs dword es:0xbbbbbbbb] + mov bl,[abs dword es:0xbbbbbbbb] + mov ax,[abs dword es:0xbbbbbbbb] + mov bx,[abs dword es:0xbbbbbbbb] + mov eax,[abs dword es:0xbbbbbbbb] + mov ebx,[abs dword es:0xbbbbbbbb] + mov rax,[abs dword es:0xbbbbbbbb] + mov rbx,[abs dword es:0xbbbbbbbb] + mov al,[abs dword es:0xffffffffcccccccc] + mov bl,[abs dword es:0xffffffffcccccccc] + mov ax,[abs dword es:0xffffffffcccccccc] + mov bx,[abs dword es:0xffffffffcccccccc] + mov eax,[abs dword es:0xffffffffcccccccc] + mov ebx,[abs dword es:0xffffffffcccccccc] + mov rax,[abs dword es:0xffffffffcccccccc] + mov rbx,[abs dword es:0xffffffffcccccccc] + + mov al,[abs qword es:foo] + mov bl,[abs qword es:foo] + mov ax,[abs qword es:foo] + mov bx,[abs qword es:foo] + mov eax,[abs qword es:foo] + mov ebx,[abs qword es:foo] + mov rax,[abs qword es:foo] + mov rbx,[abs qword es:foo] + mov al,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[abs qword es:0xaaaaaaaaaaaaaaaa] + mov al,[abs qword es:0xbbbbbbbb] + mov bl,[abs qword es:0xbbbbbbbb] + mov ax,[abs qword es:0xbbbbbbbb] + mov bx,[abs qword es:0xbbbbbbbb] + mov eax,[abs qword es:0xbbbbbbbb] + mov ebx,[abs qword es:0xbbbbbbbb] + mov rax,[abs qword es:0xbbbbbbbb] + mov rbx,[abs qword es:0xbbbbbbbb] + mov al,[abs qword es:0xffffffffcccccccc] + mov bl,[abs qword es:0xffffffffcccccccc] + mov ax,[abs qword es:0xffffffffcccccccc] + mov bx,[abs qword es:0xffffffffcccccccc] + mov eax,[abs qword es:0xffffffffcccccccc] + mov ebx,[abs qword es:0xffffffffcccccccc] + mov rax,[abs qword es:0xffffffffcccccccc] + mov rbx,[abs qword es:0xffffffffcccccccc] + + mov al,[a64 abs es:foo] + mov bl,[a64 abs es:foo] + mov ax,[a64 abs es:foo] + mov bx,[a64 abs es:foo] + mov eax,[a64 abs es:foo] + mov ebx,[a64 abs es:foo] + mov rax,[a64 abs es:foo] + mov rbx,[a64 abs es:foo] + mov al,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs es:0xbbbbbbbb] + mov bl,[a64 abs es:0xbbbbbbbb] + mov ax,[a64 abs es:0xbbbbbbbb] + mov bx,[a64 abs es:0xbbbbbbbb] + mov eax,[a64 abs es:0xbbbbbbbb] + mov ebx,[a64 abs es:0xbbbbbbbb] + mov rax,[a64 abs es:0xbbbbbbbb] + mov rbx,[a64 abs es:0xbbbbbbbb] + mov al,[a64 abs es:0xffffffffcccccccc] + mov bl,[a64 abs es:0xffffffffcccccccc] + mov ax,[a64 abs es:0xffffffffcccccccc] + mov bx,[a64 abs es:0xffffffffcccccccc] + mov eax,[a64 abs es:0xffffffffcccccccc] + mov ebx,[a64 abs es:0xffffffffcccccccc] + mov rax,[a64 abs es:0xffffffffcccccccc] + mov rbx,[a64 abs es:0xffffffffcccccccc] + + mov al,[a64 abs dword es:foo] + mov bl,[a64 abs dword es:foo] + mov ax,[a64 abs dword es:foo] + mov bx,[a64 abs dword es:foo] + mov eax,[a64 abs dword es:foo] + mov ebx,[a64 abs dword es:foo] + mov rax,[a64 abs dword es:foo] + mov rbx,[a64 abs dword es:foo] + mov al,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs dword es:0xbbbbbbbb] + mov bl,[a64 abs dword es:0xbbbbbbbb] + mov ax,[a64 abs dword es:0xbbbbbbbb] + mov bx,[a64 abs dword es:0xbbbbbbbb] + mov eax,[a64 abs dword es:0xbbbbbbbb] + mov ebx,[a64 abs dword es:0xbbbbbbbb] + mov rax,[a64 abs dword es:0xbbbbbbbb] + mov rbx,[a64 abs dword es:0xbbbbbbbb] + mov al,[a64 abs dword es:0xffffffffcccccccc] + mov bl,[a64 abs dword es:0xffffffffcccccccc] + mov ax,[a64 abs dword es:0xffffffffcccccccc] + mov bx,[a64 abs dword es:0xffffffffcccccccc] + mov eax,[a64 abs dword es:0xffffffffcccccccc] + mov ebx,[a64 abs dword es:0xffffffffcccccccc] + mov rax,[a64 abs dword es:0xffffffffcccccccc] + mov rbx,[a64 abs dword es:0xffffffffcccccccc] + + mov al,[a64 abs qword es:foo] + mov bl,[a64 abs qword es:foo] + mov ax,[a64 abs qword es:foo] + mov bx,[a64 abs qword es:foo] + mov eax,[a64 abs qword es:foo] + mov ebx,[a64 abs qword es:foo] + mov rax,[a64 abs qword es:foo] + mov rbx,[a64 abs qword es:foo] + mov al,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 abs qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 abs qword es:0xbbbbbbbb] + mov bl,[a64 abs qword es:0xbbbbbbbb] + mov ax,[a64 abs qword es:0xbbbbbbbb] + mov bx,[a64 abs qword es:0xbbbbbbbb] + mov eax,[a64 abs qword es:0xbbbbbbbb] + mov ebx,[a64 abs qword es:0xbbbbbbbb] + mov rax,[a64 abs qword es:0xbbbbbbbb] + mov rbx,[a64 abs qword es:0xbbbbbbbb] + mov al,[a64 abs qword es:0xffffffffcccccccc] + mov bl,[a64 abs qword es:0xffffffffcccccccc] + mov ax,[a64 abs qword es:0xffffffffcccccccc] + mov bx,[a64 abs qword es:0xffffffffcccccccc] + mov eax,[a64 abs qword es:0xffffffffcccccccc] + mov ebx,[a64 abs qword es:0xffffffffcccccccc] + mov rax,[a64 abs qword es:0xffffffffcccccccc] + mov rbx,[a64 abs qword es:0xffffffffcccccccc] + + mov al,[a32 abs es:foo] + mov bl,[a32 abs es:foo] + mov ax,[a32 abs es:foo] + mov bx,[a32 abs es:foo] + mov eax,[a32 abs es:foo] + mov ebx,[a32 abs es:foo] + mov rax,[a32 abs es:foo] + mov rbx,[a32 abs es:foo] + mov al,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs es:0xbbbbbbbb] + mov bl,[a32 abs es:0xbbbbbbbb] + mov ax,[a32 abs es:0xbbbbbbbb] + mov bx,[a32 abs es:0xbbbbbbbb] + mov eax,[a32 abs es:0xbbbbbbbb] + mov ebx,[a32 abs es:0xbbbbbbbb] + mov rax,[a32 abs es:0xbbbbbbbb] + mov rbx,[a32 abs es:0xbbbbbbbb] + mov al,[a32 abs es:0xffffffffcccccccc] + mov bl,[a32 abs es:0xffffffffcccccccc] + mov ax,[a32 abs es:0xffffffffcccccccc] + mov bx,[a32 abs es:0xffffffffcccccccc] + mov eax,[a32 abs es:0xffffffffcccccccc] + mov ebx,[a32 abs es:0xffffffffcccccccc] + mov rax,[a32 abs es:0xffffffffcccccccc] + mov rbx,[a32 abs es:0xffffffffcccccccc] + + mov al,[a32 abs dword es:foo] + mov bl,[a32 abs dword es:foo] + mov ax,[a32 abs dword es:foo] + mov bx,[a32 abs dword es:foo] + mov eax,[a32 abs dword es:foo] + mov ebx,[a32 abs dword es:foo] + mov rax,[a32 abs dword es:foo] + mov rbx,[a32 abs dword es:foo] + mov al,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs dword es:0xbbbbbbbb] + mov bl,[a32 abs dword es:0xbbbbbbbb] + mov ax,[a32 abs dword es:0xbbbbbbbb] + mov bx,[a32 abs dword es:0xbbbbbbbb] + mov eax,[a32 abs dword es:0xbbbbbbbb] + mov ebx,[a32 abs dword es:0xbbbbbbbb] + mov rax,[a32 abs dword es:0xbbbbbbbb] + mov rbx,[a32 abs dword es:0xbbbbbbbb] + mov al,[a32 abs dword es:0xffffffffcccccccc] + mov bl,[a32 abs dword es:0xffffffffcccccccc] + mov ax,[a32 abs dword es:0xffffffffcccccccc] + mov bx,[a32 abs dword es:0xffffffffcccccccc] + mov eax,[a32 abs dword es:0xffffffffcccccccc] + mov ebx,[a32 abs dword es:0xffffffffcccccccc] + mov rax,[a32 abs dword es:0xffffffffcccccccc] + mov rbx,[a32 abs dword es:0xffffffffcccccccc] + + mov al,[a32 abs qword es:foo] + mov bl,[a32 abs qword es:foo] + mov ax,[a32 abs qword es:foo] + mov bx,[a32 abs qword es:foo] + mov eax,[a32 abs qword es:foo] + mov ebx,[a32 abs qword es:foo] + mov rax,[a32 abs qword es:foo] + mov rbx,[a32 abs qword es:foo] + mov al,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 abs qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 abs qword es:0xbbbbbbbb] + mov bl,[a32 abs qword es:0xbbbbbbbb] + mov ax,[a32 abs qword es:0xbbbbbbbb] + mov bx,[a32 abs qword es:0xbbbbbbbb] + mov eax,[a32 abs qword es:0xbbbbbbbb] + mov ebx,[a32 abs qword es:0xbbbbbbbb] + mov rax,[a32 abs qword es:0xbbbbbbbb] + mov rbx,[a32 abs qword es:0xbbbbbbbb] + mov al,[a32 abs qword es:0xffffffffcccccccc] + mov bl,[a32 abs qword es:0xffffffffcccccccc] + mov ax,[a32 abs qword es:0xffffffffcccccccc] + mov bx,[a32 abs qword es:0xffffffffcccccccc] + mov eax,[a32 abs qword es:0xffffffffcccccccc] + mov ebx,[a32 abs qword es:0xffffffffcccccccc] + mov rax,[a32 abs qword es:0xffffffffcccccccc] + mov rbx,[a32 abs qword es:0xffffffffcccccccc] + + mov al,[rel es:foo] + mov bl,[rel es:foo] + mov ax,[rel es:foo] + mov bx,[rel es:foo] + mov eax,[rel es:foo] + mov ebx,[rel es:foo] + mov rax,[rel es:foo] + mov rbx,[rel es:foo] + mov al,[rel es:0xaaaaaaaaaaaaaaaa] + mov bl,[rel es:0xaaaaaaaaaaaaaaaa] + mov ax,[rel es:0xaaaaaaaaaaaaaaaa] + mov bx,[rel es:0xaaaaaaaaaaaaaaaa] + mov eax,[rel es:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel es:0xaaaaaaaaaaaaaaaa] + mov rax,[rel es:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel es:0xaaaaaaaaaaaaaaaa] + mov al,[rel es:0xbbbbbbbb] + mov bl,[rel es:0xbbbbbbbb] + mov ax,[rel es:0xbbbbbbbb] + mov bx,[rel es:0xbbbbbbbb] + mov eax,[rel es:0xbbbbbbbb] + mov ebx,[rel es:0xbbbbbbbb] + mov rax,[rel es:0xbbbbbbbb] + mov rbx,[rel es:0xbbbbbbbb] + mov al,[rel es:0xffffffffcccccccc] + mov bl,[rel es:0xffffffffcccccccc] + mov ax,[rel es:0xffffffffcccccccc] + mov bx,[rel es:0xffffffffcccccccc] + mov eax,[rel es:0xffffffffcccccccc] + mov ebx,[rel es:0xffffffffcccccccc] + mov rax,[rel es:0xffffffffcccccccc] + mov rbx,[rel es:0xffffffffcccccccc] + + mov al,[rel dword es:foo] + mov bl,[rel dword es:foo] + mov ax,[rel dword es:foo] + mov bx,[rel dword es:foo] + mov eax,[rel dword es:foo] + mov ebx,[rel dword es:foo] + mov rax,[rel dword es:foo] + mov rbx,[rel dword es:foo] + mov al,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel dword es:0xaaaaaaaaaaaaaaaa] + mov al,[rel dword es:0xbbbbbbbb] + mov bl,[rel dword es:0xbbbbbbbb] + mov ax,[rel dword es:0xbbbbbbbb] + mov bx,[rel dword es:0xbbbbbbbb] + mov eax,[rel dword es:0xbbbbbbbb] + mov ebx,[rel dword es:0xbbbbbbbb] + mov rax,[rel dword es:0xbbbbbbbb] + mov rbx,[rel dword es:0xbbbbbbbb] + mov al,[rel dword es:0xffffffffcccccccc] + mov bl,[rel dword es:0xffffffffcccccccc] + mov ax,[rel dword es:0xffffffffcccccccc] + mov bx,[rel dword es:0xffffffffcccccccc] + mov eax,[rel dword es:0xffffffffcccccccc] + mov ebx,[rel dword es:0xffffffffcccccccc] + mov rax,[rel dword es:0xffffffffcccccccc] + mov rbx,[rel dword es:0xffffffffcccccccc] + + mov al,[rel qword es:foo] + mov bl,[rel qword es:foo] + mov ax,[rel qword es:foo] + mov bx,[rel qword es:foo] + mov eax,[rel qword es:foo] + mov ebx,[rel qword es:foo] + mov rax,[rel qword es:foo] + mov rbx,[rel qword es:foo] + mov al,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[rel qword es:0xaaaaaaaaaaaaaaaa] + mov al,[rel qword es:0xbbbbbbbb] + mov bl,[rel qword es:0xbbbbbbbb] + mov ax,[rel qword es:0xbbbbbbbb] + mov bx,[rel qword es:0xbbbbbbbb] + mov eax,[rel qword es:0xbbbbbbbb] + mov ebx,[rel qword es:0xbbbbbbbb] + mov rax,[rel qword es:0xbbbbbbbb] + mov rbx,[rel qword es:0xbbbbbbbb] + mov al,[rel qword es:0xffffffffcccccccc] + mov bl,[rel qword es:0xffffffffcccccccc] + mov ax,[rel qword es:0xffffffffcccccccc] + mov bx,[rel qword es:0xffffffffcccccccc] + mov eax,[rel qword es:0xffffffffcccccccc] + mov ebx,[rel qword es:0xffffffffcccccccc] + mov rax,[rel qword es:0xffffffffcccccccc] + mov rbx,[rel qword es:0xffffffffcccccccc] + + mov al,[a64 rel es:foo] + mov bl,[a64 rel es:foo] + mov ax,[a64 rel es:foo] + mov bx,[a64 rel es:foo] + mov eax,[a64 rel es:foo] + mov ebx,[a64 rel es:foo] + mov rax,[a64 rel es:foo] + mov rbx,[a64 rel es:foo] + mov al,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel es:0xbbbbbbbb] + mov bl,[a64 rel es:0xbbbbbbbb] + mov ax,[a64 rel es:0xbbbbbbbb] + mov bx,[a64 rel es:0xbbbbbbbb] + mov eax,[a64 rel es:0xbbbbbbbb] + mov ebx,[a64 rel es:0xbbbbbbbb] + mov rax,[a64 rel es:0xbbbbbbbb] + mov rbx,[a64 rel es:0xbbbbbbbb] + mov al,[a64 rel es:0xffffffffcccccccc] + mov bl,[a64 rel es:0xffffffffcccccccc] + mov ax,[a64 rel es:0xffffffffcccccccc] + mov bx,[a64 rel es:0xffffffffcccccccc] + mov eax,[a64 rel es:0xffffffffcccccccc] + mov ebx,[a64 rel es:0xffffffffcccccccc] + mov rax,[a64 rel es:0xffffffffcccccccc] + mov rbx,[a64 rel es:0xffffffffcccccccc] + + mov al,[a64 rel dword es:foo] + mov bl,[a64 rel dword es:foo] + mov ax,[a64 rel dword es:foo] + mov bx,[a64 rel dword es:foo] + mov eax,[a64 rel dword es:foo] + mov ebx,[a64 rel dword es:foo] + mov rax,[a64 rel dword es:foo] + mov rbx,[a64 rel dword es:foo] + mov al,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel dword es:0xbbbbbbbb] + mov bl,[a64 rel dword es:0xbbbbbbbb] + mov ax,[a64 rel dword es:0xbbbbbbbb] + mov bx,[a64 rel dword es:0xbbbbbbbb] + mov eax,[a64 rel dword es:0xbbbbbbbb] + mov ebx,[a64 rel dword es:0xbbbbbbbb] + mov rax,[a64 rel dword es:0xbbbbbbbb] + mov rbx,[a64 rel dword es:0xbbbbbbbb] + mov al,[a64 rel dword es:0xffffffffcccccccc] + mov bl,[a64 rel dword es:0xffffffffcccccccc] + mov ax,[a64 rel dword es:0xffffffffcccccccc] + mov bx,[a64 rel dword es:0xffffffffcccccccc] + mov eax,[a64 rel dword es:0xffffffffcccccccc] + mov ebx,[a64 rel dword es:0xffffffffcccccccc] + mov rax,[a64 rel dword es:0xffffffffcccccccc] + mov rbx,[a64 rel dword es:0xffffffffcccccccc] + + mov al,[a64 rel qword es:foo] + mov bl,[a64 rel qword es:foo] + mov ax,[a64 rel qword es:foo] + mov bx,[a64 rel qword es:foo] + mov eax,[a64 rel qword es:foo] + mov ebx,[a64 rel qword es:foo] + mov rax,[a64 rel qword es:foo] + mov rbx,[a64 rel qword es:foo] + mov al,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a64 rel qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a64 rel qword es:0xbbbbbbbb] + mov bl,[a64 rel qword es:0xbbbbbbbb] + mov ax,[a64 rel qword es:0xbbbbbbbb] + mov bx,[a64 rel qword es:0xbbbbbbbb] + mov eax,[a64 rel qword es:0xbbbbbbbb] + mov ebx,[a64 rel qword es:0xbbbbbbbb] + mov rax,[a64 rel qword es:0xbbbbbbbb] + mov rbx,[a64 rel qword es:0xbbbbbbbb] + mov al,[a64 rel qword es:0xffffffffcccccccc] + mov bl,[a64 rel qword es:0xffffffffcccccccc] + mov ax,[a64 rel qword es:0xffffffffcccccccc] + mov bx,[a64 rel qword es:0xffffffffcccccccc] + mov eax,[a64 rel qword es:0xffffffffcccccccc] + mov ebx,[a64 rel qword es:0xffffffffcccccccc] + mov rax,[a64 rel qword es:0xffffffffcccccccc] + mov rbx,[a64 rel qword es:0xffffffffcccccccc] + + mov al,[a32 rel es:foo] + mov bl,[a32 rel es:foo] + mov ax,[a32 rel es:foo] + mov bx,[a32 rel es:foo] + mov eax,[a32 rel es:foo] + mov ebx,[a32 rel es:foo] + mov rax,[a32 rel es:foo] + mov rbx,[a32 rel es:foo] + mov al,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel es:0xbbbbbbbb] + mov bl,[a32 rel es:0xbbbbbbbb] + mov ax,[a32 rel es:0xbbbbbbbb] + mov bx,[a32 rel es:0xbbbbbbbb] + mov eax,[a32 rel es:0xbbbbbbbb] + mov ebx,[a32 rel es:0xbbbbbbbb] + mov rax,[a32 rel es:0xbbbbbbbb] + mov rbx,[a32 rel es:0xbbbbbbbb] + mov al,[a32 rel es:0xffffffffcccccccc] + mov bl,[a32 rel es:0xffffffffcccccccc] + mov ax,[a32 rel es:0xffffffffcccccccc] + mov bx,[a32 rel es:0xffffffffcccccccc] + mov eax,[a32 rel es:0xffffffffcccccccc] + mov ebx,[a32 rel es:0xffffffffcccccccc] + mov rax,[a32 rel es:0xffffffffcccccccc] + mov rbx,[a32 rel es:0xffffffffcccccccc] + + mov al,[a32 rel dword es:foo] + mov bl,[a32 rel dword es:foo] + mov ax,[a32 rel dword es:foo] + mov bx,[a32 rel dword es:foo] + mov eax,[a32 rel dword es:foo] + mov ebx,[a32 rel dword es:foo] + mov rax,[a32 rel dword es:foo] + mov rbx,[a32 rel dword es:foo] + mov al,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel dword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel dword es:0xbbbbbbbb] + mov bl,[a32 rel dword es:0xbbbbbbbb] + mov ax,[a32 rel dword es:0xbbbbbbbb] + mov bx,[a32 rel dword es:0xbbbbbbbb] + mov eax,[a32 rel dword es:0xbbbbbbbb] + mov ebx,[a32 rel dword es:0xbbbbbbbb] + mov rax,[a32 rel dword es:0xbbbbbbbb] + mov rbx,[a32 rel dword es:0xbbbbbbbb] + mov al,[a32 rel dword es:0xffffffffcccccccc] + mov bl,[a32 rel dword es:0xffffffffcccccccc] + mov ax,[a32 rel dword es:0xffffffffcccccccc] + mov bx,[a32 rel dword es:0xffffffffcccccccc] + mov eax,[a32 rel dword es:0xffffffffcccccccc] + mov ebx,[a32 rel dword es:0xffffffffcccccccc] + mov rax,[a32 rel dword es:0xffffffffcccccccc] + mov rbx,[a32 rel dword es:0xffffffffcccccccc] + + mov al,[a32 rel qword es:foo] + mov bl,[a32 rel qword es:foo] + mov ax,[a32 rel qword es:foo] + mov bx,[a32 rel qword es:foo] + mov eax,[a32 rel qword es:foo] + mov ebx,[a32 rel qword es:foo] + mov rax,[a32 rel qword es:foo] + mov rbx,[a32 rel qword es:foo] + mov al,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bl,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ax,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov bx,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov eax,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov ebx,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rax,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov rbx,[a32 rel qword es:0xaaaaaaaaaaaaaaaa] + mov al,[a32 rel qword es:0xbbbbbbbb] + mov bl,[a32 rel qword es:0xbbbbbbbb] + mov ax,[a32 rel qword es:0xbbbbbbbb] + mov bx,[a32 rel qword es:0xbbbbbbbb] + mov eax,[a32 rel qword es:0xbbbbbbbb] + mov ebx,[a32 rel qword es:0xbbbbbbbb] + mov rax,[a32 rel qword es:0xbbbbbbbb] + mov rbx,[a32 rel qword es:0xbbbbbbbb] + mov al,[a32 rel qword es:0xffffffffcccccccc] + mov bl,[a32 rel qword es:0xffffffffcccccccc] + mov ax,[a32 rel qword es:0xffffffffcccccccc] + mov bx,[a32 rel qword es:0xffffffffcccccccc] + mov eax,[a32 rel qword es:0xffffffffcccccccc] + mov ebx,[a32 rel qword es:0xffffffffcccccccc] + mov rax,[a32 rel qword es:0xffffffffcccccccc] + mov rbx,[a32 rel qword es:0xffffffffcccccccc] + + +foo: diff --git a/travis/test/riprel.bin.t b/travis/test/riprel.bin.t Binary files differnew file mode 100644 index 00000000..36d54ad5 --- /dev/null +++ b/travis/test/riprel.bin.t diff --git a/travis/test/riprel.json b/travis/test/riprel.json new file mode 100644 index 00000000..14576289 --- /dev/null +++ b/travis/test/riprel.json @@ -0,0 +1,19 @@ +[ + { + "description": "Test ip relative addressing (-Ox)", + "id": "riprel", + "format": "bin", + "source": "riprel.asm", + "option": "-Ox", + "target": [ + { "output": "riprel.bin" }, + { "stderr": "riprel.stderr" } + ] + }, + { + "description": "Test ip relative addressing (-O0)", + "ref": "riprel", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/riprel.stderr b/travis/test/riprel.stderr new file mode 100644 index 00000000..80fbb9ea --- /dev/null +++ b/travis/test/riprel.stderr @@ -0,0 +1,11920 @@ +./travis/test/riprel.asm:15: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:15: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:16: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:16: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:17: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:17: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:18: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:18: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:19: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:19: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:20: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:20: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:21: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:21: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:22: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:22: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:23: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:23: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:24: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:24: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:25: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:25: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:26: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:26: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:27: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:27: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:28: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:28: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:29: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:29: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:30: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:30: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:48: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:48: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:49: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:49: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:50: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:50: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:51: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:51: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:52: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:52: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:53: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:53: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:54: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:54: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:55: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:55: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:56: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:56: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:57: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:57: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:58: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:58: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:59: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:59: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:60: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:60: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:61: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:61: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:62: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:62: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:63: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:63: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:74: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:74: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:76: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:76: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:78: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:78: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:80: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:80: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:82: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:82: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:82: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:82: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:84: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:84: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:84: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:84: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:86: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:86: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:86: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:86: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:88: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:88: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:88: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:88: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:90: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:90: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:90: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:90: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:92: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:92: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:92: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:92: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:94: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:94: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:94: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:94: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:96: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:96: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:96: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:96: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:98: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:98: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:100: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:100: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:102: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:102: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:104: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:104: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:114: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:114: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:115: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:115: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:116: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:116: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:117: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:117: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:118: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:118: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:119: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:119: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:120: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:120: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:121: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:121: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:122: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:122: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:123: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:123: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:124: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:124: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:125: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:125: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:126: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:126: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:127: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:127: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:128: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:128: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:129: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:129: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:147: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:147: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:148: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:148: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:149: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:149: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:150: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:150: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:151: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:151: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:152: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:152: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:153: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:153: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:154: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:154: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:155: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:155: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:156: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:156: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:157: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:157: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:158: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:158: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:159: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:159: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:160: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:160: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:161: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:161: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:162: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:162: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:173: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:173: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:175: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:175: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:177: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:177: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:179: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:179: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:181: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:181: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:181: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:181: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:183: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:183: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:183: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:183: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:185: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:185: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:185: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:185: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:187: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:187: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:187: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:187: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:189: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:189: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:189: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:189: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:191: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:191: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:191: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:191: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:193: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:193: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:193: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:193: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:195: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:195: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:195: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:195: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:197: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:197: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:199: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:199: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:201: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:201: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:203: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:203: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:215: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:216: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:216: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:217: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:218: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:218: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:219: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:220: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:220: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:248: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:249: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:249: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:250: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:251: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:251: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:252: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:253: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:253: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:271: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:271: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:273: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:273: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:275: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:275: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:276: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:276: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:277: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:277: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:278: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:278: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:279: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:279: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:279: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:279: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:280: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:280: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:280: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:280: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:281: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:281: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:281: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:281: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:282: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:282: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:282: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:282: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:283: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:283: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:283: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:283: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:284: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:284: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:284: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:284: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:285: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:285: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:285: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:285: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:286: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:286: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:286: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:286: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:287: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:287: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:288: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:288: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:289: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:289: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:290: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:290: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:291: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:291: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:292: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:292: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:293: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:293: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:294: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:294: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:295: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:295: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:296: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:296: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:297: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:297: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:298: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:298: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:299: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:299: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:300: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:300: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:301: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:301: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:302: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:302: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:312: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:312: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:313: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:313: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:314: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:314: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:315: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:315: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:316: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:316: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:317: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:317: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:318: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:318: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:319: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:319: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:320: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:320: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:321: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:321: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:322: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:322: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:323: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:323: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:324: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:324: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:325: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:325: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:326: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:326: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:327: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:327: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:345: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:345: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:346: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:346: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:347: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:347: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:348: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:348: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:349: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:349: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:350: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:350: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:351: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:351: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:352: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:352: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:353: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:353: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:354: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:354: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:355: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:355: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:356: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:356: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:357: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:357: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:358: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:358: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:359: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:359: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:360: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:360: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:375: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:375: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:377: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:377: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:379: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:379: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:379: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:379: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:381: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:381: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:381: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:381: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:383: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:383: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:383: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:383: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:385: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:385: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:385: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:385: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:387: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:387: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:387: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:387: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:389: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:389: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:389: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:389: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:391: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:391: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:391: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:391: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:393: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:393: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:393: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:393: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:395: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:395: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:397: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:397: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:399: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:399: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:401: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:401: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:411: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:411: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:412: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:412: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:413: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:413: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:414: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:414: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:415: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:415: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:416: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:416: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:417: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:417: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:418: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:418: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:419: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:419: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:420: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:420: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:421: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:421: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:422: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:422: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:423: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:423: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:424: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:424: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:425: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:425: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:426: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:426: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:444: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:444: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:445: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:445: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:446: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:446: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:447: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:447: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:448: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:448: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:449: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:449: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:450: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:450: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:451: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:451: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:452: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:452: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:453: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:453: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:454: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:454: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:455: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:455: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:456: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:456: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:457: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:457: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:458: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:458: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:459: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:459: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:474: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:474: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:476: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:476: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:478: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:478: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:478: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:478: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:480: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:480: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:480: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:480: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:482: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:482: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:482: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:482: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:484: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:484: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:484: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:484: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:486: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:486: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:486: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:486: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:488: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:488: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:488: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:488: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:490: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:490: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:490: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:490: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:492: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:492: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:492: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:492: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:494: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:494: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:496: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:496: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:498: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:498: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:500: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:500: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:510: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:511: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:511: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:512: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:513: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:513: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:514: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:515: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:515: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:516: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:517: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:517: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:543: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:544: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:544: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:545: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:546: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:546: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:547: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:548: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:548: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:549: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:550: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:550: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:573: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:573: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:574: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:574: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:575: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:575: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:576: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:576: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:576: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:576: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:577: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:577: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:577: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:577: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:578: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:578: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:578: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:578: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:579: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:579: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:579: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:579: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:580: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:580: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:580: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:580: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:581: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:581: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:581: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:581: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:582: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:582: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:582: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:582: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:583: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:583: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:583: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:583: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:584: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:584: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:585: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:585: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:586: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:586: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:587: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:587: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:588: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:588: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:589: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:589: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:590: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:590: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:591: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:591: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:592: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:592: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:593: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:593: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:594: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:594: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:595: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:595: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:596: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:596: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:597: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:597: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:598: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:598: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:599: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:599: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:609: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:609: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:609: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:610: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:610: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:610: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:611: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:611: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:611: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:612: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:612: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:612: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:613: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:613: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:613: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:614: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:614: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:614: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:615: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:615: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:615: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:616: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:616: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:616: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:617: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:617: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:617: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:618: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:618: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:618: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:619: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:619: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:619: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:620: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:620: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:620: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:621: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:621: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:621: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:622: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:622: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:622: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:623: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:623: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:623: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:624: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:624: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:624: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:625: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:626: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:627: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:628: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:629: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:630: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:631: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:632: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:642: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:642: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:642: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:643: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:643: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:643: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:644: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:644: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:644: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:645: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:645: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:645: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:646: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:646: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:646: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:647: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:647: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:647: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:648: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:648: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:648: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:649: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:649: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:649: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:650: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:650: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:650: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:651: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:651: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:651: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:652: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:652: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:652: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:653: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:653: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:653: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:654: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:654: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:654: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:655: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:655: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:655: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:656: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:656: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:656: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:657: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:657: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:657: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:658: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:659: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:660: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:661: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:662: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:663: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:664: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:665: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:668: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:668: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:670: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:670: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:672: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:672: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:673: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:673: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:674: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:674: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:675: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:675: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:675: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:675: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:675: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:676: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:676: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:676: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:676: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:676: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:677: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:677: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:677: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:677: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:677: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:678: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:678: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:678: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:678: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:678: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:679: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:679: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:679: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:679: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:679: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:680: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:680: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:680: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:680: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:680: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:681: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:681: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:681: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:681: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:681: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:682: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:682: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:682: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:682: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:682: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:683: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:683: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:683: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:683: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:683: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:684: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:684: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:684: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:684: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:684: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:685: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:685: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:685: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:685: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:685: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:686: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:686: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:686: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:686: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:686: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:687: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:687: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:687: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:687: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:687: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:688: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:688: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:688: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:688: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:688: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:689: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:689: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:689: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:689: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:689: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:690: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:690: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:690: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:690: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:690: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:691: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:691: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:691: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:692: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:692: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:692: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:693: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:693: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:693: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:694: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:694: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:694: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:695: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:695: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:695: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:696: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:696: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:696: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:697: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:697: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:697: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:698: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:698: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:698: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:708: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:708: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:708: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:709: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:709: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:709: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:710: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:710: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:710: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:711: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:711: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:711: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:712: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:712: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:712: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:713: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:713: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:713: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:714: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:714: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:714: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:715: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:715: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:715: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:716: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:716: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:716: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:717: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:717: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:717: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:718: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:718: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:718: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:719: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:719: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:719: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:720: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:720: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:720: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:721: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:721: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:721: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:722: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:722: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:722: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:723: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:723: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:723: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:724: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:725: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:726: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:727: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:728: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:729: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:730: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:731: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:741: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:741: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:741: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:742: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:742: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:742: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:743: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:743: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:743: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:744: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:744: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:744: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:745: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:745: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:745: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:746: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:746: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:746: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:747: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:747: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:747: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:748: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:748: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:748: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:749: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:749: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:749: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:750: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:750: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:750: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:751: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:751: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:751: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:752: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:752: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:752: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:753: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:753: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:753: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:754: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:754: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:754: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:755: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:755: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:755: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:756: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:756: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:756: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:757: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:758: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:759: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:760: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:761: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:762: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:763: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:764: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:767: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:767: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:769: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:769: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:771: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:771: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:772: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:772: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:773: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:773: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:774: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:774: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:774: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:774: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:774: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:775: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:775: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:775: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:775: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:775: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:776: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:776: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:776: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:776: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:776: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:777: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:777: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:777: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:777: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:777: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:778: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:778: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:778: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:778: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:778: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:779: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:779: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:779: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:779: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:779: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:780: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:780: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:780: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:780: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:780: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:781: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:781: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:781: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:781: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:781: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:782: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:782: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:782: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:782: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:782: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:783: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:783: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:783: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:783: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:783: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:784: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:784: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:784: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:784: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:784: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:785: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:785: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:785: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:785: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:785: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:786: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:786: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:786: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:786: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:786: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:787: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:787: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:787: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:787: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:787: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:788: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:788: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:788: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:788: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:788: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:789: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:789: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:789: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:789: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:789: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:790: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:790: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:790: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:791: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:791: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:791: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:792: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:792: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:792: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:793: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:793: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:793: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:794: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:794: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:794: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:795: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:795: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:795: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:796: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:796: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:796: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:797: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:797: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:797: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:807: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:807: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:807: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:808: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:808: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:808: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:809: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:809: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:809: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:810: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:810: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:810: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:811: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:811: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:811: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:812: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:812: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:812: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:813: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:813: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:813: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:814: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:814: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:814: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:815: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:816: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:817: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:818: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:819: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:820: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:821: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:822: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:823: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:824: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:825: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:826: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:827: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:828: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:829: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:830: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:840: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:840: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:840: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:841: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:841: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:841: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:842: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:842: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:842: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:843: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:843: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:843: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:844: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:844: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:844: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:845: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:845: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:845: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:846: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:846: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:846: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:847: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:847: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:847: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:848: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:849: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:850: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:851: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:852: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:853: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:854: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:855: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:856: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:857: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:858: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:859: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:860: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:861: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:862: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:863: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:865: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:865: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:867: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:867: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:869: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:869: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:870: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:870: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:871: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:871: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:872: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:872: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:873: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:873: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:873: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:873: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:873: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:874: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:874: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:874: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:874: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:874: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:875: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:875: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:875: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:875: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:875: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:876: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:876: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:876: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:876: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:876: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:877: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:877: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:877: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:877: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:877: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:878: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:878: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:878: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:878: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:878: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:879: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:879: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:879: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:879: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:879: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:880: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:880: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:880: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:880: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:880: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:881: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:881: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:881: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:882: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:882: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:882: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:883: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:883: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:883: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:884: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:884: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:884: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:885: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:885: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:885: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:886: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:886: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:886: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:887: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:887: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:887: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:888: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:888: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:888: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:889: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:889: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:889: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:890: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:890: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:890: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:891: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:891: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:891: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:892: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:892: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:892: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:893: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:893: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:893: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:894: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:894: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:894: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:895: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:895: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:895: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:896: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:896: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:896: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:906: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:906: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:907: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:907: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:908: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:908: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:909: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:909: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:910: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:910: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:911: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:911: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:912: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:912: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:913: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:913: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:914: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:914: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:915: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:915: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:916: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:916: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:917: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:917: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:918: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:918: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:919: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:919: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:920: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:920: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:921: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:921: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:939: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:939: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:940: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:940: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:941: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:941: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:942: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:942: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:943: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:943: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:944: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:944: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:945: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:945: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:946: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:946: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:947: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:947: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:948: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:948: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:949: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:949: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:950: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:950: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:951: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:951: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:952: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:952: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:953: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:953: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:954: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:954: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:965: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:965: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:967: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:967: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:969: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:969: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:971: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:971: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:973: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:973: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:973: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:973: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:975: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:975: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:975: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:975: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:977: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:977: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:977: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:977: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:979: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:979: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:979: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:979: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:981: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:981: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:981: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:981: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:983: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:983: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:983: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:983: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:985: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:985: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:985: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:985: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:987: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:987: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:987: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:987: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:989: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:989: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:991: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:991: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:993: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:993: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:995: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:995: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1005: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1005: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1006: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1006: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1007: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1007: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1008: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1008: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1009: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1009: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1010: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1010: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1011: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1011: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1012: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1012: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1013: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1013: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1014: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1014: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1015: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1015: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1016: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1016: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1017: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1017: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1018: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1018: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1019: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1019: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1020: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1020: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1038: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1038: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1039: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1039: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1040: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1040: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1041: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1041: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1042: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1042: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1043: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1043: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1044: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1044: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1045: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1045: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1046: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1046: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1047: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1047: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1048: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1048: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1049: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1049: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1050: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1050: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1051: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1051: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1052: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1052: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1053: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1053: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1064: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1064: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1066: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1066: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1068: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1068: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1070: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1070: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1072: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1072: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1072: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1072: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1074: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1074: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1074: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1074: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1076: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1076: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1076: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1076: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1078: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1078: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1078: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1078: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1080: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1080: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1080: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1080: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1082: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1082: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1082: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1082: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1084: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1084: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1084: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1084: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1086: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1086: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1086: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1086: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1088: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1088: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1090: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1090: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1092: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1092: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1094: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1094: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1104: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1105: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1105: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1106: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1107: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1107: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1108: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1109: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1109: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1110: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1111: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1111: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1137: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1138: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1138: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1139: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1140: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1140: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1141: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1142: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1142: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1143: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1144: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1144: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1162: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1162: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1163: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1163: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1164: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1164: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1165: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1165: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1166: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1166: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1167: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1167: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1168: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1168: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1169: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1169: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1170: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1170: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1170: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1170: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1171: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1171: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1171: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1171: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1172: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1172: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1172: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1172: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1173: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1173: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1173: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1173: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1174: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1174: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1174: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1174: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1175: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1175: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1175: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1175: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1176: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1176: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1176: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1176: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1177: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1177: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1177: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1177: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1178: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1178: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1179: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1179: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1180: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1180: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1181: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1181: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1182: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1182: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1183: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1183: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1184: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1184: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1185: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1185: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1186: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1186: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1187: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1187: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1188: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1188: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1189: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1189: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1190: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1190: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1191: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1191: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1192: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1192: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1193: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1193: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1203: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1203: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1204: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1204: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1205: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1205: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1206: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1206: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1207: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1207: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1208: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1208: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1209: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1209: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1210: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1210: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1211: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1211: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1212: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1212: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1215: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1215: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1216: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1216: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1217: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1217: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1218: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1218: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1236: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1236: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1237: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1237: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1238: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1238: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1239: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1239: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1240: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1240: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1241: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1241: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1242: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1242: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1243: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1243: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1244: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1244: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1245: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1245: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1248: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1248: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1249: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1249: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1250: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1250: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1251: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1251: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1266: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1266: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1268: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1268: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1270: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1270: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1270: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1270: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1272: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1272: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1274: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1274: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1276: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1276: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1276: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1276: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1278: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1278: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1278: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1278: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1280: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1280: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1280: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1280: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1282: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1282: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1282: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1282: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1284: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1284: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1284: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1284: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1286: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1286: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1288: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1288: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1290: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1290: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1292: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1292: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1302: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1302: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1303: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1303: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1304: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1304: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1305: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1305: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1306: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1306: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1307: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1307: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1308: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1308: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1309: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1309: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1310: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1310: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1311: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1311: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1312: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1312: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1313: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1313: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1314: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1314: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1315: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1315: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1316: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1316: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1317: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1317: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1335: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1335: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1336: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1336: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1337: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1337: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1338: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1338: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1339: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1339: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1340: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1340: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1341: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1341: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1342: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1342: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1343: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1343: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1344: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1344: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1345: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1345: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1346: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1346: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1347: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1347: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1348: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1348: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1349: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1349: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1350: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1350: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1365: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1365: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1367: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1367: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1369: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1369: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1369: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1369: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1371: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1371: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1373: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1373: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1375: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1375: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1375: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1375: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1377: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1377: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1377: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1377: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1379: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1379: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1379: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1379: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1381: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1381: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1381: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1381: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1383: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1383: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1383: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1383: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1385: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1385: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1387: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1387: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1389: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1389: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1391: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1391: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1401: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1402: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1402: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1403: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1404: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1404: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1405: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1406: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1406: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1407: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1408: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1408: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1434: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1435: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1435: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1436: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1437: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1437: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1438: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1439: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1439: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1440: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1441: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1441: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1464: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1464: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1465: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1465: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1466: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1466: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1467: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1467: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1467: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1467: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1468: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1468: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1468: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1468: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1469: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1469: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1469: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1469: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1470: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1470: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1471: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1471: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1471: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1471: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1472: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1472: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1473: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1473: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1473: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1473: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1474: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1474: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1474: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1474: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1475: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1475: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1476: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1476: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1477: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1477: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1478: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1478: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1479: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1479: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1480: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1480: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1481: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1481: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1482: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1482: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1483: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1483: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1484: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1484: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1485: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1485: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1486: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1486: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1487: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1487: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1488: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1488: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1489: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1489: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1490: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1490: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1500: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1500: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1500: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1501: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1501: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1501: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1502: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1502: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1502: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1503: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1503: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1503: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1504: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1504: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1504: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1505: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1505: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1505: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1506: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1506: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1506: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1507: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1507: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1507: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1508: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1508: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1508: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1509: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1509: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1509: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1510: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1510: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1510: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1511: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1511: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1511: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1512: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1512: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1512: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1513: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1513: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1513: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1514: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1514: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1514: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1515: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1515: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1515: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1516: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1517: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1518: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1519: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1520: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1521: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1522: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1523: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1533: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1533: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1533: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1534: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1534: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1534: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1535: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1535: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1535: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1536: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1536: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1536: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1537: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1537: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1537: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1538: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1538: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1538: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1539: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1539: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1539: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1540: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1540: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1540: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1541: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1541: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1541: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1542: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1542: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1542: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1543: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1543: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1543: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1544: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1544: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1544: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1545: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1545: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1545: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1546: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1546: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1546: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1547: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1547: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1547: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1548: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1548: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1548: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1549: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1550: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1551: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1552: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1553: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1554: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1555: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1556: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1563: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1563: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1564: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1564: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1565: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1565: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1566: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1566: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1566: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1566: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1566: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1567: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1567: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1567: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1567: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1567: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1568: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1568: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1568: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1569: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1569: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1569: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1570: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1570: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1570: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1571: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1571: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1571: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1572: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1572: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1572: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1573: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1573: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1573: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1573: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1573: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1574: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1574: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1574: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1574: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1574: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1575: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1575: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1575: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1575: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1575: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1576: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1576: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1576: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1576: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1576: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1577: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1577: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1577: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1577: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1577: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1578: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1578: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1578: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1578: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1578: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1579: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1579: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1579: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1579: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1579: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1580: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1580: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1580: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1580: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1580: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1581: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1581: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1581: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1581: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1581: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1582: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1582: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1582: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1583: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1583: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1583: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1584: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1584: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1584: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1585: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1585: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1585: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1586: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1586: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1586: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1587: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1587: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1587: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1588: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1588: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1588: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1589: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1589: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1589: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1599: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1599: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1599: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1600: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1600: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1600: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1601: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1601: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1601: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1602: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1602: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1602: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1603: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1603: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1603: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1604: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1604: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1604: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1605: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1605: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1605: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1606: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1606: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1606: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1607: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1607: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1607: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1608: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1608: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1608: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1609: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1609: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1609: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1610: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1610: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1610: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1611: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1611: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1611: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1612: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1612: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1612: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1613: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1613: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1613: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1614: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1614: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1614: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1615: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1616: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1617: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1618: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1619: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1620: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1621: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1622: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1632: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1632: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1632: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1633: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1633: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1633: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1634: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1634: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1634: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1635: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1635: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1635: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1636: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1636: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1636: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1637: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1637: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1637: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1638: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1638: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1638: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1639: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1639: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1639: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1640: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1640: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1640: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1641: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1641: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1641: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1642: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1642: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1642: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1643: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1643: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1643: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1644: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1644: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1644: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1645: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1645: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1645: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1646: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1646: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1646: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1647: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1647: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1647: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1648: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1649: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1650: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1651: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1652: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1653: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1654: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1655: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1658: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1658: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1660: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1660: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1662: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1662: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1663: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1663: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1664: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1664: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1665: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1665: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1665: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1665: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1665: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1666: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1666: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1666: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1666: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1666: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1667: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1667: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1667: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1668: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1668: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1668: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1668: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1668: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1669: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1669: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1669: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1670: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1670: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1670: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1670: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1670: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1671: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1671: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1671: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1672: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1672: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1672: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1672: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1672: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1673: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1673: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1673: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1673: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1673: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1674: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1674: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1674: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1674: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1674: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1675: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1675: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1675: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1675: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1675: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1676: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1676: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1676: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1676: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1676: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1677: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1677: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1677: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1677: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1677: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1678: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1678: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1678: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1678: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1678: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1679: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1679: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1679: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1679: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1679: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1680: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1680: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1680: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1680: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1680: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1681: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1681: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1681: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1682: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1682: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1682: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1683: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1683: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1683: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1684: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1684: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1684: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1685: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1685: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1685: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1686: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1686: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1686: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1687: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1687: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1687: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1688: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1688: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1688: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1698: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1698: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1698: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1699: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1699: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1699: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1700: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1700: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1700: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1701: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1701: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1701: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1702: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1702: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1702: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1703: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1703: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1703: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1704: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1704: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1704: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1705: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1705: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1705: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1706: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1707: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1708: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1709: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1710: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1711: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1712: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1713: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1714: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1715: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1716: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1717: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1718: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1719: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1720: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1721: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1731: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1731: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1731: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1732: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1732: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1732: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1733: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1733: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1733: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1734: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1734: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1734: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1735: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1735: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1735: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1736: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1736: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1736: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1737: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1737: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1737: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1738: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1738: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1738: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1739: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1740: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1741: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1742: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1743: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1744: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1745: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1746: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1747: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1748: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1749: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1750: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1751: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1752: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1753: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1754: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1757: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1757: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1759: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1759: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1761: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1761: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1762: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1762: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1763: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1763: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1764: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1764: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1764: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1764: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1764: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1765: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1765: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1765: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1765: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1765: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1766: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1766: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1766: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1767: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1767: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1767: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1767: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1767: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1768: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1768: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1768: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1769: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1769: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1769: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1769: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1769: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1770: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1770: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1770: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1771: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1771: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1771: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1771: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1771: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1772: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1772: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1772: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1773: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1773: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1773: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1774: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1774: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1774: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1775: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1775: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1775: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1776: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1776: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1776: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1777: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1777: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1777: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1778: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1778: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1778: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1779: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1779: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1779: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1780: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1780: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1780: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1781: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1781: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1781: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1782: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1782: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1782: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1783: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1783: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1783: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1784: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1784: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1784: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1785: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1785: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1785: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1786: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1786: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1786: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1787: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:1787: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1787: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1789: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1789: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1790: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1790: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1791: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1791: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1792: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1792: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1793: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1793: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1794: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1794: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1795: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1795: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1796: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1796: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1797: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1797: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1797: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1797: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1798: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1798: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1798: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1798: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1799: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1799: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1799: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1799: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1800: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1800: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1800: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1800: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1801: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1801: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1801: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1801: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1802: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1802: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1802: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1802: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1803: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1803: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1803: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1803: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1804: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1804: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1804: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1804: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1805: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1805: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1805: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1805: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1806: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1806: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1806: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1806: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1807: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1807: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1807: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1807: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1808: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1808: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1808: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1808: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1809: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1809: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1809: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1809: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1810: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1810: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1810: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1810: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1811: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1811: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1811: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1811: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1812: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1812: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1812: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1812: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1813: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1813: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1814: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1814: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1815: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1815: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1816: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1816: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1817: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1817: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1818: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1818: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1819: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1819: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1820: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1820: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1822: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1822: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1823: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1823: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1824: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1824: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1825: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1825: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1826: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1826: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1827: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1827: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1828: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1828: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1829: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1829: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1830: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1830: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1830: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1830: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1831: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1831: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1831: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1831: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1832: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1832: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1832: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1832: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1833: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1833: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1833: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1833: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1834: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1834: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1834: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1834: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1835: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1835: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1835: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1835: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1836: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1836: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1836: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1836: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1837: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1837: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1837: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1837: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1838: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1838: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1838: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1838: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1839: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1839: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1839: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1839: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1840: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1840: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1840: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1840: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1841: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1841: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1841: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1841: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1842: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1842: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1842: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1842: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1843: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1843: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1843: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1843: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1844: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1844: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1844: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1844: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1845: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1845: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1845: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1845: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1846: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1846: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1847: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1847: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1848: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1848: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1849: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1849: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1850: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1850: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1851: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1851: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1852: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1852: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1853: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1853: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1855: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1855: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1856: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1856: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1856: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1856: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1857: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1857: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1858: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1858: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1858: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1858: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1859: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1859: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1860: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1860: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1860: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1860: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1861: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1861: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1862: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1862: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1862: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1862: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1863: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1863: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1864: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1864: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1864: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1864: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1864: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1864: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1865: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1865: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1866: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1866: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1866: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1866: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1867: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1867: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1868: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1868: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1868: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1868: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1869: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1869: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1870: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1870: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1870: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1870: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1870: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1870: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1871: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1871: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1872: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1872: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1872: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1872: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1872: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1872: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1873: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1873: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1874: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1874: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1874: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1874: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1874: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1874: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1875: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1875: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1876: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1876: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1876: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1876: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1876: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1876: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1877: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1877: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1878: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1878: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1878: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1878: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1878: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1878: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1879: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1879: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1880: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1880: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1880: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1880: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1881: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1881: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1882: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1882: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1882: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1882: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1883: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1883: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1884: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1884: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1884: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1884: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1885: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1885: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1886: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1886: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1886: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1886: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1888: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1888: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1889: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1889: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1890: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1890: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1891: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1891: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1892: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1892: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1893: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1893: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1894: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1894: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1895: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1895: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1896: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1896: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1896: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1896: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1897: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1897: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1897: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1897: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1898: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1898: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1898: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1898: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1899: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1899: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1899: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1899: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1900: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1900: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1900: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1900: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1901: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1901: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1901: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1901: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1902: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1902: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1902: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1902: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1903: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1903: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1903: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1903: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1904: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1904: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1904: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1904: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1905: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1905: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1905: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1905: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1906: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1906: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1906: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1906: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1907: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1907: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1907: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1907: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1908: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1908: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1908: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1908: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1909: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1909: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1909: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1909: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1910: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1910: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1910: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1910: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1911: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1911: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1911: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1911: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1912: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1912: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1913: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1913: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1914: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1914: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1915: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1915: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1916: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1916: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1917: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1917: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1918: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1918: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1919: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1919: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1921: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1921: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1922: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1922: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1923: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1923: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1924: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1924: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1925: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1925: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1926: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1926: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1927: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1927: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1928: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1928: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1929: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1929: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1929: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1929: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1930: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1930: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1930: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1930: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1931: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1931: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1931: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1931: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1932: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1932: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1932: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1932: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1933: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1933: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1933: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1933: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1934: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1934: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1934: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1934: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1935: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1935: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1935: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1935: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1936: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1936: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1936: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1936: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1937: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1937: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1937: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1937: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1938: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1938: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1938: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1938: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1939: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1939: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1939: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1939: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1940: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1940: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1940: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1940: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1941: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1941: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1941: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1941: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1942: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1942: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1942: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1942: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1943: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1943: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1943: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1943: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1944: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1944: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1944: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1944: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1945: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1945: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1946: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1946: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1947: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1947: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1948: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1948: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1949: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1949: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1950: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1950: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1951: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1951: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1952: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1952: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1954: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1954: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1955: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1955: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1955: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1955: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1956: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1956: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1957: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1957: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1957: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1957: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1958: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1958: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1959: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1959: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1959: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1959: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1960: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1960: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1961: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1961: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1961: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1961: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1962: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1962: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1963: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1963: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1963: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1963: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1963: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1963: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1964: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1964: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1965: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1965: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1965: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1965: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1965: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1965: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1966: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1966: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1967: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1967: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1967: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1967: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1967: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1967: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1968: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1968: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1969: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1969: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1969: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1969: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1969: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1969: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1970: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1970: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1971: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1971: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1971: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1971: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1971: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1971: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1972: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1972: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1973: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1973: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1973: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1973: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1973: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1973: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1974: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1974: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1975: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1975: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1975: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1975: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1975: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1975: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1976: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1976: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1977: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1977: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1977: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1977: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1977: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1977: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1978: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1978: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1979: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1979: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1979: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1979: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1980: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1980: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1981: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1981: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1981: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1981: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1982: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1982: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1983: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1983: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1983: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1983: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1984: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1984: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1985: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1985: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1985: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1985: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:1987: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1987: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1988: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1988: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1989: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1989: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1990: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1990: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1991: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1991: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1992: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1992: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1993: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1993: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1994: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1994: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1995: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1995: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1995: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1996: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1996: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1996: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1996: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1997: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1997: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1997: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1998: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1998: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1998: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1998: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:1999: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1999: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:1999: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2000: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2000: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2000: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2000: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2001: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2001: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2001: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2002: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2002: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2002: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2002: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2003: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2003: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2004: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2004: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2005: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2005: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2006: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2006: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2007: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2007: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2008: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2008: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2009: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2009: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2010: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2010: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2011: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2011: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2012: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2012: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2013: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2013: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2014: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2014: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2015: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2015: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2016: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2016: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2017: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2017: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2018: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2018: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2020: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2020: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2021: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2021: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2022: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2022: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2023: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2023: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2024: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2024: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2025: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2025: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2026: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2026: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2027: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2027: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2028: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2028: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2028: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2029: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2029: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2029: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2029: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2030: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2030: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2030: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2031: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2031: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2031: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2031: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2032: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2032: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2032: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2033: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2033: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2033: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2033: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2034: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2034: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2034: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2035: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2035: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2035: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2035: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2036: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2036: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2037: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2037: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2038: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2038: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2039: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2039: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2040: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2040: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2041: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2041: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2042: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2042: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2043: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2043: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2044: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2044: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2045: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2045: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2046: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2046: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2047: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2047: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2048: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2048: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2049: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2049: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2050: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2050: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2051: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2051: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2053: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2053: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2054: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2054: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2054: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2054: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2055: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2055: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2056: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2056: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2056: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2056: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2057: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2057: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2058: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2058: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2058: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2058: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2059: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2059: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2059: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2059: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2060: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2060: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2060: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2060: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2061: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2061: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2061: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2061: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2061: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2061: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2062: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2062: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2062: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2062: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2062: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2062: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2063: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2063: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2063: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2063: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2063: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2063: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2064: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2064: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2064: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2064: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2064: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2064: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2065: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2065: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2065: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2065: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2065: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2065: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2066: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2066: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2066: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2066: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2066: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2066: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2067: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2067: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2067: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2067: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2067: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2067: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2068: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2068: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2068: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2068: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2068: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2068: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2069: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2069: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2069: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2069: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2070: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2070: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2070: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2070: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2071: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2071: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2071: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2071: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2072: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2072: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2072: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2072: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2073: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2073: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2073: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2073: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2074: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2074: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2074: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2074: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2075: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2075: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2075: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2075: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2076: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2076: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2076: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2076: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2077: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2077: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2077: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2077: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2078: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2078: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2078: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2078: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2079: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2079: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2079: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2079: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2080: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2080: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2080: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2080: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2081: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2081: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2081: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2081: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2082: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2082: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2082: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2082: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2083: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2083: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2083: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2083: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2084: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2084: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2084: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2084: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2086: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2086: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2087: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2087: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2088: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2088: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2089: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2089: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2090: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2090: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2091: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2091: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2092: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2092: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2093: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2093: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2094: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2094: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2094: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2094: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2095: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2095: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2095: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2095: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2096: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2096: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2096: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2096: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2097: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2097: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2097: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2097: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2098: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2098: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2098: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2098: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2099: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2099: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2099: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2099: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2100: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2100: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2100: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2100: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2101: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2101: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2101: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2101: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2102: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2102: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2102: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2102: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2103: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2103: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2103: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2103: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2104: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2104: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2104: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2104: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2105: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2105: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2105: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2105: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2106: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2106: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2106: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2106: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2107: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2107: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2107: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2107: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2108: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2108: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2108: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2108: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2109: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2109: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2109: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2109: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2110: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2110: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2111: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2111: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2112: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2112: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2113: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2113: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2114: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2114: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2115: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2115: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2116: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2116: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2117: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2117: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2119: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2119: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2120: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2120: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2121: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2121: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2122: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2122: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2123: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2123: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2124: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2124: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2125: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2125: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2126: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2126: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2127: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2127: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2127: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2127: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2128: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2128: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2128: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2128: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2129: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2129: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2129: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2129: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2130: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2130: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2130: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2130: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2131: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2131: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2131: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2131: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2132: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2132: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2132: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2132: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2133: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2133: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2133: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2133: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2134: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2134: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2134: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2134: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2135: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2135: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2135: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2135: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2136: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2136: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2136: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2136: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2137: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2137: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2137: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2137: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2138: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2138: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2138: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2138: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2139: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2139: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2139: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2139: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2140: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2140: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2140: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2140: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2141: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2141: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2141: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2141: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2142: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2142: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2142: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2142: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2143: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2143: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2144: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2144: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2145: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2145: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2146: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2146: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2147: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2147: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2148: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2148: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2149: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2149: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2150: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2150: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2152: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2152: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2153: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2153: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2153: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2153: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2154: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2154: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2155: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2155: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2155: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2155: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2156: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2156: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2157: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2157: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2157: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2157: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2158: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2158: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2159: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2159: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2159: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2159: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2160: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2160: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2161: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2161: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2161: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2161: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2161: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2161: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2162: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2162: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2163: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2163: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2163: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2163: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2163: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2163: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2164: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2164: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2165: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2165: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2165: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2165: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2165: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2165: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2166: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2166: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2167: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2167: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2167: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2167: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2167: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2167: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2168: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2168: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2169: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2169: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2169: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2169: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2169: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2169: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2170: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2170: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2171: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2171: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2171: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2171: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2171: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2171: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2172: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2172: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2173: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2173: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2173: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2173: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2173: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2173: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2174: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2174: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2175: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2175: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2175: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2175: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2175: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2175: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2176: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2176: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2177: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2177: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2177: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2177: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2178: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2178: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2179: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2179: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2179: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2179: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2180: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2180: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2181: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2181: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2181: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2181: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2182: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2182: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2183: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2183: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2183: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2183: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2185: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2185: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2186: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2186: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2187: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2187: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2188: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2188: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2189: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2189: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2190: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2190: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2191: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2191: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2192: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2192: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2193: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2193: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2193: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2193: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2194: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2194: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2194: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2194: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2195: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2195: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2195: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2195: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2196: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2196: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2196: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2196: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2197: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2197: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2197: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2197: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2198: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2198: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2198: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2198: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2199: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2199: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2199: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2199: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2200: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2200: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2200: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2200: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2201: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2201: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2201: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2201: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2202: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2202: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2202: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2202: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2203: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2203: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2203: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2203: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2204: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2204: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2204: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2204: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2205: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2205: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2205: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2205: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2206: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2206: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2206: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2206: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2207: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2207: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2207: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2207: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2208: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2208: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2208: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2208: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2209: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2209: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2210: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2210: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2211: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2211: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2212: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2212: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2213: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2213: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2214: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2214: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2215: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2215: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2216: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2216: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2218: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2218: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2219: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2219: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2220: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2220: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2221: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2221: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2222: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2222: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2223: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2223: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2224: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2224: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2225: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2225: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2226: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2226: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2226: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2226: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2227: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2227: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2227: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2227: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2228: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2228: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2228: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2228: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2229: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2229: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2229: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2229: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2230: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2230: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2230: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2230: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2231: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2231: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2231: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2231: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2232: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2232: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2232: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2232: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2233: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2233: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2233: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2233: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2234: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2234: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2234: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2234: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2235: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2235: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2235: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2235: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2236: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2236: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2236: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2236: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2237: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2237: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2237: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2237: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2238: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2238: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2238: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2238: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2239: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2239: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2239: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2239: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2240: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2240: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2240: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2240: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2241: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2241: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2241: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2241: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2242: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2242: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2243: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2243: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2244: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2244: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2245: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2245: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2246: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2246: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2247: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2247: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2248: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2248: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2249: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2249: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2251: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2251: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2252: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2252: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2253: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2253: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2254: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2254: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2255: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2255: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2256: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2256: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2256: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2256: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2257: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2257: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2258: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2258: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2258: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2258: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2259: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2259: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2260: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2260: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2260: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2260: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2260: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2260: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2261: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2261: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2262: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2262: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2262: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2262: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2263: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2263: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2264: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2264: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2264: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2264: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2265: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2265: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2266: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2266: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2266: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2266: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2266: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2266: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2267: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2267: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2268: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2268: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2268: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2268: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2268: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2268: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2269: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2269: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2270: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2270: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2270: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2270: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2270: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2270: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2271: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2271: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2272: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2272: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2272: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2272: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2273: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2273: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2274: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2274: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2274: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2274: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2275: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2275: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2276: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2276: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2276: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2276: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2277: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2277: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2278: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2278: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2278: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2278: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2279: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2279: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2280: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2280: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2280: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2280: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2281: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2281: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2282: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2282: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2282: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2282: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2284: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2284: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2285: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2285: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2286: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2286: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2287: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2287: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2288: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2288: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2289: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2289: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2290: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2290: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2291: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2291: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2292: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2292: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2292: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2293: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2293: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2293: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2293: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2294: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2294: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2294: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2295: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2295: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2295: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2295: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2296: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2296: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2296: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2297: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2297: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2297: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2297: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2298: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2298: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2298: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2299: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2299: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2299: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2299: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2300: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2300: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2301: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2301: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2302: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2302: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2303: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2303: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2304: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2304: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2305: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2305: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2306: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2306: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2307: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2307: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2308: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2308: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2309: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2309: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2310: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2310: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2311: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2311: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2312: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2312: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2313: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2313: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2314: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2314: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2315: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2315: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2317: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2317: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2318: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2318: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2319: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2319: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2320: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2320: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2321: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2321: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2322: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2322: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2323: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2323: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2324: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2324: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2325: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2325: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2325: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2326: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2326: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2326: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2326: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2327: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2327: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2327: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2328: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2328: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2328: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2328: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2329: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2329: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2329: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2330: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2330: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2330: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2330: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2331: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2331: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2331: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2332: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2332: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2332: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2332: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2333: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2333: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2334: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2334: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2335: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2335: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2336: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2336: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2337: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2337: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2338: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2338: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2339: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2339: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2340: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2340: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2341: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2341: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2342: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2342: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2343: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2343: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2344: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2344: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2345: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2345: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2346: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2346: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2347: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2347: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2348: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2348: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2350: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2350: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2351: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2351: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2352: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2352: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2353: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2353: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2354: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2354: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2355: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2355: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2355: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2355: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2356: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2356: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2356: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2356: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2357: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2357: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2357: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2357: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2358: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2358: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2358: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2358: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2358: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2358: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2359: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2359: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2359: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2359: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2359: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2359: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2360: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2360: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2360: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2360: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2360: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2360: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2361: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2361: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2361: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2361: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2362: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2362: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2362: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2362: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2362: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2362: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2363: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2363: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2363: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2363: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2364: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2364: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2364: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2364: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2364: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2364: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2365: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2365: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2365: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2365: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2365: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2365: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2366: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2366: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2366: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2366: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2367: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2367: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2367: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2367: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2368: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2368: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2368: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2368: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2369: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2369: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2369: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2369: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2370: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2370: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2370: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2370: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2371: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2371: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2372: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2372: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2372: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2372: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2373: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2373: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2374: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2374: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2374: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2374: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2375: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2375: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2375: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2375: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2376: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2376: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2376: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2376: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2377: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2377: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2377: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2377: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2378: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2378: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2378: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2378: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2379: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2379: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2379: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2379: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2380: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2380: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2380: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2380: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2381: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2381: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2381: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2381: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2383: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2383: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2384: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2384: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2385: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2385: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2386: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2386: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2387: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2387: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2388: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2388: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2389: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2389: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2390: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2390: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2391: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2391: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2391: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2391: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2391: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2392: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2392: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2392: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2392: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2392: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2393: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2393: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2393: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2393: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2393: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2394: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2394: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2394: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2394: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2394: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2395: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2395: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2395: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2395: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2395: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2396: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2396: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2396: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2396: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2396: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2397: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2397: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2397: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2397: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2397: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2398: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2398: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2398: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2398: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2398: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2399: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2399: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2399: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2399: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2399: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2400: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2400: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2400: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2400: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2400: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2401: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2401: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2401: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2401: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2401: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2402: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2402: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2402: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2402: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2402: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2403: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2403: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2403: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2403: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2403: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2404: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2404: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2404: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2404: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2404: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2405: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2405: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2405: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2405: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2405: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2406: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2406: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2406: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2406: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2406: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2407: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2407: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2407: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2408: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2408: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2408: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2409: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2409: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2409: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2410: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2410: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2410: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2411: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2411: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2411: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2412: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2412: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2412: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2413: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2413: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2413: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2414: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2414: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2414: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2416: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2416: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2417: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2417: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2418: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2418: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2419: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2419: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2420: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2420: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2421: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2421: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2422: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2422: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2423: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2423: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2424: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2424: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2424: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2424: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2424: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2425: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2425: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2425: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2425: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2425: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2426: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2426: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2426: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2426: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2426: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2427: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2427: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2427: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2427: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2427: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2428: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2428: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2428: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2428: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2428: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2429: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2429: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2429: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2429: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2429: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2430: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2430: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2430: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2430: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2430: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2431: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2431: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2431: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2431: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2431: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2432: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2432: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2432: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2432: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2432: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2433: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2433: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2433: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2433: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2433: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2434: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2434: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2434: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2434: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2434: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2435: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2435: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2435: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2435: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2435: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2436: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2436: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2436: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2436: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2436: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2437: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2437: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2437: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2437: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2437: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2438: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2438: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2438: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2438: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2438: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2439: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2439: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2439: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2439: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2439: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2440: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2440: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2440: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2441: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2441: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2441: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2442: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2442: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2442: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2443: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2443: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2443: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2444: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2444: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2444: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2445: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2445: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2445: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2446: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2446: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2446: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2447: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2447: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2447: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2449: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2449: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2449: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2449: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2450: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2450: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2450: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2450: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2451: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2451: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2451: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2451: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2452: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2452: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2452: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2452: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2453: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2453: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2453: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2453: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2454: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2454: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2454: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2454: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2455: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2455: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2455: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2455: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2456: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2456: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2456: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2456: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2457: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2457: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2457: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2457: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2457: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2457: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2457: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2458: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2458: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2458: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2458: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2458: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2458: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2458: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2459: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2459: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2459: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2459: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2459: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2460: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2460: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2460: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2460: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2460: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2461: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2461: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2461: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2461: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2461: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2462: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2462: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2462: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2462: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2462: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2463: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2463: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2463: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2463: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2463: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2464: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2464: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2464: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2464: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2464: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2464: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2464: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2465: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2465: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2465: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2465: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2465: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2465: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2465: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2466: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2466: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2466: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2466: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2466: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2466: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2466: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2467: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2467: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2467: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2467: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2467: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2467: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2467: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2468: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2468: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2468: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2468: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2468: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2468: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2468: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2469: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2469: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2469: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2469: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2469: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2469: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2469: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2470: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2470: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2470: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2470: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2470: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2471: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2471: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2471: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2471: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2471: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2471: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2471: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2472: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2472: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2472: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2472: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2472: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2473: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2473: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2473: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2473: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2473: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2474: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2474: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2474: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2474: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2474: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2475: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2475: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2475: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2475: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2475: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2476: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2476: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2476: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2476: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2476: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2477: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2477: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2477: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2477: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2477: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2478: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2478: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2478: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2478: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2478: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2479: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2479: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2479: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2479: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2479: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2480: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2480: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2480: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2480: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2480: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2482: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2482: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2483: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2483: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2484: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2484: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2485: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2485: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2486: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2486: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2487: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2487: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2488: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2488: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2489: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2489: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2490: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2490: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2490: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2490: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2490: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2491: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2491: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2491: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2491: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2491: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2492: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2492: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2492: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2492: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2492: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2493: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2493: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2493: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2493: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2493: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2494: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2494: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2494: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2494: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2494: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2495: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2495: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2495: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2495: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2495: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2496: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2496: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2496: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2496: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2496: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2497: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2497: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2497: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2497: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2497: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2498: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2498: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2498: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2498: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2498: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2499: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2499: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2499: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2499: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2499: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2500: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2500: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2500: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2500: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2500: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2501: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2501: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2501: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2501: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2501: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2502: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2502: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2502: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2502: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2502: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2503: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2503: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2503: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2503: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2503: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2504: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2504: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2504: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2504: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2504: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2505: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2505: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2505: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2505: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2505: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2506: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2506: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2506: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2507: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2507: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2507: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2508: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2508: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2508: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2509: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2509: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2509: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2510: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2510: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2510: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2511: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2511: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2511: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2512: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2512: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2512: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2513: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2513: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2513: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2515: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2515: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2516: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2516: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2517: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2517: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2518: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2518: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2519: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2519: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2520: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2520: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2521: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2521: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2522: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2522: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2523: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2523: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2523: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2523: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2523: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2524: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2524: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2524: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2524: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2524: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2525: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2525: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2525: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2525: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2525: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2526: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2526: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2526: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2526: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2526: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2527: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2527: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2527: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2527: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2527: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2528: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2528: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2528: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2528: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2528: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2529: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2529: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2529: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2529: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2529: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2530: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2530: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2530: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2530: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2530: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2531: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2531: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2531: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2531: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2531: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2532: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2532: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2532: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2532: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2532: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2533: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2533: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2533: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2533: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2533: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2534: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2534: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2534: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2534: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2534: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2535: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2535: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2535: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2535: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2535: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2536: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2536: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2536: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2536: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2536: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2537: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2537: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2537: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2537: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2537: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2538: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2538: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2538: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2538: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2538: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2539: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2539: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2539: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2540: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2540: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2540: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2541: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2541: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2541: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2542: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2542: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2542: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2543: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2543: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2543: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2544: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2544: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2544: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2545: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2545: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2545: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2546: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2546: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2546: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2548: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2548: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2548: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2548: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2549: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2549: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2549: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2549: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2550: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2550: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2550: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2550: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2551: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2551: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2551: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2551: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2552: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2552: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2552: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2552: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2553: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2553: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2553: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2553: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2554: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2554: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2554: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2554: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2555: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2555: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2555: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2555: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2556: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2556: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2556: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2556: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2556: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2556: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2556: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2557: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2557: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2557: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2557: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2557: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2557: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2557: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2558: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2558: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2558: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2558: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2558: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2559: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2559: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2559: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2559: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2559: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2560: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2560: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2560: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2560: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2560: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2561: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2561: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2561: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2561: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2561: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2562: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2562: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2562: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2562: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2562: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2563: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2563: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2563: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2563: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2563: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2563: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2563: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2564: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2564: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2564: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2564: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2564: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2564: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2564: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2565: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2565: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2565: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2565: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2565: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2565: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2565: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2566: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2566: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2566: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2566: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2566: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2566: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2566: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2567: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2567: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2567: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2567: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2567: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2567: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2567: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2568: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2568: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2568: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2568: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2568: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2569: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2569: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2569: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2569: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2569: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2570: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2570: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2570: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2570: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2570: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2571: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2571: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2571: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2571: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2571: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2572: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2572: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2572: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2573: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2573: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2573: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2573: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2573: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2574: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2574: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2574: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2574: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2574: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2575: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2575: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2575: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2575: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2575: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2576: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2576: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2576: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2576: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2576: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2577: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2577: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2577: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2577: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2577: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2578: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2578: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2578: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2578: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2578: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2579: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2579: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2579: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2579: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2579: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2581: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2581: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2582: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2582: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2583: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2583: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2584: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2584: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2585: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2585: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2586: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2586: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2587: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2587: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2588: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2588: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2589: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2589: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2589: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2589: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2589: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2590: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2590: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2590: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2590: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2590: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2591: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2591: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2591: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2591: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2591: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2592: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2592: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2592: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2592: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2592: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2593: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2593: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2593: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2593: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2593: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2594: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2594: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2594: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2594: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2594: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2595: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2595: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2595: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2595: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2595: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2596: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2596: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2596: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2596: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2596: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2597: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2597: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2597: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2598: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2598: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2598: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2599: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2599: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2599: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2600: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2600: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2600: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2601: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2601: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2601: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2602: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2602: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2602: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2603: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2603: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2603: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2604: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2604: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2604: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2605: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2605: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2605: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2606: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2606: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2606: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2607: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2607: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2607: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2608: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2608: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2608: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2609: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2609: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2609: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2610: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2610: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2610: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2611: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2611: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2611: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2612: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2612: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2612: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2614: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2614: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2615: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2615: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2616: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2616: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2617: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2617: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2618: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2618: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2619: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2619: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2620: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2620: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2621: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2621: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2622: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2622: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2622: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2622: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2622: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2623: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2623: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2623: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2623: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2623: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2624: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2624: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2624: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2624: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2624: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2625: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2625: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2625: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2625: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2625: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2626: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2626: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2626: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2626: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2626: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2627: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2627: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2627: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2627: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2627: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2628: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2628: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2628: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2628: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2628: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2629: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2629: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2629: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2629: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2629: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2630: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2630: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2630: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2631: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2631: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2631: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2632: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2632: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2632: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2633: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2633: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2633: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2634: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2634: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2634: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2635: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2635: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2635: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2636: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2636: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2636: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2637: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2637: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2637: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2638: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2638: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2638: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2639: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2639: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2639: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2640: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2640: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2640: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2641: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2641: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2641: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2642: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2642: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2642: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2643: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2643: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2643: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2644: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2644: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2644: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2645: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2645: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2645: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2647: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2647: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2647: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2647: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2648: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2648: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2648: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2648: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2649: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2649: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2649: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2649: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2650: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2650: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2650: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2650: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2651: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2651: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2651: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2651: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2652: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2652: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2652: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2652: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2653: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2653: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2653: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2653: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2654: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2654: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2654: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2654: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2655: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2655: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2655: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2655: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2655: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2655: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2655: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2656: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2656: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2656: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2656: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2656: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2656: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2656: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2657: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2657: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2657: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2657: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2657: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2658: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2658: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2658: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2658: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2658: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2658: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2658: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2659: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2659: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2659: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2659: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2659: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2660: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2660: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2660: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2660: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2660: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2660: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2660: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2661: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2661: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2661: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2661: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2661: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2662: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2662: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2662: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2662: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2662: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2662: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2662: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2663: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2663: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2663: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2663: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2663: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2664: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2664: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2664: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2664: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2664: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2665: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2665: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2665: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2665: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2665: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2666: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2666: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2666: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2666: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2666: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2667: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2667: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2667: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2668: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2668: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2668: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2668: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2668: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2669: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2669: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2669: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2670: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2670: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2670: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2670: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2670: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2671: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2671: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2671: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2672: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2672: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2672: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2672: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2672: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2673: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2673: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2673: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2673: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2673: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2674: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2674: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2674: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2674: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2674: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2675: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2675: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2675: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2675: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2675: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2676: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2676: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2676: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2676: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2676: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2677: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2677: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2677: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2677: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2677: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2678: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2678: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2678: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2678: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:2678: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2691: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2691: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2691: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2692: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2692: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2692: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2693: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2693: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2693: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2694: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2694: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2694: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2695: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2695: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2695: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2696: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2696: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2696: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2697: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2697: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2697: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2698: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2698: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2698: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2699: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2699: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2699: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2700: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2700: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2700: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2701: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2701: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2701: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2702: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2702: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2702: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2703: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2703: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2703: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2704: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2704: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2704: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2705: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2705: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2705: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2706: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2706: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2706: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2707: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2708: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2709: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2710: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2711: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2712: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2713: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2714: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2724: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2724: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2724: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2725: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2725: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2725: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2726: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2726: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2726: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2727: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2727: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2727: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2728: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2728: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2728: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2729: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2729: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2729: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2730: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2730: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2730: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2731: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2731: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2731: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2732: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2732: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2732: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2733: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2733: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2733: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2734: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2734: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2734: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2735: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2735: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2735: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2736: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2736: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2736: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2737: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2737: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2737: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2738: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2738: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2738: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2739: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2739: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2739: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2740: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2741: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2742: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2743: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2744: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2745: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2746: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2747: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2749: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2749: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2750: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2750: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2751: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2751: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2752: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2752: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2753: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2753: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2754: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2754: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2755: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2755: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2757: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2757: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2757: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2757: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2757: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2758: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2758: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2758: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2759: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2759: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2759: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2759: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2759: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2760: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2760: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2760: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2761: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2761: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2761: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2761: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2761: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2762: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2762: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2762: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2762: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2762: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2763: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2763: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2763: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2763: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2763: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2764: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2764: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2764: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2764: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2764: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2765: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2765: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2765: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2765: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2765: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2766: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2766: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2766: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2767: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2767: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2767: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2767: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2767: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2768: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2768: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2768: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2769: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2769: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2769: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2769: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2769: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2770: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2770: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2770: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2771: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2771: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2771: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2771: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2771: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2772: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2772: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2772: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2772: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2772: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2773: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2773: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2773: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2774: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2774: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2774: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2775: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2775: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2775: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2776: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2776: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2776: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2777: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2777: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2777: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2778: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2778: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2778: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2779: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2779: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2779: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2780: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2780: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2780: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2790: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2790: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2790: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2791: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2791: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2791: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2792: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2792: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2792: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2793: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2793: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2793: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2794: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2794: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2794: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2795: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2795: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2795: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2796: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2796: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2796: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2797: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2797: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2797: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2798: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2798: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2798: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2799: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2799: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2799: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2800: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2800: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2800: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2801: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2801: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2801: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2802: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2802: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2802: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2803: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2803: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2803: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2804: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2804: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2804: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2805: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2805: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2805: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2806: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2807: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2808: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2809: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2810: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2811: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2812: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2813: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2823: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2823: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2823: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2824: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2824: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2824: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2825: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2825: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2825: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2826: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2826: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2826: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2827: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2827: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2827: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2828: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2828: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2828: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2829: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2829: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2829: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2830: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2830: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2830: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2831: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2831: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2831: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2832: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2832: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2832: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2833: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2833: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2833: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2834: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2834: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2834: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2835: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2835: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2835: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2836: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2836: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2836: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2837: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2837: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2837: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2838: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2838: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2838: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2839: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2840: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2841: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2842: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2843: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2844: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2845: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2846: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2848: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2848: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2849: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2849: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2850: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2850: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2851: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2851: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2852: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2852: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2853: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2853: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2854: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2854: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2855: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2855: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2856: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2856: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2856: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2856: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2856: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2857: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2857: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2857: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2857: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2857: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2858: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2858: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2858: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2858: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2858: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2859: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2859: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2859: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2859: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2859: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2860: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2860: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2860: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2860: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2860: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2861: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2861: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2861: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2861: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2861: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2862: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2862: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2862: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2862: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2862: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2863: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2863: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2863: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2863: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2863: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2864: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2864: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2864: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2864: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2864: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2865: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2865: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2865: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2865: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2865: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2866: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2866: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2866: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2867: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2867: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2867: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2867: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2867: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2868: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2868: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2868: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2869: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2869: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2869: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2869: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2869: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2870: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2870: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2870: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2870: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2870: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2871: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2871: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2871: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2871: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2871: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2872: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2872: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2872: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2873: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2873: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2873: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2874: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2874: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2874: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2875: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2875: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2875: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2876: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2876: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2876: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2877: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2877: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2877: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2878: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2878: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2878: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2879: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2879: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2879: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2889: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2889: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2889: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2890: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2890: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2890: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2891: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2891: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2891: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2892: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2892: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2892: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2893: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2893: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2893: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2894: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2894: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2894: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2895: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2895: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2895: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2896: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2896: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2896: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2897: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2898: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2899: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2900: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2901: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2902: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2903: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2904: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2905: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2906: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2907: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2908: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2909: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2910: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2911: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2912: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2922: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2922: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2922: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2923: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2923: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2923: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2924: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2924: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2924: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2925: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2925: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2925: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2926: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2926: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2926: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2927: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2927: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2927: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2928: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2928: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2928: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2929: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2929: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2929: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2930: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2931: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2932: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2933: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2934: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2935: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2936: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2937: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2938: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2939: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2940: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2941: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2942: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2943: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2944: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2945: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2947: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2947: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2948: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2948: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2949: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2949: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2950: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2950: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2951: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2951: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2952: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2952: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2953: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2953: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2954: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2954: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2955: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2955: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2955: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2955: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2955: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2956: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2956: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2956: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2956: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2956: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2957: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2957: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2957: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2957: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2957: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2958: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2958: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2958: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2958: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2958: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2959: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2959: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2959: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2959: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2959: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2960: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2960: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2960: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2960: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2960: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2961: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2961: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2961: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2961: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2961: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2962: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2962: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2962: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2962: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2962: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2963: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2963: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2963: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2964: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2964: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2964: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2965: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2965: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2965: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2966: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2966: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2966: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2967: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2967: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2967: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2968: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2968: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2968: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2969: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2969: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2969: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2970: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2970: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2970: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2971: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2971: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2971: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2972: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2972: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2972: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2973: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2973: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2973: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2974: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2974: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2974: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2975: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2975: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2975: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2976: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2976: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2976: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2977: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2977: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2977: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2978: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:2978: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2978: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:2988: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2988: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2989: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2989: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2990: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2990: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2991: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2991: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2992: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2992: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2993: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2993: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2994: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2994: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2995: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2995: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2996: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2996: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2997: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2997: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2998: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2998: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2999: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:2999: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3000: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3000: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3001: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3001: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3002: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3002: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3003: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3003: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3021: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3021: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3022: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3022: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3023: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3023: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3024: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3024: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3025: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3025: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3026: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3026: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3027: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3027: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3028: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3028: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3029: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3029: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3030: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3030: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3031: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3031: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3032: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3032: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3033: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3033: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3034: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3034: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3035: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3035: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3036: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3036: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3047: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3047: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3049: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3049: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3051: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3051: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3055: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3055: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3057: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3057: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3059: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3059: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3059: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3059: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3061: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3061: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3061: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3061: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3063: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3063: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3063: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3063: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3065: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3065: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3065: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3065: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3067: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3067: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3067: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3067: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3069: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3069: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3069: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3069: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3071: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3071: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3073: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3073: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3075: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3075: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3077: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3077: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3087: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3087: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3088: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3088: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3089: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3089: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3090: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3090: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3091: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3091: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3092: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3092: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3093: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3093: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3094: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3094: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3095: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3095: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3096: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3096: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3097: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3097: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3098: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3098: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3099: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3099: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3100: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3100: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3101: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3101: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3102: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3102: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3120: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3120: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3121: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3121: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3122: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3122: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3123: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3123: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3124: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3124: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3125: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3125: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3126: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3126: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3127: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3127: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3128: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3128: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3129: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3129: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3130: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3130: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3131: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3131: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3132: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3132: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3133: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3133: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3134: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3134: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3135: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3135: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3146: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3146: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3148: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3148: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3150: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3150: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3152: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3152: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3154: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3154: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3154: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3154: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3156: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3156: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3156: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3156: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3158: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3158: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3158: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3158: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3160: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3160: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3160: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3160: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3162: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3162: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3162: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3162: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3164: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3164: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3164: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3164: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3166: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3166: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3166: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3166: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3168: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3168: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3168: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3168: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3170: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3170: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3172: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3172: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3174: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3174: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3176: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3176: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3186: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3187: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3187: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3188: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3189: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3189: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3190: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3191: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3191: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3192: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3193: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3193: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3219: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3220: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3220: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3221: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3222: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3222: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3223: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3224: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3224: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3225: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3226: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3226: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3244: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3244: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3245: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3245: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3246: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3246: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3247: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3247: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3248: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3248: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3249: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3249: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3250: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3250: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3251: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3251: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3252: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3252: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3253: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3253: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3253: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3253: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3254: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3254: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3255: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3255: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3255: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3255: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3256: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3256: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3256: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3256: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3257: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3257: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3257: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3257: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3258: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3258: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3258: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3258: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3259: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3259: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3259: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3259: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3260: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3260: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3261: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3261: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3263: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3263: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3265: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3265: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3266: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3266: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3267: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3267: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3268: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3268: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3269: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3269: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3270: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3270: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3271: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3271: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3272: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3273: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3273: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3274: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3275: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3275: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3285: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3285: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3285: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3286: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3286: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3286: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3287: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3287: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3287: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3288: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3288: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3288: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3289: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3289: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3289: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3290: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3290: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3290: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3291: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3291: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3291: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3292: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3292: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3292: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3293: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3293: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3293: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3294: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3294: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3294: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3295: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3295: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3295: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3296: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3296: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3296: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3297: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3297: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3297: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3298: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3298: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3298: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3299: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3299: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3299: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3300: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3300: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3300: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3301: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3302: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3303: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3304: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3305: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3306: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3307: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3308: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3318: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3318: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3318: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3319: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3319: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3319: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3320: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3320: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3320: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3321: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3321: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3321: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3322: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3322: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3322: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3323: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3323: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3323: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3324: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3324: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3324: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3325: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3325: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3325: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3326: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3326: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3326: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3327: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3327: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3327: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3328: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3328: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3328: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3329: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3329: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3329: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3330: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3330: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3330: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3331: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3331: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3331: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3332: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3332: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3332: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3333: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3333: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3333: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3334: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3335: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3336: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3337: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3338: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3339: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3340: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3341: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3343: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3343: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3344: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3344: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3345: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3345: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3346: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3346: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3347: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3347: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3348: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3348: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3349: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3349: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3351: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3351: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3351: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3352: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3352: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3352: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3353: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3353: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3353: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3354: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3354: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3354: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3355: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3355: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3355: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3355: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3355: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3356: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3356: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3356: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3356: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3356: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3357: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3357: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3357: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3357: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3357: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3358: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3358: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3358: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3358: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3358: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3359: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3359: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3359: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3359: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3359: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3360: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3360: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3360: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3360: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3360: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3361: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3361: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3361: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3362: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3362: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3362: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3362: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3362: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3363: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3363: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3363: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3364: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3364: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3364: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3364: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3364: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3365: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3365: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3365: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3365: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3365: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3366: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3366: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3366: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3366: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3366: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3367: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3367: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3367: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3368: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3368: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3368: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3369: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3369: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3369: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3370: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3370: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3370: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3371: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3371: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3372: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3372: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3372: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3373: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3373: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3374: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3374: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3374: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3384: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3384: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3384: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3385: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3385: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3385: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3386: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3386: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3386: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3387: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3387: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3387: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3388: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3388: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3388: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3389: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3389: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3389: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3390: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3390: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3390: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3391: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3391: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3391: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3392: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3392: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3392: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3393: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3393: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3393: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3394: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3394: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3394: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3395: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3395: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3395: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3396: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3396: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3396: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3397: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3397: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3397: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3398: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3398: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3398: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3399: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3399: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3399: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3400: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3401: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3402: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3403: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3404: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3405: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3406: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3407: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3417: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3417: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3417: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3418: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3418: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3418: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3419: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3419: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3419: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3420: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3420: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3420: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3421: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3421: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3421: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3422: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3422: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3422: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3423: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3423: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3423: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3424: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3424: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3424: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3425: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3425: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3425: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3426: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3426: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3426: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3427: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3427: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3427: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3428: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3428: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3428: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3429: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3429: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3429: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3430: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3430: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3430: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3431: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3431: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3431: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3432: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3432: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3432: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3433: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3434: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3435: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3436: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3437: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3438: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3439: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3440: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3442: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3442: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3443: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3443: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3444: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3444: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3445: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3445: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3446: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3446: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3447: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3447: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3448: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3448: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3449: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3449: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3450: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3450: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3450: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3450: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3450: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3451: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3451: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3451: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3451: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3451: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3452: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3452: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3452: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3452: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3452: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3453: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3453: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3453: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3453: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3453: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3454: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3454: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3454: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3454: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3454: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3455: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3455: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3455: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3455: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3455: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3456: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3456: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3456: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3456: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3456: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3457: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3457: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3457: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3457: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3457: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3458: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3458: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3458: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3458: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3458: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3459: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3459: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3459: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3460: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3460: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3460: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3461: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3461: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3461: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3462: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3462: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3462: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3463: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3463: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3463: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3464: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3464: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3464: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3464: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3464: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3465: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3465: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3465: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3465: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3465: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3466: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3466: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3466: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3467: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3467: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3467: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3468: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3468: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3468: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3469: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3469: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3469: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3470: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3470: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3471: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3471: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3471: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3472: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3472: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3473: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3473: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3473: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3483: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3483: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3483: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3484: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3484: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3484: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3485: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3485: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3485: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3486: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3486: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3486: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3487: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3487: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3487: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3488: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3488: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3488: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3489: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3489: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3489: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3490: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3490: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3490: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3491: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3492: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3493: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3494: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3495: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3496: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3497: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3498: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3499: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3500: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3501: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3502: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3503: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3504: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3505: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3506: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3516: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3516: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3516: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3517: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3517: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3517: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3518: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3518: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3518: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3519: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3519: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3519: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3520: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3520: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3520: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3521: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3521: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3521: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3522: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3522: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3522: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3523: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3523: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3523: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3524: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3525: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3526: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3527: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3528: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3529: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3530: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3531: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3532: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3533: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3534: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3535: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3536: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3537: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3538: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3539: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3541: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3541: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3542: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3542: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3543: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3543: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3544: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3544: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3545: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3545: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3546: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3546: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3547: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3547: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3548: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3548: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3549: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3549: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3549: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3549: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3549: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3550: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3550: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3550: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3550: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3550: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3551: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3551: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3551: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3551: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3551: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3552: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3552: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3552: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3552: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3552: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3553: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3553: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3553: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3553: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3553: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3554: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3554: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3554: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3554: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3554: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3555: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3555: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3555: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3555: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3555: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3556: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3556: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3556: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3556: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3556: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3557: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3557: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3557: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3558: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3559: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3560: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3561: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3562: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3563: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3563: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3563: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3564: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3564: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3564: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3565: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3565: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3565: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3566: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3566: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3566: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3567: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3567: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3567: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3568: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3568: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3569: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3569: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3570: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3570: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3571: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3571: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3572: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:3572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3572: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3582: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3582: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3583: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3583: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3584: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3584: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3585: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3585: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3586: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3586: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3587: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3587: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3588: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3588: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3589: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3589: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3590: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3590: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3591: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3591: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3592: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3592: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3593: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3593: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3594: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3594: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3595: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3595: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3596: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3596: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3597: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3597: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3615: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3615: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3616: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3616: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3617: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3617: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3618: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3618: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3619: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3619: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3620: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3620: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3621: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3621: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3622: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3622: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3623: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3623: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3624: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3624: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3625: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3625: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3626: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3626: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3627: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3627: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3628: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3628: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3629: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3629: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3630: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3630: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3641: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3641: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3643: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3643: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3645: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3645: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3647: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3647: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3649: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3649: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3649: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3649: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3651: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3651: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3651: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3651: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3653: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3653: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3653: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3653: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3655: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3655: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3655: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3655: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3657: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3657: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3659: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3659: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3661: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3661: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3663: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3663: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3663: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3663: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3665: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3665: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3667: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3669: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3671: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3681: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3681: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3682: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3682: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3683: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3683: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3684: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3684: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3685: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3685: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3686: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3686: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3687: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3687: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3688: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3688: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3689: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3689: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3690: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3690: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3691: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3691: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3692: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3692: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3693: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3693: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3694: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3694: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3695: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3695: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3696: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3696: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3714: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3714: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3715: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3715: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3716: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3716: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3717: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3717: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3718: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3718: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3719: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3719: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3720: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3720: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3721: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3721: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3722: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3722: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3723: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3723: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3724: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3724: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3725: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3725: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3726: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3726: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3727: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3727: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3728: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3728: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3729: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3729: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3740: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3740: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3742: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3742: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3744: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3744: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3746: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3746: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3748: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3748: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3748: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3748: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3750: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3750: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3750: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3750: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3752: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3752: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3752: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3752: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3754: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3754: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3754: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3754: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3756: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3756: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3758: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3758: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3760: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3760: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3762: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3762: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3762: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3762: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3764: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3764: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3766: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3768: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3770: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3780: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3781: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3781: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3782: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3783: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3783: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3784: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3785: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3785: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3786: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3787: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3787: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3813: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3814: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3814: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3815: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3816: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3816: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3817: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3818: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3818: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3819: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3820: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3820: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3838: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3838: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3839: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3839: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3840: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3840: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3841: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3841: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3842: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3842: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3843: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3843: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3844: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3844: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3845: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3845: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3846: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3846: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3846: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3846: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3847: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3847: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3847: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3847: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3848: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3848: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3848: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3848: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3849: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3849: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3849: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3849: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3850: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3850: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3850: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3850: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3851: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3851: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3851: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3851: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3852: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3852: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3852: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3852: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3853: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3853: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3853: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3853: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3854: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3854: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3855: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3855: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3856: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3856: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3857: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3857: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3858: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3858: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3859: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3859: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3860: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3860: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3861: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3861: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3862: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3862: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3863: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3863: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3864: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3864: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3865: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3865: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3866: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3867: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3867: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3868: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3869: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3869: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3879: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3879: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3880: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3880: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3881: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3881: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3882: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3882: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3883: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3883: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3884: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3884: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3885: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3885: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3886: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3886: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3887: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3887: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3888: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3888: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3889: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3889: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3890: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3890: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3891: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3891: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3892: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3892: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3893: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3893: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3894: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3894: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3912: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3912: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3913: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3913: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3914: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3914: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3915: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3915: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3916: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3916: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3917: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3917: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3918: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3918: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3919: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3919: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3920: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3920: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3921: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3921: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3922: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3922: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3923: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3923: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3924: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3924: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3925: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3925: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3926: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3926: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3927: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3927: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3938: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3938: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3940: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3940: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3942: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3942: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3944: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3944: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3946: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3946: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3946: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3946: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3948: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3948: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3948: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3948: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3950: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3950: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3950: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3950: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3952: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3952: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3952: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3952: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3954: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3954: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3954: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3954: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3956: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3956: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3956: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3956: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3958: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3958: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3958: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3958: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3960: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3960: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3960: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3960: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3962: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3962: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3964: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3964: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3966: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3966: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3968: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3968: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:3978: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3978: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3979: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3979: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3980: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3980: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3981: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3981: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3982: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3982: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3983: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3983: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3984: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3984: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3985: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3985: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3986: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3986: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3987: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3987: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3988: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3988: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3989: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3989: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3990: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3990: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3991: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3991: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3992: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3992: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3993: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:3993: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4011: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4011: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4012: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4012: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4013: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4013: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4014: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4014: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4015: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4015: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4016: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4016: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4017: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4017: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4018: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4018: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4019: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4019: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4020: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4020: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4021: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4021: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4022: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4022: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4023: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4023: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4024: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4024: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4025: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4025: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4026: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4026: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4037: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4037: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4039: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4039: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4041: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4041: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4043: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4043: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4045: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4045: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4045: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4045: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4047: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4047: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4047: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4047: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4049: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4049: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4049: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4049: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4051: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4051: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4051: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4051: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4053: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4053: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4055: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4055: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4057: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4057: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4059: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4059: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4059: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4059: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4061: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4061: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4063: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4063: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4065: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4065: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4067: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4067: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4077: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4078: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4078: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4079: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4080: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4080: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4081: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4082: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4082: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4083: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4084: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4084: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4110: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4111: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4111: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4112: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4114: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4115: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4115: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4116: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4117: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4117: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4135: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4135: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4136: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4136: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4137: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4137: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4138: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4138: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4139: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4139: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4140: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4140: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4141: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4141: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4142: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4142: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4143: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4143: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4143: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4143: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4144: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4144: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4144: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4144: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4145: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4145: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4145: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4145: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4146: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4146: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4146: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4146: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4147: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4147: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4147: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4147: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4148: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4148: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4148: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4148: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4149: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4149: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4149: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4149: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4150: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4150: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4150: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4150: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4151: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4151: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4152: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4152: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4153: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4153: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4154: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4154: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4155: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4155: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4156: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4156: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4157: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4157: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4158: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4158: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4159: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4159: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4160: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4160: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4161: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4161: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4162: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4162: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4163: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4163: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4164: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4164: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4165: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4165: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4166: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4166: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4176: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4176: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4176: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4177: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4177: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4177: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4178: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4178: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4178: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4179: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4179: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4179: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4180: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4180: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4180: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4181: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4181: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4181: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4182: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4182: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4182: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4183: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4183: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4183: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4184: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4184: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4184: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4185: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4185: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4185: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4186: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4186: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4186: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4187: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4187: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4187: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4188: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4188: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4188: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4189: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4189: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4189: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4190: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4190: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4190: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4191: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4191: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4191: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4192: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4193: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4194: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4195: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4196: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4197: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4198: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4199: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4209: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4209: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4209: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4210: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4210: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4210: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4211: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4211: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4211: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4212: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4212: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4212: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4213: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4214: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4215: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4215: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4215: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4216: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4216: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4216: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4217: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4217: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4217: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4218: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4218: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4218: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4219: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4219: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4219: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4220: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4220: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4220: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4221: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4221: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4221: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4222: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4222: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4222: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4223: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4223: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4223: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4224: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4224: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4224: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4225: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4226: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4227: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4228: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4229: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4230: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4231: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4232: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4234: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4234: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4235: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4235: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4236: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4236: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4237: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4237: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4238: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4238: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4239: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4239: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4240: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4240: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4241: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4241: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4242: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4242: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4242: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4242: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4242: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4243: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4243: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4243: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4243: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4243: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4244: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4244: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4244: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4244: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4244: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4245: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4245: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4245: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4245: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4245: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4246: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4246: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4246: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4247: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4247: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4247: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4248: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4248: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4248: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4248: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4248: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4249: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4249: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4249: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4249: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4249: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4250: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4250: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4250: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4250: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4250: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4251: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4251: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4251: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4251: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4251: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4252: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4252: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4252: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4253: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4253: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4253: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4253: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4253: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4254: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4254: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4254: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4255: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4255: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4255: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4255: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4255: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4256: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4256: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4256: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4256: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4256: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4257: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4257: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4257: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4257: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4257: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4258: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4258: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4258: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4259: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4259: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4259: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4260: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4260: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4260: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4261: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4261: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4261: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4262: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4262: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4263: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4263: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4263: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4264: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4264: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4265: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4265: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4265: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4275: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4275: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4275: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4276: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4276: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4276: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4277: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4277: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4277: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4278: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4278: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4278: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4279: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4279: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4279: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4280: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4280: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4280: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4281: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4281: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4281: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4282: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4282: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4282: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4283: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4283: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4283: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4284: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4284: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4284: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4285: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4285: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4285: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4286: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4286: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4286: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4287: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4287: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4287: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4288: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4288: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4288: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4289: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4289: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4289: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4290: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4290: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4290: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4291: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4292: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4293: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4294: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4295: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4296: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4297: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4298: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4308: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4308: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4308: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4309: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4309: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4309: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4310: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4310: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4310: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4311: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4311: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4311: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4312: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4312: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4312: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4313: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4313: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4313: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4314: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4314: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4314: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4315: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4315: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4315: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4316: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4316: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4316: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4317: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4317: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4317: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4318: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4318: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4318: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4319: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4319: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4319: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4320: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4320: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4320: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4321: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4321: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4321: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4322: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4322: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4322: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4323: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4323: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4323: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4324: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4325: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4326: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4327: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4328: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4329: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4330: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4331: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4333: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4333: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4334: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4334: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4335: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4335: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4336: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4336: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4337: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4337: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4338: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4338: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4339: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4339: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4340: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4340: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4341: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4341: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4341: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4341: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4341: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4342: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4342: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4342: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4342: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4342: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4343: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4343: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4343: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4343: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4343: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4344: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4344: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4344: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4344: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4344: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4345: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4345: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4345: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4345: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4345: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4346: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4346: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4346: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4346: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4346: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4347: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4347: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4347: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4347: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4347: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4348: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4348: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4348: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4348: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4348: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4349: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4349: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4349: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4349: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4349: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4350: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4350: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4350: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4351: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4351: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4351: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4352: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4352: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4352: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4353: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4353: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4353: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4354: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4354: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4354: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4355: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4355: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4355: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4355: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4355: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4356: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4356: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4356: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4356: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4356: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4357: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4357: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4357: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4358: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4358: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4358: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4359: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4359: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4359: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4360: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4360: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4360: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4361: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4361: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4362: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4362: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4362: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4363: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4363: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4364: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4364: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4364: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4374: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4374: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4374: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4375: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4375: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4375: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4376: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4376: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4376: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4377: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4377: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4377: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4378: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4378: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4378: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4379: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4379: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4379: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4380: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4380: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4380: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4381: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4381: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4381: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4382: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4383: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4384: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4385: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4386: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4387: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4388: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4389: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4390: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4391: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4392: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4393: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4394: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4395: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4396: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4397: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4407: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4407: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4407: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4408: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4408: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4408: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4409: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4409: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4409: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4410: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4410: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4410: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4411: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4411: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4411: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4412: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4412: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4412: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4413: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4413: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4413: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4414: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4414: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4414: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4415: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4416: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4417: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4418: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4419: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4420: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4421: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4422: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4423: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4424: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4425: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4426: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4427: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4428: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4429: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4430: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4432: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4432: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4433: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4433: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4434: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4434: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4435: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4435: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4436: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4436: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4437: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4437: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4438: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4438: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4439: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4439: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4440: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4440: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4440: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4440: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4440: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4441: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4441: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4441: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4441: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4441: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4442: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4442: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4442: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4442: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4442: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4443: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4443: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4443: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4443: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4443: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4444: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4444: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4444: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4444: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4444: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4445: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4445: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4445: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4445: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4445: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4446: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4446: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4446: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4446: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4446: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4447: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4447: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4447: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4447: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4447: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4448: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4448: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4448: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4449: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4449: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4449: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4450: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4450: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4450: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4451: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4451: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4451: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4452: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4452: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4452: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4453: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4453: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4453: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4454: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4454: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4454: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4455: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4455: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4455: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4456: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4456: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4456: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4457: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4457: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4457: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4458: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4458: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4458: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4459: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4459: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4460: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4460: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4461: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4461: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4462: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4462: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4463: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4463: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4465: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4465: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4466: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4466: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4467: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4467: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4468: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4468: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4469: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4469: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4470: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4470: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4471: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4471: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4472: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4472: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4473: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4473: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4473: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4473: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4473: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4474: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4474: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4474: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4474: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4474: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4475: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4475: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4475: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4475: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4475: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4476: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4476: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4476: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4476: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4476: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4477: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4477: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4477: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4477: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4477: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4478: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4478: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4478: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4478: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4478: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4479: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4479: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4479: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4479: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4479: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4480: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4480: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4480: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4480: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4480: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4481: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4481: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4481: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4481: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4481: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4482: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4482: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4482: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4482: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4482: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4483: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4483: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4483: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4483: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4483: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4484: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4484: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4484: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4484: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4484: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4485: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4485: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4485: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4485: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4485: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4486: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4486: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4486: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4486: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4486: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4487: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4487: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4487: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4487: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4487: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4488: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4488: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4488: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4488: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4488: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4489: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4489: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4489: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4490: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4490: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4490: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4491: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4491: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4491: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4492: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4492: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4492: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4493: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4493: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4493: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4494: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4494: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4494: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4495: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4495: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4495: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4496: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4496: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4496: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4498: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4498: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4499: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4499: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4500: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4500: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4501: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4501: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4502: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4502: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4503: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4503: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4504: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4504: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4505: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4505: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4506: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4506: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4506: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4506: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4506: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4507: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4507: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4507: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4507: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4507: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4508: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4508: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4508: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4508: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4508: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4509: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4509: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4509: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4509: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4509: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4510: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4510: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4510: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4510: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4510: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4511: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4511: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4511: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4511: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4511: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4512: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4512: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4512: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4512: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4512: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4513: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4513: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4513: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4513: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4513: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4514: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4514: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4514: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4514: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4514: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4515: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4515: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4515: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4515: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4515: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4516: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4516: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4516: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4516: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4516: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4517: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4517: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4517: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4517: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4517: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4518: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4518: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4518: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4518: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4518: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4519: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4519: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4519: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4519: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4519: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4520: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4520: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4520: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4520: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4520: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4521: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4521: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4521: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4521: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4521: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4522: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4522: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4522: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4523: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4523: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4523: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4524: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4524: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4524: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4525: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4525: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4525: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4526: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4526: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4526: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4527: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4527: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4527: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4528: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4528: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4528: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4529: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4529: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4529: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4531: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4531: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4531: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4531: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4532: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4532: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4532: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4532: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4533: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4533: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4533: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4533: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4534: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4534: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4534: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4534: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4535: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4535: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4535: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4535: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4536: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4536: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4536: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4536: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4537: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4537: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4537: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4537: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4538: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4538: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4538: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4538: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4539: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4539: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4539: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4539: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4539: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4539: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4539: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4540: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4540: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4540: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4540: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4540: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4540: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4540: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4541: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4541: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4541: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4541: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4541: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4541: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4541: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4542: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4542: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4542: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4542: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4542: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4542: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4542: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4543: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4543: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4543: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4543: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4543: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4543: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4543: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4544: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4544: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4544: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4544: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4544: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4544: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4544: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4545: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4545: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4545: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4545: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4545: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4545: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4545: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4546: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4546: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4546: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4546: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4546: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4546: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4546: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4547: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4547: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4547: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4547: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4547: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4547: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4547: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4548: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4548: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4548: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4548: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4548: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4548: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4548: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4549: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4549: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4549: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4549: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4549: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4549: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4549: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4550: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4550: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4550: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4550: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4550: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4550: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4550: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4551: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4551: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4551: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4551: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4551: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4551: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4551: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4552: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4552: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4552: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4552: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4552: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4552: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4552: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4553: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4553: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4553: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4553: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4553: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4553: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4553: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4554: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4554: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4554: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4554: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4554: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4554: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4554: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4555: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4555: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4555: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4555: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4555: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4556: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4556: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4556: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4556: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4556: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4557: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4557: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4557: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4557: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4557: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4558: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4558: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4558: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4558: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4559: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4559: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4559: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4559: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4560: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4560: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4560: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4560: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4561: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4561: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4561: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4561: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4562: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4562: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4562: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4562: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4564: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4564: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4565: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4565: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4566: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4566: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4567: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4567: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4568: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4568: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4569: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4569: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4570: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4570: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4571: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4571: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4572: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4572: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4572: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4572: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4572: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4573: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4573: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4573: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4573: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4573: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4574: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4574: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4574: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4574: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4574: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4575: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4575: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4575: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4575: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4575: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4576: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4576: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4576: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4576: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4576: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4577: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4577: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4577: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4577: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4577: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4578: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4578: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4578: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4578: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4578: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4579: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4579: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4579: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4579: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4579: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4580: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4580: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4580: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4580: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4580: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4581: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4581: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4581: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4581: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4581: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4582: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4582: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4582: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4582: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4582: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4583: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4583: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4583: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4583: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4583: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4584: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4584: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4584: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4584: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4584: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4585: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4585: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4585: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4585: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4585: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4586: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4586: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4586: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4586: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4586: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4587: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4587: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4587: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4587: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4587: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4588: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4588: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4588: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4589: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4589: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4589: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4590: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4590: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4590: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4591: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4591: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4591: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4592: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4592: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4592: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4593: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4593: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4593: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4594: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4594: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4594: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4595: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4595: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4595: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4597: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4597: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4598: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4598: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4599: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4599: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4600: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4600: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4601: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4601: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4602: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4602: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4603: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4603: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4604: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4604: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4605: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4605: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4605: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4605: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4605: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4606: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4606: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4606: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4606: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4606: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4607: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4607: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4607: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4607: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4607: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4608: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4608: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4608: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4608: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4608: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4609: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4609: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4609: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4609: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4609: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4610: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4610: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4610: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4610: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4610: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4611: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4611: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4611: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4611: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4611: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4612: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4612: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4612: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4612: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4612: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4613: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4613: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4613: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4613: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4613: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4614: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4614: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4614: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4614: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4614: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4615: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4615: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4615: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4615: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4615: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4616: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4616: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4616: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4616: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4616: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4617: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4617: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4617: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4617: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4617: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4618: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4618: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4618: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4618: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4618: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4619: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4619: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4619: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4619: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4619: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4620: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4620: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4620: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4620: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4620: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4621: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4621: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4621: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4622: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4622: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4622: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4623: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4623: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4623: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4624: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4624: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4624: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4625: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4625: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4625: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4626: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4626: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4626: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4627: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4627: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4627: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4628: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4628: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4628: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4630: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4630: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4630: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4630: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4631: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4631: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4631: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4631: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4632: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4632: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4632: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4632: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4633: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4633: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4633: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4633: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4634: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4634: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4634: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4634: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4635: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4635: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4635: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4635: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4636: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4636: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4636: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4636: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4637: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4637: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4637: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4637: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4638: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4638: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4638: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4638: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4638: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4638: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4638: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4639: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4639: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4639: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4639: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4639: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4639: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4639: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4640: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4640: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4640: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4640: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4640: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4640: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4640: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4641: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4641: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4641: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4641: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4641: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4641: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4641: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4642: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4642: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4642: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4642: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4642: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4642: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4642: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4643: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4643: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4643: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4643: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4643: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4643: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4643: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4644: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4644: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4644: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4644: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4644: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4644: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4644: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4645: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4645: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4645: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4645: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4645: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4645: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4645: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4646: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4646: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4646: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4646: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4646: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4646: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4646: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4647: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4647: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4647: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4647: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4647: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4647: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4647: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4648: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4648: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4648: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4648: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4648: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4648: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4648: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4649: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4649: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4649: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4649: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4649: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4649: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4649: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4650: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4650: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4650: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4650: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4650: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4650: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4650: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4651: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4651: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4651: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4651: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4651: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4651: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4651: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4652: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4652: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4652: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4652: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4652: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4652: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4652: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4653: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4653: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4653: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4653: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4653: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4653: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4653: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4654: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4654: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4654: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4654: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4654: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4655: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4655: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4655: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4655: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4655: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4656: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4656: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4656: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4656: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4656: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4657: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4657: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4657: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4657: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4658: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4658: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4658: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4658: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4658: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4659: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4659: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4659: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4659: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4660: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4660: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4660: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4660: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4660: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4661: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4661: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4661: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4661: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4663: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4663: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4664: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4664: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4665: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4665: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4666: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4666: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4667: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4667: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4668: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4668: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4669: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4669: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4670: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4670: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4671: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4671: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4671: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4671: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4671: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4672: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4672: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4672: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4672: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4672: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4673: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4673: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4673: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4673: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4673: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4674: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4674: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4674: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4674: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4674: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4675: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4675: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4675: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4675: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4675: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4676: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4676: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4676: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4676: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4676: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4677: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4677: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4677: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4677: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4677: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4678: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4678: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4678: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4678: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4678: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4679: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4679: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4679: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4680: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4680: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4680: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4681: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4681: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4681: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4682: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4682: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4682: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4683: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4683: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4683: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4684: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4684: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4684: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4685: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4685: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4685: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4686: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4686: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4686: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4687: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4687: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4687: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4688: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4688: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4688: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4689: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4689: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4689: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4690: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4690: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4690: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4691: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4691: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4691: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4692: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4692: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4692: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4693: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4693: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4693: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4694: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4694: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4694: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4696: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4696: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4697: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4697: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4698: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4698: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4699: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4699: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4700: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4700: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4701: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4701: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4702: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4702: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4703: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4703: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4704: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4704: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4704: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4704: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4704: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4705: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4705: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4705: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4705: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4705: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4706: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4706: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4706: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4706: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4706: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4707: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4707: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4707: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4707: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4707: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4708: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4708: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4708: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4708: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4708: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4709: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4709: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4709: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4709: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4709: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4710: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4710: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4710: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4710: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4710: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4711: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4711: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4711: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4711: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4711: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4712: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4712: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4712: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4713: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4713: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4713: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4714: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4714: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4714: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4715: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4715: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4715: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4716: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4716: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4716: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4717: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4717: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4717: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4718: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4718: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4718: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4719: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4719: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4719: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4720: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4720: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4720: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4721: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4721: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4721: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4722: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4722: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4722: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4723: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4723: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4723: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4724: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4724: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4724: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4725: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4725: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4725: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4726: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4726: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4726: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4727: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4727: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4727: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4729: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4729: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4729: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4729: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4730: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4730: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4730: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4730: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4731: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4731: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4731: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4731: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4732: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4732: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4732: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4732: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4733: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4733: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4733: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4733: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4734: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4734: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4734: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4734: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4735: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4735: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4735: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4735: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4736: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4736: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4736: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4736: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4737: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4737: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4737: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4737: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4737: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4737: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4737: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4738: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4738: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4738: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4738: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4738: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4738: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4738: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4739: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4739: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4739: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4739: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4739: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4739: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4739: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4740: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4740: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4740: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4740: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4740: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4740: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4740: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4741: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4741: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4741: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4741: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4741: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4741: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4741: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4742: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4742: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4742: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4742: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4742: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4742: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4742: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4743: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4743: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4743: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4743: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4743: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4743: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4743: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4744: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4744: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4744: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4744: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4744: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4744: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4744: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4745: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4745: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4745: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4745: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4745: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4746: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4746: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4746: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4746: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4746: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4747: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4747: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4747: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4747: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4747: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4748: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4748: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4748: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4748: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4748: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4749: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4749: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4749: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4749: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4749: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4750: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4750: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4750: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4750: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4750: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4751: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4751: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4751: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4751: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4751: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4752: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4752: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4752: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4752: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4752: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4753: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4753: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4753: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4753: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4753: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4754: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4754: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4754: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4754: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4754: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4755: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4755: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4755: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4755: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4755: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4756: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4756: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4756: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4756: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4757: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4757: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4757: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4757: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4757: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4758: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4758: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4758: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4758: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4759: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4759: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4759: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4759: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4759: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4760: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:4760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4760: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4760: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4760: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4762: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4762: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4763: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4763: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4764: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4764: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4765: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4765: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4766: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4766: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4767: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4767: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4768: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4768: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4769: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4769: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4770: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4770: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4770: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4770: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4771: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4771: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4771: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4771: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4772: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4772: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4772: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4772: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4773: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4773: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4773: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4773: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4774: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4774: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4774: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4774: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4775: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4775: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4775: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4775: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4776: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4776: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4776: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4776: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4777: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4777: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4777: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4777: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4778: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4778: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4778: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4778: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4779: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4779: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4779: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4779: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4780: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4780: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4780: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4780: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4781: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4781: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4781: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4781: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4782: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4782: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4782: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4782: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4783: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4783: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4783: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4783: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4784: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4784: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4784: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4784: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4785: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4785: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4785: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4785: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4786: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4786: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4787: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4787: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4788: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4788: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4789: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4789: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4790: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4790: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4791: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4791: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4792: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4792: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4793: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4793: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4795: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4795: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4796: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4796: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4797: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4797: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4798: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4798: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4799: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4799: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4800: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4800: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4801: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4801: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4802: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4802: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4803: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4803: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4803: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4803: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4804: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4804: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4804: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4804: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4805: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4805: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4805: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4805: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4806: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4806: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4806: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4806: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4807: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4807: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4807: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4807: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4808: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4808: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4808: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4808: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4809: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4809: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4809: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4809: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4810: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4810: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4810: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4810: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4811: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4811: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4811: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4811: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4812: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4812: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4812: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4812: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4813: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4813: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4813: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4813: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4814: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4814: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4814: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4814: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4815: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4815: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4815: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4815: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4816: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4816: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4816: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4816: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4817: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4817: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4817: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4817: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4818: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4818: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4818: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4818: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4819: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4819: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4820: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4820: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4821: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4821: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4822: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4822: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4823: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4823: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4824: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4824: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4825: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4825: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4826: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4826: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4828: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4828: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4829: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4829: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4829: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4829: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4830: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4830: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4831: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4831: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4831: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4831: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4832: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4832: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4833: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4833: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4833: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4833: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4834: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4834: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4835: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4835: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4835: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4835: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4836: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4836: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4837: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4837: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4837: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4837: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4837: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4837: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4838: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4838: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4839: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4839: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4839: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4839: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4839: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4839: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4840: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4840: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4841: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4841: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4841: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4841: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4841: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4841: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4842: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4842: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4843: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4843: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4843: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4843: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4843: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4843: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4844: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4844: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4845: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4845: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4845: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4845: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4845: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4845: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4846: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4846: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4847: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4847: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4847: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4847: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4847: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4847: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4848: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4848: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4849: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4849: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4849: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4849: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4849: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4849: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4850: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4850: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4851: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4851: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4851: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4851: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4851: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4851: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4852: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4852: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4853: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4853: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4853: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4853: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4854: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4854: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4855: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4855: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4855: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4855: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4856: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4856: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4857: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4857: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4857: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4857: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4858: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4858: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4859: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4859: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4859: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4859: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4861: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4861: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4862: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4862: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4863: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4863: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4864: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4864: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4865: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4865: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4866: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4866: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4867: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4867: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4868: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4868: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4869: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4869: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4869: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4869: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4870: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4870: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4870: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4870: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4871: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4871: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4871: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4871: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4872: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4872: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4872: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4872: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4873: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4873: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4873: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4873: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4874: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4874: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4874: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4874: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4875: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4875: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4875: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4875: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4876: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4876: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4876: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4876: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4877: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4877: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4877: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4877: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4878: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4878: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4878: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4878: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4879: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4879: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4879: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4879: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4880: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4880: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4880: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4880: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4881: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4881: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4881: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4881: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4882: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4882: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4882: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4882: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4883: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4883: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4883: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4883: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4884: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4884: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4884: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4884: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4885: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4885: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4886: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4886: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4887: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4887: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4888: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4888: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4889: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4889: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4890: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4890: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4891: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4891: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4892: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4892: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4894: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4894: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4895: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4895: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4896: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4896: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4897: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4897: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4898: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4898: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4899: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4899: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4900: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4900: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4901: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4901: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4902: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4902: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4902: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4902: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4903: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4903: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4903: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4903: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4904: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4904: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4904: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4904: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4905: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4905: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4905: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4905: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4906: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4906: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4906: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4906: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4907: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4907: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4907: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4907: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4908: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4908: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4908: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4908: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4909: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4909: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4909: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4909: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4910: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4910: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4910: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4910: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4911: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4911: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4911: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4911: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4912: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4912: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4912: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4912: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4913: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4913: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4913: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4913: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4914: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4914: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4914: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4914: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4915: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4915: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4915: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4915: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4916: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4916: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4916: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4916: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4917: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4917: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4917: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4917: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4918: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4918: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4919: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4919: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4920: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4920: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4921: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4921: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4922: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4922: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4923: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4923: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4924: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4924: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4925: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4925: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4927: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4927: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4928: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4928: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4928: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4928: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4929: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4929: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4930: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4930: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4930: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4930: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4931: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4931: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4932: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4932: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4932: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4932: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4933: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4933: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4934: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4934: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4934: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4934: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4935: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4935: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4936: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4936: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4936: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4936: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4936: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4936: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4937: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4937: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4938: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4938: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4938: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4938: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4938: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4938: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4939: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4939: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4940: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4940: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4940: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4940: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4940: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4940: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4941: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4941: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4942: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4942: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4942: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4942: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4942: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4942: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4943: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4943: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4944: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4944: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4944: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4944: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4944: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4944: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4945: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4945: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4946: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4946: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4946: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4946: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4946: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4946: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4947: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4947: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4948: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4948: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4948: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4948: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4948: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4948: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4949: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4949: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4950: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4950: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4950: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4950: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4950: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4950: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4951: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4951: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4952: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4952: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4952: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4952: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4953: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4953: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4954: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4954: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4954: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4954: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4955: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4955: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4956: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4956: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4956: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4956: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4957: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4957: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4958: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4958: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4958: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4958: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:4960: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4960: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4961: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4961: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4962: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4962: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4963: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4963: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4964: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4964: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4965: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4965: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4966: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4966: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4967: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4967: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4968: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4968: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4968: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4969: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4969: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4969: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4969: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4970: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4970: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4970: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4971: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4971: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4971: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4971: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4972: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4972: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4972: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4973: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4973: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4973: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4973: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4974: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4974: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4974: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4975: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4975: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4975: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4975: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:4976: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4976: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4977: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4977: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4978: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4978: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4979: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4979: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4980: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4980: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4981: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4981: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4982: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4982: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4983: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4983: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4984: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4984: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4985: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4985: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4986: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4986: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4987: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4987: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4988: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4988: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4989: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4989: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4990: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4990: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4991: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4991: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4993: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4993: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4994: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4994: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4995: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4995: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4996: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4996: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4997: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4997: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4998: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4998: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4999: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:4999: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5000: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5000: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5001: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5001: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5001: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5002: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5002: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5002: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5002: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5003: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5003: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5003: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5004: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5004: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5004: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5004: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5005: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5005: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5005: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5006: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5006: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5006: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5006: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5007: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5007: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5007: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5008: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5008: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5008: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5008: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5009: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5009: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5010: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5010: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5011: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5011: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5012: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5012: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5013: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5013: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5014: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5014: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5015: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5015: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5016: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5016: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5017: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5017: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5018: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5018: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5019: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5019: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5020: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5020: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5021: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5021: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5022: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5022: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5023: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5023: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5024: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5024: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5026: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5026: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5026: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5026: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5027: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5027: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5027: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5027: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5028: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5028: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5028: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5028: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5029: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5029: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5029: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5029: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5030: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5030: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5030: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5030: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5031: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5031: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5031: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5031: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5032: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5032: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5032: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5032: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5033: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5033: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5033: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5033: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5034: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5034: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5034: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5034: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5034: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5034: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5035: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5035: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5035: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5035: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5035: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5035: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5036: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5036: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5036: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5036: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5036: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5036: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5037: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5037: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5037: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5037: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5037: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5037: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5038: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5038: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5038: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5038: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5038: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5038: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5039: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5039: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5039: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5039: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5039: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5039: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5040: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5040: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5040: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5040: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5040: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5040: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5041: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5041: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5041: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5041: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5041: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5041: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5042: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5042: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5042: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5042: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5043: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5043: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5043: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5043: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5044: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5044: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5044: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5044: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5045: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5045: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5045: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5045: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5046: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5046: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5046: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5046: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5047: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5047: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5047: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5047: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5048: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5048: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5048: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5048: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5049: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5049: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5049: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5049: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5050: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5050: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5050: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5050: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5051: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5051: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5051: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5051: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5052: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5052: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5052: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5052: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5053: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5053: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5053: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5054: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5054: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5054: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5054: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5055: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5055: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5055: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5056: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5056: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5056: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5056: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5057: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5057: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5057: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5059: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5059: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5060: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5060: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5061: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5061: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5062: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5062: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5063: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5063: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5064: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5064: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5065: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5065: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5066: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5066: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5067: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5067: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5067: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5067: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5067: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5068: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5068: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5068: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5068: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5068: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5069: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5069: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5069: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5069: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5069: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5070: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5070: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5070: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5070: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5070: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5071: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5071: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5071: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5071: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5071: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5072: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5072: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5072: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5072: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5072: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5073: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5073: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5073: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5073: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5073: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5074: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5074: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5074: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5074: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5074: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5075: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5075: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5075: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5075: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5075: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5076: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5076: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5076: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5076: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5076: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5077: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5077: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5077: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5077: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5077: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5078: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5078: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5078: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5078: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5078: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5079: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5079: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5079: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5079: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5079: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5080: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5080: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5080: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5080: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5080: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5081: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5081: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5081: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5081: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5081: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5082: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5082: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5082: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5082: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5082: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5083: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5083: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5083: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5084: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5084: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5084: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5085: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5085: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5085: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5086: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5086: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5086: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5087: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5087: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5087: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5088: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5088: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5088: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5089: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5089: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5089: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5090: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5090: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5090: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5092: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5092: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5093: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5093: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5094: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5094: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5095: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5095: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5096: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5096: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5097: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5097: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5098: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5098: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5099: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5099: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5100: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5100: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5100: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5100: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5100: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5101: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5101: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5101: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5101: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5101: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5102: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5102: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5102: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5102: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5102: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5103: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5103: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5103: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5103: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5103: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5104: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5104: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5104: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5104: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5104: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5105: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5105: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5105: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5105: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5105: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5106: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5106: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5106: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5106: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5106: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5107: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5107: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5107: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5107: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5107: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5108: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5108: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5108: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5108: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5108: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5109: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5109: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5109: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5109: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5109: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5110: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5110: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5110: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5110: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5110: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5111: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5111: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5111: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5111: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5111: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5112: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5112: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5112: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5112: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5112: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5113: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5113: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5113: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5113: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5114: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5114: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5114: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5114: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5114: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5115: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5115: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5115: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5115: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5115: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5116: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5116: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5116: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5117: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5117: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5117: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5118: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5118: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5118: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5119: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5119: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5119: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5120: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5120: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5120: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5121: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5121: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5121: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5122: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5122: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5122: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5123: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5123: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5123: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5125: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5125: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5125: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5125: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5126: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5126: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5126: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5126: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5127: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5127: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5127: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5127: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5128: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5128: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5128: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5128: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5129: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5129: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5129: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5129: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5130: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5130: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5130: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5130: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5131: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5131: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5131: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5131: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5132: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5132: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5132: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5132: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5133: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5133: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5133: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5133: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5133: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5133: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5133: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5134: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5134: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5134: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5134: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5134: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5134: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5134: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5135: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5135: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5135: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5135: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5135: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5135: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5135: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5136: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5136: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5136: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5136: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5136: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5136: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5136: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5137: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5137: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5137: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5137: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5137: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5137: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5137: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5138: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5138: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5138: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5138: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5138: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5138: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5138: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5139: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5139: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5139: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5139: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5139: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5139: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5139: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5140: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5140: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5140: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5140: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5140: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5140: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5140: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5141: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5141: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5141: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5141: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5141: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5141: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5141: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5142: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5142: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5142: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5142: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5142: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5142: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5142: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5143: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5143: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5143: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5143: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5143: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5143: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5143: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5144: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5144: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5144: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5144: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5144: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5144: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5144: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5145: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5145: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5145: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5145: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5145: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5145: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5145: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5146: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5146: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5146: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5146: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5146: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5146: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5146: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5147: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5147: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5147: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5147: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5147: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5147: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5147: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5148: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5148: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5148: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5148: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5148: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5148: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5148: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5149: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5149: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5149: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5149: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5149: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5150: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5150: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5150: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5150: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5150: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5151: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5151: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5151: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5151: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5151: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5152: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5152: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5152: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5152: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5152: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5153: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5153: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5153: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5153: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5153: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5154: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5154: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5154: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5154: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5154: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5155: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5155: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5155: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5155: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5155: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5156: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5156: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5156: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5156: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5156: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5158: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5158: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5159: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5159: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5160: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5160: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5161: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5161: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5162: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5162: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5163: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5163: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5164: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5164: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5165: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5165: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5166: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5166: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5166: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5166: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5166: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5167: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5167: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5167: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5167: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5167: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5168: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5168: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5168: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5168: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5168: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5169: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5169: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5169: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5169: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5169: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5170: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5170: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5170: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5170: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5170: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5171: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5171: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5171: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5171: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5171: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5172: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5172: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5172: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5172: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5172: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5173: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5173: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5173: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5173: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5173: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5174: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5174: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5174: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5174: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5174: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5175: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5175: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5175: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5175: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5175: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5176: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5176: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5176: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5176: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5176: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5177: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5177: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5177: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5177: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5177: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5178: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5178: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5178: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5178: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5178: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5179: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5179: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5179: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5179: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5179: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5180: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5180: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5180: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5180: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5180: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5181: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5181: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5181: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5181: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5181: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5182: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5182: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5182: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5183: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5183: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5183: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5184: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5184: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5184: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5185: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5185: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5185: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5186: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5186: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5186: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5187: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5187: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5187: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5188: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5188: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5188: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5189: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5189: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5189: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5191: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5191: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5192: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5192: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5193: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5193: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5194: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5194: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5195: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5195: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5196: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5196: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5197: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5197: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5198: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5198: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5199: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5199: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5199: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5199: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5199: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5200: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5200: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5200: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5200: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5200: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5201: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5201: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5201: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5201: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5201: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5202: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5202: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5202: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5202: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5202: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5203: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5203: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5203: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5203: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5203: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5204: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5204: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5204: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5204: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5204: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5205: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5205: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5205: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5205: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5205: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5206: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5206: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5206: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5206: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5206: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5207: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5207: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5207: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5207: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5207: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5208: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5208: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5208: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5208: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5208: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5209: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5209: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5209: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5209: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5209: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5210: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5210: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5210: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5210: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5210: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5211: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5211: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5211: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5211: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5211: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5212: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5212: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5212: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5212: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5212: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5213: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5213: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5213: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5213: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5214: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5214: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5214: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5214: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5215: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5215: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5215: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5216: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5216: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5216: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5217: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5217: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5217: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5218: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5218: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5218: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5219: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5219: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5219: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5220: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5220: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5220: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5221: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5221: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5221: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5222: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5222: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5222: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5224: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5224: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5224: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5224: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5225: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5225: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5225: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5225: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5226: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5226: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5226: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5226: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5227: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5227: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5227: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5227: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5228: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5228: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5228: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5228: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5229: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5229: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5229: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5229: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5230: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5230: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5230: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5230: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5231: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5231: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5231: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5231: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5232: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5232: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5232: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5232: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5232: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5232: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5232: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5233: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5233: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5233: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5233: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5233: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5233: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5233: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5234: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5234: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5234: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5234: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5234: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5234: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5234: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5235: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5235: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5235: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5235: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5235: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5235: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5235: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5236: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5236: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5236: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5236: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5236: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5236: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5236: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5237: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5237: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5237: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5237: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5237: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5237: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5237: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5238: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5238: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5238: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5238: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5238: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5238: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5238: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5239: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5239: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5239: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5239: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5239: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5239: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5239: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5240: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5240: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5240: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5240: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5240: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5240: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5240: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5241: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5241: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5241: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5241: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5241: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5241: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5241: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5242: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5242: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5242: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5242: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5242: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5242: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5242: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5243: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5243: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5243: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5243: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5243: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5243: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5243: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5244: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5244: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5244: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5244: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5244: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5244: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5244: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5245: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5245: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5245: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5245: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5245: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5245: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5245: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5246: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5246: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5246: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5246: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5246: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5246: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5247: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5247: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5247: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5247: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5247: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5247: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5248: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5248: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5248: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5248: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5248: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5249: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5249: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5249: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5249: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5249: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5250: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5250: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5250: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5250: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5250: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5251: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5251: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5251: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5251: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5251: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5252: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5252: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5252: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5252: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5253: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5253: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5253: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5253: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5253: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5254: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5254: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5254: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5254: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5255: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5255: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5255: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5255: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5255: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5257: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5257: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5258: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5258: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5259: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5259: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5260: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5260: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5261: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5261: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5262: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5262: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5263: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5263: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5264: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5264: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5265: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5265: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5265: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5265: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5265: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5266: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5266: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5266: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5266: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5266: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5267: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5267: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5267: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5267: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5267: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5268: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5268: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5268: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5268: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5268: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5269: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5269: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5269: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5269: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5269: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5270: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5270: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5270: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5270: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5270: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5271: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5271: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5271: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5271: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5271: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5272: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5272: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5272: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5272: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5272: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5273: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5273: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5273: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5274: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5274: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5274: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5275: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5275: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5275: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5276: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5276: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5276: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5277: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5277: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5277: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5278: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5278: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5278: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5279: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5279: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5279: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5280: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5280: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5280: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5281: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5281: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5281: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5282: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5282: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5282: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5283: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5283: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5283: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5284: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5284: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5284: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5285: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5285: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5285: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5286: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5286: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5286: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5287: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5287: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5287: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5288: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5288: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5288: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5290: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5290: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5291: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5291: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5292: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5292: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5293: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5293: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5294: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5294: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5295: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5295: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5296: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5296: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5297: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5297: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5298: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5298: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5298: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5298: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5298: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5299: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5299: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5299: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5299: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5299: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5300: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5300: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5300: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5300: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5300: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5301: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5301: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5301: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5301: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5301: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5302: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5302: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5302: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5302: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5302: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5303: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5303: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5303: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5303: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5303: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5304: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5304: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5304: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5304: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5304: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5305: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5305: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5305: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5305: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5305: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5306: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5306: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5306: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5307: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5307: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5307: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5308: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5308: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5308: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5309: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5309: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5309: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5310: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5310: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5310: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5311: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5311: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5311: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5312: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5312: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5312: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5313: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5313: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5313: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5314: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5314: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5314: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5315: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5315: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5315: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5316: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5316: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5316: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5317: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5317: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5317: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5318: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5318: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5318: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5319: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5319: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5319: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5320: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5320: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5320: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5321: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5321: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5321: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5323: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5323: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5323: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5323: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5324: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5324: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5324: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5324: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5325: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5325: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5325: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5325: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5326: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5326: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5326: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5326: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5327: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5327: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5327: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5327: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5328: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5328: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5328: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5328: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5329: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5329: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5329: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5329: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5330: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5330: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5330: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5330: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5331: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5331: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5331: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5331: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5331: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5331: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5331: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5332: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5332: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5332: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5332: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5332: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5332: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5332: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5333: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5333: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5333: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5333: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5333: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5333: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5333: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5334: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5334: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5334: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5334: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5334: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5334: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5334: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5335: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5335: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5335: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5335: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5335: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5335: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5335: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5336: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5336: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5336: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5336: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5336: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5336: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5336: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5337: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5337: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5337: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5337: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5337: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5337: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5337: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5338: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5338: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5338: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5338: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5338: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5338: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5338: warning: dword data exceeds bounds [-w+number-overflow] +./travis/test/riprel.asm:5339: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5339: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5339: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5339: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5339: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5340: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5340: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5340: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5340: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5340: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5341: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5341: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5341: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5341: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5341: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5342: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5342: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5342: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5342: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5342: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5343: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5343: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5343: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5343: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5343: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5344: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5344: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5344: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5344: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5344: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5345: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5345: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5345: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5345: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5345: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5346: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5346: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5346: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5346: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5346: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5347: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5347: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5347: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5347: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5347: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5348: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5348: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5348: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5348: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5348: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5349: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5349: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5349: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5349: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5349: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5350: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5350: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5350: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5350: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5351: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5351: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5351: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5351: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5352: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5352: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5352: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5352: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5353: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5353: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5353: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5353: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5354: warning: absolute address can not be RIP-relative [-w+other] +./travis/test/riprel.asm:5354: warning: displacement size ignored on absolute address [-w+other] +./travis/test/riprel.asm:5354: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5354: warning: es segment base generated, but will be ignored in 64-bit mode [-w+other] +./travis/test/riprel.asm:5354: warning: displacement size ignored on absolute address [-w+other]
\ No newline at end of file diff --git a/travis/test/riprel2.asm b/travis/test/riprel2.asm new file mode 100644 index 00000000..fe7077da --- /dev/null +++ b/travis/test/riprel2.asm @@ -0,0 +1,8 @@ + bits 64 + + default rel + mov dword [foo],12345678h + mov qword [foo],12345678h + mov [foo],rax + mov dword [foo],12345678h +foo: diff --git a/travis/test/riprel2.bin.t b/travis/test/riprel2.bin.t Binary files differnew file mode 100644 index 00000000..a521782e --- /dev/null +++ b/travis/test/riprel2.bin.t diff --git a/travis/test/riprel2.json b/travis/test/riprel2.json new file mode 100644 index 00000000..fb74724d --- /dev/null +++ b/travis/test/riprel2.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test rip relative addressing (-Ox)", + "id": "riprel2", + "format": "bin", + "source": "riprel2.asm", + "option": "-Ox", + "target": [ + { "output": "riprel2.bin" } + ] + }, + { + "description": "Test rip relative addressing (-O0)", + "ref": "riprel2", + "option": "-O0", + "update": "false" + } +] diff --git a/travis/test/sha-64.asm b/travis/test/sha-64.asm new file mode 100644 index 00000000..59948af9 --- /dev/null +++ b/travis/test/sha-64.asm @@ -0,0 +1,29 @@ +BITS 64 + sha1rnds4 xmm1, xmm2, 9 + sha1rnds4 xmm2, [rax], 7 + sha1rnds4 xmm3, [rax+0x12], 5 + sha1rnds4 xmm4, [rax+rbx*2], 1 + sha1nexte xmm1, xmm2 + sha1nexte xmm2, [rax] + sha1nexte xmm3, [rax+0x12] + sha1nexte xmm4, [rax+rbx*2] + sha1msg1 xmm1, xmm2 + sha1msg1 xmm2, [rax] + sha1msg1 xmm3, [rax+0x12] + sha1msg1 xmm4, [rax+rbx*2] + sha1msg2 xmm1, xmm2 + sha1msg2 xmm2, [rax] + sha1msg2 xmm3, [rax+0x12] + sha1msg2 xmm4, [rax+rbx*2] + sha256rnds2 xmm1, xmm2, xmm0 + sha256rnds2 xmm2, [rax], xmm0 + sha256rnds2 xmm3, [rax+0x12], xmm0 + sha256rnds2 xmm4, [rax+rbx*2], xmm0 + sha256msg1 xmm1, xmm2 + sha256msg1 xmm2, [rax] + sha256msg1 xmm3, [rax+0x12] + sha256msg1 xmm4, [rax+rbx*2] + sha256msg2 xmm1, xmm2 + sha256msg2 xmm2, [rax] + sha256msg2 xmm3, [rax+0x12] + sha256msg2 xmm4, [rax+rbx*2] diff --git a/travis/test/sha-64.json b/travis/test/sha-64.json new file mode 100644 index 00000000..3ccf01fa --- /dev/null +++ b/travis/test/sha-64.json @@ -0,0 +1,12 @@ +[ + { + "description": "Check sha instructions in 64 bit mode", + "id": "sha-64", + "format": "elf64", + "source": "sha-64.asm", + "option": "-O0", + "target": [ + { "output": "sha-64.o" } + ] + } +] diff --git a/travis/test/sha-64.o.t b/travis/test/sha-64.o.t Binary files differnew file mode 100644 index 00000000..d65f795e --- /dev/null +++ b/travis/test/sha-64.o.t diff --git a/travis/test/sha.asm b/travis/test/sha.asm new file mode 100644 index 00000000..684cadd5 --- /dev/null +++ b/travis/test/sha.asm @@ -0,0 +1,31 @@ +;Testname=sha; Arguments=-felf -osha.o -O0; Files=stdout stderr sha.o +BITS 32 + + sha1rnds4 xmm1, xmm2, 9 + sha1rnds4 xmm2, [eax], 7 + sha1rnds4 xmm3, [eax+0x12], 5 + sha1rnds4 xmm4, [eax+ebx*2], 1 + sha1nexte xmm1, xmm2 + sha1nexte xmm2, [eax] + sha1nexte xmm3, [eax+0x12] + sha1nexte xmm4, [eax+ebx*2] + sha1msg1 xmm1, xmm2 + sha1msg1 xmm2, [eax] + sha1msg1 xmm3, [eax+0x12] + sha1msg1 xmm4, [eax+ebx*2] + sha1msg2 xmm1, xmm2 + sha1msg2 xmm2, [eax] + sha1msg2 xmm3, [eax+0x12] + sha1msg2 xmm4, [eax+ebx*2] + sha256rnds2 xmm1, xmm2, xmm0 + sha256rnds2 xmm2, [eax], xmm0 + sha256rnds2 xmm3, [eax+0x12], xmm0 + sha256rnds2 xmm4, [eax+ebx*2], xmm0 + sha256msg1 xmm1, xmm2 + sha256msg1 xmm2, [eax] + sha256msg1 xmm3, [eax+0x12] + sha256msg1 xmm4, [eax+ebx*2] + sha256msg2 xmm1, xmm2 + sha256msg2 xmm2, [eax] + sha256msg2 xmm3, [eax+0x12] + sha256msg2 xmm4, [eax+ebx*2] diff --git a/travis/test/sha.json b/travis/test/sha.json new file mode 100644 index 00000000..e2622a10 --- /dev/null +++ b/travis/test/sha.json @@ -0,0 +1,12 @@ +[ + { + "description": "Check sha instructions in 32 bit mode", + "id": "sha", + "format": "elf", + "source": "sha.asm", + "option": "-O0", + "target": [ + { "output": "sha.o" } + ] + } +] diff --git a/travis/test/sha.o.t b/travis/test/sha.o.t Binary files differnew file mode 100644 index 00000000..587836cc --- /dev/null +++ b/travis/test/sha.o.t diff --git a/travis/test/smartalign.json b/travis/test/smartalign.json new file mode 100644 index 00000000..9b75786c --- /dev/null +++ b/travis/test/smartalign.json @@ -0,0 +1,29 @@ +[ + { + "description": "Test smartalign in 16 bit mode", + "id": "smartalign16", + "format": "bin", + "source": "smartalign16.asm", + "target": [ + { "output": "smartalign16.bin" } + ] + }, + { + "description": "Test smartalign in 32 bit mode", + "id": "smartalign32", + "format": "bin", + "source": "smartalign32.asm", + "target": [ + { "output": "smartalign32.bin" } + ] + }, + { + "description": "Test smartalign in 64 bit mode", + "id": "smartalign64", + "format": "bin", + "source": "smartalign64.asm", + "target": [ + { "output": "smartalign64.bin" } + ] + } +] diff --git a/travis/test/smartalign16.asm b/travis/test/smartalign16.asm new file mode 100644 index 00000000..15c8615f --- /dev/null +++ b/travis/test/smartalign16.asm @@ -0,0 +1,34 @@ +%use smartalign + + bits 16 + + alignmode nop, 32 + add ax,ax + align 32 + + alignmode generic, 32 + add ax,ax + align 32 + + alignmode k7, 32 + add ax,ax + align 32 + + alignmode k8, 32 + add ax,ax + align 32 + + alignmode p6, 32 + add ax,ax + align 32 + + add ecx,ecx + align 32 + add edx,edx + align 128 + add ebx,ebx + align 256 + add esi,esi + align 512 + + add edi,edi diff --git a/travis/test/smartalign16.bin.t b/travis/test/smartalign16.bin.t Binary files differnew file mode 100644 index 00000000..5718b94e --- /dev/null +++ b/travis/test/smartalign16.bin.t diff --git a/travis/test/smartalign32.asm b/travis/test/smartalign32.asm new file mode 100644 index 00000000..52ca520a --- /dev/null +++ b/travis/test/smartalign32.asm @@ -0,0 +1,34 @@ +%use smartalign + + bits 32 + + alignmode nop, 32 + add ax,ax + align 32 + + alignmode generic, 32 + add ax,ax + align 32 + + alignmode k7, 32 + add ax,ax + align 32 + + alignmode k8, 32 + add ax,ax + align 32 + + alignmode p6, 32 + add ax,ax + align 32 + + add ecx,ecx + align 32 + add edx,edx + align 128 + add ebx,ebx + align 256 + add esi,esi + align 512 + + add edi,edi diff --git a/travis/test/smartalign32.bin.t b/travis/test/smartalign32.bin.t Binary files differnew file mode 100644 index 00000000..5b44bf9a --- /dev/null +++ b/travis/test/smartalign32.bin.t diff --git a/travis/test/smartalign64.asm b/travis/test/smartalign64.asm new file mode 100644 index 00000000..b484fdaa --- /dev/null +++ b/travis/test/smartalign64.asm @@ -0,0 +1,34 @@ +%use smartalign + + bits 64 + + alignmode nop, 32 + add ax,ax + align 32 + + alignmode generic, 32 + add ax,ax + align 32 + + alignmode k7, 32 + add ax,ax + align 32 + + alignmode k8, 32 + add ax,ax + align 32 + + alignmode p6, 32 + add ax,ax + align 32 + + add ecx,ecx + align 32 + add edx,edx + align 128 + add ebx,ebx + align 256 + add esi,esi + align 512 + + add edi,edi diff --git a/travis/test/smartalign64.bin.t b/travis/test/smartalign64.bin.t Binary files differnew file mode 100644 index 00000000..da21bb2f --- /dev/null +++ b/travis/test/smartalign64.bin.t diff --git a/travis/test/struc.asm b/travis/test/struc.asm new file mode 100644 index 00000000..c262b593 --- /dev/null +++ b/travis/test/struc.asm @@ -0,0 +1,31 @@ +bits 32 + +; Simple struc example +struc teststruc1 + .long: resd 1 + .word: resw 1 + .byte: resb 1 + .str: resb 32 +endstruc + +; Reference with offset +mov [ebp - 40 + teststruc1.word], ax + +istruc teststruc1 + at .word, db 5 +iend + +; Struc with base offset +; should be the same as the previous stuc +struc teststruc2, -40 + .long: resd 1 + .word: resw 1 + .byte: resb 1 + .str: resb 32 +endstruc + +mov [ebp + teststruc2.word], ax + +istruc teststruc2 + at .word, db 5 +iend diff --git a/travis/test/struc.bin.t b/travis/test/struc.bin.t Binary files differnew file mode 100644 index 00000000..1efaa26f --- /dev/null +++ b/travis/test/struc.bin.t diff --git a/travis/test/struc.json b/travis/test/struc.json new file mode 100644 index 00000000..3684db06 --- /dev/null +++ b/travis/test/struc.json @@ -0,0 +1,12 @@ +[ + { + "description": "Check structure compilation", + "id": "struc", + "format": "bin", + "source": "struc.asm", + "option": "", + "target": [ + { "output": "struc.bin" } + ] + } +] diff --git a/travis/test/test67.asm b/travis/test/test67.asm new file mode 100644 index 00000000..5917a1bd --- /dev/null +++ b/travis/test/test67.asm @@ -0,0 +1,35 @@ + bits 16 + + mov ax,[bx] + mov ax,[foo] + mov ax,[word foo] + mov ax,[dword foo] + mov ax,[ebx] + rep movsb + a16 rep movsb + a32 rep movsb + a32 mov ax,bx + + bits 32 + + mov ax,[bx] + mov ax,[foo] + mov ax,[word foo] + mov ax,[dword foo] + mov ax,[ebx] + rep movsb + a16 rep movsb + a32 rep movsb + + bits 64 + + mov ax,[rbx] + mov ax,[foo] + mov ax,[qword foo] + mov ax,[dword foo] + mov ax,[ebx] + rep movsb + a32 rep movsb + a64 rep movsb + +foo: diff --git a/travis/test/test67.bin.t b/travis/test/test67.bin.t Binary files differnew file mode 100644 index 00000000..b3723e95 --- /dev/null +++ b/travis/test/test67.bin.t diff --git a/travis/test/test67.json b/travis/test/test67.json new file mode 100644 index 00000000..ab99f8ff --- /dev/null +++ b/travis/test/test67.json @@ -0,0 +1,18 @@ +[ + { + "description": "Test for 0x67 prefixes (-Ox)", + "id": "test67", + "format": "bin", + "source": "test67.asm", + "option": "-Ox", + "target": [ + { "output": "test67.bin" } + ] + }, + { + "description": "Test for 0x67 prefixes (-O0)", + "ref": "test67", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/testdos.asm b/travis/test/testdos.asm new file mode 100644 index 00000000..eba900be --- /dev/null +++ b/travis/test/testdos.asm @@ -0,0 +1,11 @@ +; This file was known to miscompile with the 16-bit NASM built +; under Borland C++ 3.1, so keep it around for testing... +; +; The proper output looks like: +; +; 00000000 A10300 +; 00000003 EA0000FFFF +; + org 0100h + mov ax,[3] + jmp 0FFFFh:0000 diff --git a/travis/test/testdos.bin.t b/travis/test/testdos.bin.t Binary files differnew file mode 100644 index 00000000..692abb39 --- /dev/null +++ b/travis/test/testdos.bin.t diff --git a/travis/test/testdos.json b/travis/test/testdos.json new file mode 100644 index 00000000..342b1c3e --- /dev/null +++ b/travis/test/testdos.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test miscompile with 16-bit built", + "id": "testdos", + "format": "bin", + "source": "testdos.asm", + "target": [ + { "output": "testdos.bin" } + ] + } +] diff --git a/travis/test/testnos3.asm b/travis/test/testnos3.asm new file mode 100644 index 00000000..b40cf4b6 --- /dev/null +++ b/travis/test/testnos3.asm @@ -0,0 +1,971 @@ +; Double-precision floating point tests, derived from Fred Tydeman's posting +; of 26 February 1996 to comp.arch.arithmetic, via David M. Gay's gdtoa +; package. +; + bits 64 + + dq 9.e0306 + dq 0x7fa9a2028368022e + + dq 4.e-079 + dq 0x2fa7b6d71d20b96c + + dq 7.e-261 + dq 0x09eb8d7e32be6396 + + dq 6.e-025 + dq 0x3ae7361cb863de62 + + dq 7.e-161 + dq 0x1eaf7e0db3799aa3 + + dq 7.e0289 + dq 0x7c1cbb547777a285 + + dq 5.e0079 + dq 0x507afcef51f0fb5f + + dq 1.e0080 + dq 0x508afcef51f0fb5f + + dq 7.e-303 + dq 0x0133339131c46f8b + + dq 5.e0152 + dq 0x5fa317e5ef3ab327 + + dq 5.e0125 + dq 0x5a07a2ecc414a03f + + dq 2.e0126 + dq 0x5a27a2ecc414a03f + + dq 7.e-141 + dq 0x22d5570f59bd178c + + dq 4.e-192 + dq 0x18323ff06eea847a + + dq 9.e0043 + dq 0x49102498ea6df0c4 + + dq 1.e0303 + dq 0x7ed754e31cd072da + + dq 95.e-089 + dq 0x2dde3cbc9907fdc8 + + dq 85.e0194 + dq 0x689d1c26db7d0dae + + dq 69.e0267 + dq 0x77c0b7cb60c994da + + dq 97.e-019 + dq 0x3c665dde8e688ba6 + + dq 37.e0046 + dq 0x49d033d7eca0adef + + dq 74.e0046 + dq 0x49e033d7eca0adef + + dq 61.e-099 + dq 0x2bc0ad836f269a17 + + dq 53.e-208 + dq 0x151b39ae1909c31b + + dq 93.e-234 + dq 0x0fc27b2e4f210075 + + dq 79.e-095 + dq 0x2c9a5db812948281 + + dq 87.e-274 + dq 0x0772d36cf48e7abd + + dq 83.e0025 + dq 0x4585747ab143e353 + + dq 17.e-036 + dq 0x38b698ccdc60015a + + dq 53.e0033 + dq 0x47246a3418629ef6 + + dq 51.e-074 + dq 0x30ecd5bee57763e6 + + dq 63.e-022 + dq 0x3bbdc03b8fd7016a + + dq 839.e0143 + dq 0x5e3ae03f245703e2 + + dq 749.e-182 + dq 0x1abf14727744c63e + + dq 999.e-026 + dq 0x3b282782afe1869e + + dq 345.e0266 + dq 0x77b0b7cb60c994da + + dq 914.e-102 + dq 0x2b5ffc81bc29f02b + + dq 829.e0102 + dq 0x55b7221a79cdd1d9 + + dq 307.e0090 + dq 0x5322d6b183fe4b55 + + dq 859.e0182 + dq 0x6654374d8b87ac63 + + dq 283.e0085 + dq 0x5216c309024bab4b + + dq 589.e0187 + dq 0x675526be9c22eb17 + + dq 302.e0176 + dq 0x64fdcf7df8f573b7 + + dq 604.e0176 + dq 0x650dcf7df8f573b7 + + dq 761.e-244 + dq 0x0de03cea3586452e + + dq 647.e0230 + dq 0x7044d64d4079150c + + dq 755.e0174 + dq 0x64a7d93193f78fc6 + + dq 255.e-075 + dq 0x30dcd5bee57763e6 + + dq 3391.e0055 + dq 0x4c159bd3ad46e346 + + dq 4147.e-015 + dq 0x3d923d1b5eb1d778 + + dq 3996.e-026 + dq 0x3b482782afe1869e + + dq 1998.e-026 + dq 0x3b382782afe1869e + + dq 3338.e-296 + dq 0x0335519ac5142aab + + dq 1669.e-296 + dq 0x0325519ac5142aab + + dq 8699.e-276 + dq 0x0772d2df246ecd2d + + dq 5311.e0243 + dq 0x73284e91f4aa0fdb + + dq 7903.e-096 + dq 0x2cd07c2d27a5b989 + + dq 7611.e-226 + dq 0x11d19b8744033457 + + dq 3257.e0058 + dq 0x4cb444b34a6fb3eb + + dq 6514.e0058 + dq 0x4cc444b34a6fb3eb + + dq 3571.e0263 + dq 0x77462644c61d41aa + + dq 7142.e0263 + dq 0x77562644c61d41aa + + dq 5311.e0242 + dq 0x72f3720e5d54d97c + + dq 1617.e-063 + dq 0x3384c98fce16152e + + dq 51881.e0037 + dq 0x4897d2950dc76da4 + + dq 31441.e-118 + dq 0x285ef890f5de4c86 + + dq 30179.e0079 + dq 0x5143e272a77478e8 + + dq 60358.e0079 + dq 0x5153e272a77478e8 + + dq 63876.e-020 + dq 0x3cc703856844bdbf + + dq 31938.e-020 + dq 0x3cb703856844bdbf + + dq 46073.e-032 + dq 0x3a42405b773fbdf3 + + dq 32941.e0051 + dq 0x4b757eb8ad52a5c9 + + dq 82081.e0041 + dq 0x49770105df3d47cb + + dq 38701.e-215 + dq 0x1440492a4a8a37fd + + dq 62745.e0047 + dq 0x4ab0c52fe6dc6a1b + + dq 12549.e0048 + dq 0x4ac0c52fe6dc6a1b + + dq 64009.e-183 + dq 0x1af099b393b84832 + + dq 89275.e0261 + dq 0x77262644c61d41aa + + dq 75859.e0025 + dq 0x46232645e1ba93f0 + + dq 57533.e0287 + dq 0x7c8272ed2307f56a + + dq 584169.e0229 + dq 0x70ad657059dc79aa + + dq 940189.e-112 + dq 0x29eb99d6240c1a28 + + dq 416121.e0197 + dq 0x6a00fd07ed297f80 + + dq 832242.e0197 + dq 0x6a10fd07ed297f80 + + dq 584738.e0076 + dq 0x50e8a85eb277e645 + + dq 933587.e-140 + dq 0x241b248728b9c117 + + dq 252601.e0121 + dq 0x5a2dda592e398dd7 + + dq 358423.e0274 + dq 0x79f9463b59b8f2bd + + dq 892771.e-213 + dq 0x14f25818c7294f27 + + dq 410405.e0040 + dq 0x49670105df3d47cb + + dq 928609.e-261 + dq 0x0afbe2dd66200bef + + dq 302276.e-254 + dq 0x0c55a462d91c6ab3 + + dq 920657.e-023 + dq 0x3c653a9985dbde6c + + dq 609019.e-025 + dq 0x3bf1f99e11ea0a24 + + dq 252601.e0120 + dq 0x59f7e1e0f1c7a4ac + + dq 654839.e-060 + dq 0x34b00e7db3b3f242 + + dq 8823691.e0130 + dq 0x5c5e597c0b94b7ae + + dq 2920845.e0228 + dq 0x709d657059dc79aa + + dq 9210917.e0080 + dq 0x51fda232347e6032 + + dq 5800419.e-303 + dq 0x026e58ffa48f4fce + + dq 6119898.e-243 + dq 0x0ee3ecf22ea07863 + + dq 3059949.e-243 + dq 0x0ed3ecf22ea07863 + + dq 2572231.e0223 + dq 0x6f90f73be1dff9ad + + dq 5444097.e-021 + dq 0x3cf8849dd33c95af + + dq 5783893.e-127 + dq 0x26f7e5902ce0e151 + + dq 3865421.e-225 + dq 0x1295d4fe53afec65 + + dq 4590831.e0156 + dq 0x61b4689b4a5fa201 + + dq 9181662.e0156 + dq 0x61c4689b4a5fa201 + + dq 5906361.e-027 + dq 0x3bbbe45a312d08a0 + + dq 7315057.e0235 + dq 0x7225f0d408362a72 + + dq 9088115.e0106 + dq 0x5762e51a84a3c6a0 + + dq 1817623.e0107 + dq 0x5772e51a84a3c6a0 + + dq 44118455.e0129 + dq 0x5c4e597c0b94b7ae + + dq 35282041.e0293 + dq 0x7e5512d5273e62e8 + + dq 31279898.e-291 + dq 0x05129b01b6885d36 + + dq 15639949.e-291 + dq 0x05029b01b6885d36 + + dq 27966061.e0145 + dq 0x5f955bcf72fd10f9 + + dq 55932122.e0145 + dq 0x5fa55bcf72fd10f9 + + dq 70176353.e-053 + dq 0x36900683a21de855 + + dq 40277543.e-032 + dq 0x3adf29ca0ff893b1 + + dq 50609263.e0157 + dq 0x622193aff1f1c8e3 + + dq 66094077.e0077 + dq 0x518b37c4b7928317 + + dq 84863171.e0114 + dq 0x59406e98f5ec8f37 + + dq 89396333.e0264 + dq 0x786526f061ca9053 + + dq 87575437.e-309 + dq 0x016e07320602056c + + dq 78693511.e-044 + dq 0x3870bc7b7603a2ca + + dq 90285923.e-206 + dq 0x16d1470083f89d48 + + dq 30155207.e-030 + dq 0x3b423a4ad20748a2 + + dq 245540327.e0121 + dq 0x5acc569e968e0944 + + dq 263125459.e0287 + dq 0x7d44997a298b2f2e + + dq 566446538.e-257 + dq 0x0c64472ba9550e86 + + dq 283223269.e-257 + dq 0x0c54472ba9550e86 + + dq 245540327.e0122 + dq 0x5b01b6231e18c5cb + + dq 491080654.e0122 + dq 0x5b11b6231e18c5cb + + dq 971212611.e-126 + dq 0x27a397d3c9745d2f + + dq 229058583.e0052 + dq 0x4c76ce94febdc7a5 + + dq 325270231.e0039 + dq 0x49cc7ccf90c9f8ab + + dq 989648089.e-035 + dq 0x3a8880a3d515e849 + + dq 653777767.e0273 + dq 0x7a720223f2b3a881 + + dq 923091487.e0209 + dq 0x6d30bc60e6896717 + + dq 526250918.e0288 + dq 0x7d89bfd8b3edfafa + + dq 350301748.e-309 + dq 0x018e07320602056c + + dq 741111169.e-203 + dq 0x17a14fe7daf8f3ae + + dq 667284113.e-240 + dq 0x0ff09355f8050c02 + + dq 1227701635.e0120 + dq 0x5abc569e968e0944 + + dq 9981396317.e-182 + dq 0x1c38afe10a2a66aa + + dq 5232604057.e-298 + dq 0x041465b896c24520 + + dq 5572170023.e-088 + dq 0x2fb0847822f765b2 + + dq 1964322616.e0122 + dq 0x5b31b6231e18c5cb + + dq 3928645232.e0122 + dq 0x5b41b6231e18c5cb + + dq 8715380633.e-058 + dq 0x35f4614c3219891f + + dq 4856063055.e-127 + dq 0x279397d3c9745d2f + + dq 8336960483.e-153 + dq 0x223a06a1024b95e1 + + dq 1007046393.e-155 + dq 0x21a01891fc4717fd + + dq 5378822089.e-176 + dq 0x1d695fd4c88d4b1b + + dq 5981342308.e-190 + dq 0x1a83db11ac608107 + + dq 7214782613.e-086 + dq 0x3020b552d2edcdea + + dq 5458466829.e0142 + dq 0x5f70acde6a98eb4c + + dq 9078555839.e-109 + dq 0x2b5fc575867314ee + + dq 6418488827.e0079 + dq 0x526021f14ed7b3fa + + dq 65325840981.e0069 + dq 0x5081a151ddbd3c4a + + dq 49573485983.e0089 + dq 0x54a221bd871d2cf4 + + dq 46275205733.e0074 + dq 0x51830e6c7d4e3480 + + dq 92550411466.e0074 + dq 0x51930e6c7d4e3480 + + dq 41129842097.e-202 + dq 0x1832c3e72d179607 + + dq 93227267727.e-049 + dq 0x380960fe08d5847f + + dq 41297294357.e0185 + dq 0x688c49437fccfadb + + dq 41534892987.e-067 + dq 0x343a12666477886d + + dq 42333842451.e0201 + dq 0x6be0189a26df575f + + dq 78564021519.e-227 + dq 0x131155515fd37265 + + dq 53587107423.e-061 + dq 0x35800a19a3ffd981 + + dq 53827010643.e-200 + dq 0x18a32fa69a69bd6d + + dq 83356057653.e0193 + dq 0x6a4544e6daee2a18 + + dq 45256834646.e-118 + dq 0x29a541ecdfd48694 + + dq 45392779195.e-110 + dq 0x2b4fc575867314ee + + dq 23934638219.e0291 + dq 0x7e81deaf40ead9a0 + + dq 995779191233.e0113 + dq 0x59e2d44edcc51304 + + dq 997422852243.e-265 + dq 0x0b676688faee99bc + + dq 653532977297.e-123 + dq 0x28d925a0aabcdc68 + + dq 938885684947.e0147 + dq 0x60f11894b202e9f4 + + dq 619534293513.e0124 + dq 0x5c210c20303fe0f1 + + dq 539879452414.e-042 + dq 0x39a5e66dc3d6bdb5 + + dq 742522891517.e0259 + dq 0x782c1c352fc3c309 + + dq 254901016865.e-022 + dq 0x3dbc06d366394441 + + dq 685763015669.e0280 + dq 0x7c85fd7aa44d9477 + + dq 384865004907.e-285 + dq 0x072aa65b58639e69 + + dq 286556458711.e0081 + dq 0x5321958b36c5102b + + dq 573112917422.e0081 + dq 0x5331958b36c5102b + + dq 769525178383.e-150 + dq 0x234253ec0e161420 + + dq 416780288265.e0192 + dq 0x6a3544e6daee2a18 + + dq 226963895975.e-111 + dq 0x2b3fc575867314ee + + dq 665592809339.e0063 + dq 0x4f778b6516c2b478 + + dq 3891901811465.e0217 + dq 0x6f99ab8261990292 + + dq 4764593340755.e0069 + dq 0x50e4177a9915fbf8 + + dq 6336156586177.e0269 + dq 0x7a7173f76c63b792 + + dq 8233559360849.e0095 + dq 0x56566fee05649a7a + + dq 3662265515198.e-107 + dq 0x2c538e6edd48f2a3 + + dq 1831132757599.e-107 + dq 0x2c438e6edd48f2a3 + + dq 7812878489261.e-179 + dq 0x1d726dae7bbeda75 + + dq 6363857920591.e0145 + dq 0x60b28a61cf9483b7 + + dq 8811915538555.e0082 + dq 0x53a51f508b287ae7 + + dq 9997878507563.e-195 + dq 0x1a253db2fea1ea31 + + dq 9224786422069.e-291 + dq 0x0634ee5d56b32957 + + dq 6284426329974.e-294 + dq 0x058d3409dfbca26f + + dq 9199302046091.e-062 + dq 0x35c135972630774c + + dq 6070482281213.e-122 + dq 0x29423fa9e6fcf47e + + dq 2780161250963.e-301 + dq 0x0405acc2053064c2 + + dq 8233559360849.e0094 + dq 0x5621f324d11d4862 + + dq 72027097041701.e0206 + dq 0x6d94677812d3a606 + + dq 97297545286625.e0215 + dq 0x6f79ab8261990292 + + dq 99021992302453.e-025 + dq 0x3da5c6714def374c + + dq 54104687080198.e-022 + dq 0x3e373cdf8db7a7bc + + dq 33519685743233.e0089 + dq 0x5537f203339c9629 + + dq 67039371486466.e0089 + dq 0x5547f203339c9629 + + dq 39064392446305.e-180 + dq 0x1d626dae7bbeda75 + + dq 17796979903653.e0261 + dq 0x78e072f3819c1321 + + dq 28921916763211.e0038 + dq 0x4a9eebabe0957af3 + + dq 87605699161665.e0155 + dq 0x6302920f96e7f9ef + + dq 41921560615349.e-067 + dq 0x34d9b2a5c4041e4b + + dq 80527976643809.e0061 + dq 0x4f7c7c5aea080a49 + + dq 72335858886654.e-159 + dq 0x21cce77c2b3328fc + + dq 52656615219377.e0102 + dq 0x57f561def4a9ee32 + + dq 15400733123779.e-072 + dq 0x33b8bf7e7fa6f02a + + dq 77003665618895.e-073 + dq 0x33a8bf7e7fa6f02a + + dq 475603213226859.e-042 + dq 0x3a42d73088f4050a + + dq 972708181182949.e0116 + dq 0x5b218a7f36172332 + + dq 246411729980464.e-071 + dq 0x342eef5e1f90ac34 + + dq 123205864990232.e-071 + dq 0x341eef5e1f90ac34 + + dq 609610927149051.e-255 + dq 0x0e104273b18918b1 + + dq 475603213226859.e-041 + dq 0x3a778cfcab31064d + + dq 672574798934795.e0065 + dq 0x508226c684c87261 + + dq 134514959786959.e0066 + dq 0x509226c684c87261 + + dq 294897574603217.e-151 + dq 0x2395f2df5e675a0f + + dq 723047919080275.e0036 + dq 0x4a7eebabe0957af3 + + dq 660191429952702.e-088 + dq 0x30bddc7e975c5045 + + dq 330095714976351.e-088 + dq 0x30addc7e975c5045 + + dq 578686871093232.e-159 + dq 0x21fce77c2b3328fc + + dq 144671717773308.e-159 + dq 0x21dce77c2b3328fc + + dq 385018328094475.e-074 + dq 0x3398bf7e7fa6f02a + + dq 330095714976351.e-089 + dq 0x3077e3987916a69e + + dq 2215901545757777.e-212 + dq 0x171a80a6e566428c + + dq 1702061899637397.e-276 + dq 0x09cacc46749dccfe + + dq 1864950924021923.e0213 + dq 0x6f53ae60753af6ca + + dq 3729901848043846.e0213 + dq 0x6f63ae60753af6ca + + dq 7487252720986826.e-165 + dq 0x20f8823a57adbef9 + + dq 3743626360493413.e-165 + dq 0x20e8823a57adbef9 + + dq 4988915232824583.e0119 + dq 0x5be5f6de9d5d6b5b + + dq 3771476185376383.e0277 + dq 0x7cae3c14d6916ce9 + + dq 6182410494241627.e-119 + dq 0x2a81b96458445d07 + + dq 2572981889477453.e0142 + dq 0x609dfc11fbf46087 + + dq 7793560217139653.e0051 + dq 0x4dd280461b856ec5 + + dq 9163942927285259.e-202 + dq 0x194fe601457dce4d + + dq 6353227084707473.e0155 + dq 0x63650aff653ffe8a + + dq 4431803091515554.e-211 + dq 0x176090684f5fe998 + + dq 9324754620109615.e0211 + dq 0x6f0f7d6721f7f144 + + dq 8870461176410409.e0263 + dq 0x79d90529a37b7e22 + + dq 90372559027740405.e0143 + dq 0x612491daad0ba280 + + dq 18074511805548081.e0146 + dq 0x61a011f2d73116f4 + + dq 54897030182071313.e0029 + dq 0x496ec55666d8f9ec + + dq 76232626624829156.e-032 + dq 0x3ccb7738011e75fe + + dq 59898021767894608.e-165 + dq 0x2128823a57adbef9 + + dq 29949010883947304.e-165 + dq 0x2118823a57adbef9 + + dq 26153245263757307.e0049 + dq 0x4d83de005bd620df + + dq 27176258005319167.e-261 + dq 0x0d27c0747bd76fa1 + + dq 18074511805548081.e0147 + dq 0x61d4166f8cfd5cb1 + + dq 24691002732654881.e-115 + dq 0x2b759a2783ce70ab + + dq 58483921078398283.e0057 + dq 0x4f408ce499519ce3 + + dq 64409240769861689.e-159 + dq 0x22692238f7987779 + + dq 94080055902682397.e-242 + dq 0x11364981e39e66ca + + dq 31766135423537365.e0154 + dq 0x63550aff653ffe8a + + dq 68985865317742005.e0164 + dq 0x657a999ddec72aca + + dq 13797173063548401.e0165 + dq 0x658a999ddec72aca + + dq 902042358290366539.e-281 + dq 0x09522dc01ca1cb8c + + dq 238296178309629163.e0272 + dq 0x7c038fd93f1f5342 + + dq 783308178698887621.e0226 + dq 0x72925ae62cb346d8 + + dq 439176241456570504.e0029 + dq 0x499ec55666d8f9ec + + dq 899810892172646163.e0283 + dq 0x7e6adf51fa055e03 + + dq 926145344610700019.e-225 + dq 0x14f307a67f1f69ff + + dq 653831131593932675.e0047 + dq 0x4d63de005bd620df + + dq 130766226318786535.e0048 + dq 0x4d73de005bd620df + + dq 557035730189854663.e-294 + dq 0x0693bfac6bc4767b + + dq 902042358290366539.e-280 + dq 0x0986b93023ca3e6f + + dq 272104041512242479.e0200 + dq 0x6d13bbb4bf05f087 + + dq 544208083024484958.e0200 + dq 0x6d23bbb4bf05f087 + + dq 680429695511221511.e0192 + dq 0x6b808ebc116f8a20 + + dq 308975121073410857.e0236 + dq 0x7490db75cc001072 + + dq 792644927852378159.e0078 + dq 0x53d7bff336d8ff06 + + dq 783308178698887621.e0223 + dq 0x71f2cbac35f71140 + + dq 8396094300569779681.e-252 + dq 0x0f8ab223efcee35a + + dq 3507665085003296281.e-074 + dq 0x346b85c026a264e4 + + dq 7322325862592278999.e0074 + dq 0x5336775b6caa5ae0 + + dq 6014546754280072926.e0209 + dq 0x6f396397b06732a4 + + dq 7120190517612959703.e0120 + dq 0x5cc3220dcd5899fd + + dq 3507665085003296281.e-073 + dq 0x34a1339818257f0f + + dq 4345544743100783551.e-218 + dq 0x168a9c42e5b6d89f + + dq 9778613303868468131.e-090 + dq 0x313146fe1075e1ef + + dq 7539204280836061195.e-082 + dq 0x32d3d969e3dbe723 + + dq 7862637540082247119.e-202 + dq 0x19eaba3262ee707b + + dq 2176832332097939832.e0200 + dq 0x6d43bbb4bf05f087 + + dq 8643988913946659879.e0115 + dq 0x5bbe71ec1ed0a4f9 + + dq 5529436763613147623.e0138 + dq 0x6079c677be6f236e + + dq 6764958008109694533.e-173 + dq 0x1fed06692e6f5ef6 + + dq 6802601037806061975.e0197 + dq 0x6cbf92bacb3cb40c + + dq 1360520207561212395.e0198 + dq 0x6ccf92bacb3cb40c + + dq 62259110684423957791.e0047 + dq 0x4dcd8f2cfc20d6e8 + + dq 88800290202542652011.e-226 + dq 0x1526cec51a43f41a + + dq 41010852717673354694.e-221 + dq 0x162012954b6aabba + + dq 20505426358836677347.e-221 + dq 0x161012954b6aabba + + dq 66102447903809911604.e0055 + dq 0x4f7762068a24fd55 + + dq 35600952588064798515.e0119 + dq 0x5cb3220dcd5899fd + + dq 14371240869903838702.e0205 + dq 0x6e78d92d2bcc7a81 + + dq 57500690832492901689.e0043 + dq 0x4cf65d3e2acd616b + + dq 23432630639573022093.e-107 + dq 0x2dbdd54c40a2f25f + + dq 62259110684423957791.e0048 + dq 0x4e02797c1d948651 + + dq 35620497849450218807.e-306 + dq 0x0475b22082529425 + + dq 69658634627134074624.e0200 + dq 0x6d93bbb4bf05f087 + + dq 99440755792436956989.e-062 + dq 0x37362d10462a26f4 + + dq 55277197169490210673.e0081 + dq 0x54d945bfa911e32a + + dq 36992084760177624177.e-318 + dq 0x01f8c5f9551c2f9a + + dq 30888265282878466443.e-111 + dq 0x2cf01b8ef28251fc + + dq 2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125e-324 + dq 0x0000000000000000 + + dq 2.47032822920623272e-324 + dq 0x0000000000000000 diff --git a/travis/test/testnos3.bin.t b/travis/test/testnos3.bin.t Binary files differnew file mode 100644 index 00000000..eb44b359 --- /dev/null +++ b/travis/test/testnos3.bin.t diff --git a/travis/test/testnos3.json b/travis/test/testnos3.json new file mode 100644 index 00000000..6cf90ed2 --- /dev/null +++ b/travis/test/testnos3.json @@ -0,0 +1,12 @@ +[ + { + "description": "Double-precision floating point tests", + "id": "testnos3", + "format": "bin", + "source": "testnos3.asm", + "target": [ + { "output": "testnos3.bin" }, + { "stderr": "testnos3.stderr" } + ] + } +] diff --git a/travis/test/testnos3.stderr b/travis/test/testnos3.stderr new file mode 100644 index 00000000..84a1e476 --- /dev/null +++ b/travis/test/testnos3.stderr @@ -0,0 +1 @@ +./travis/test/testnos3.asm:967: warning: floating-point constant significand contains more than 52 digits [-w+float-toolong]
\ No newline at end of file diff --git a/travis/test/tmap.asm b/travis/test/tmap.asm new file mode 100644 index 00000000..a634e1b0 --- /dev/null +++ b/travis/test/tmap.asm @@ -0,0 +1,1448 @@ +;; NASM note: this file abuses the section flags in such a way that +;; NASM 0.98.37 broke when this was compiled with: +;; nasm -o tmap.o -f elf -DLINUX tmap.nas + +;;----------------------------------------------------------------------------- +;; +;; $Id$ +;; +;; Copyright (C) 1998-2000 by DooM Legacy Team. +;; +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License +;; as published by the Free Software Foundation; either version 2 +;; of the License, or (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; +;; $Log$ +;; Revision 1.2 2003/09/10 23:33:38 hpa +;; Use the version of tmap.nas that actually caused problems +;; +;; Revision 1.10 2001/02/24 13:35:21 bpereira +;; no message +;; +;; Revision 1.9 2001/02/10 15:24:19 hurdler +;; Apply Rob's patch for Linux version +;; +;; Revision 1.8 2000/11/12 09:48:15 bpereira +;; no message +;; +;; Revision 1.7 2000/11/06 20:52:16 bpereira +;; no message +;; +;; Revision 1.6 2000/11/03 11:48:40 hurdler +;; Fix compiling problem under win32 with 3D-Floors and FragglScript (to verify!) +;; +;; Revision 1.5 2000/11/03 03:27:17 stroggonmeth +;; Again with the bug fixing... +;; +;; Revision 1.4 2000/11/02 17:50:10 stroggonmeth +;; Big 3Dfloors & FraggleScript commit!! +;; +;; Revision 1.3 2000/04/24 20:24:38 bpereira +;; no message +;; +;; Revision 1.2 2000/02/27 00:42:11 hurdler +;; fix CR+LF problem +;; +;; Revision 1.1.1.1 2000/02/22 20:32:32 hurdler +;; Initial import into CVS (v1.29 pr3) +;; +;; +;; DESCRIPTION: +;; assembler optimised rendering code for software mode +;; draw floor spans, and wall columns. +;; +;;----------------------------------------------------------------------------- + + +[BITS 32] + +%ifdef LINUX +%macro cextern 1 +[extern %1] +%endmacro + +%macro cglobal 1 +[global %1] +%endmacro + +%define CODE_SEG .data +%else +%macro cextern 1 +%define %1 _%1 +[extern %1] +%endmacro + +%macro cglobal 1 +%define %1 _%1 +[global %1] +%endmacro + +%define CODE_SEG .text +%endif + + +;; externs +;; columns +cextern dc_x +cextern dc_yl +cextern dc_yh +cextern ylookup +cextern columnofs +cextern dc_source +cextern dc_texturemid +cextern dc_iscale +cextern centery +cextern dc_colormap +cextern dc_transmap +cextern colormaps + +;; spans +cextern ds_x1 +cextern ds_x2 +cextern ds_y +cextern ds_xfrac +cextern ds_yfrac +cextern ds_xstep +cextern ds_ystep +cextern ds_source +cextern ds_colormap +;cextern ds_textureheight + +; polygon edge rasterizer +cextern prastertab + + +;;---------------------------------------------------------------------- +;; +;; R_DrawColumn +;; +;; New optimised version 10-01-1998 by D.Fabrice and P.Boris +;; TO DO: optimise it much farther... should take at most 3 cycles/pix +;; once it's fixed, add code to patch the offsets so that it +;; works in every screen width. +;; +;;---------------------------------------------------------------------- + +[SECTION .data] + +;;.align 4 +loopcount dd 0 +pixelcount dd 0 +tystep dd 0 + +[SECTION CODE_SEG write] + +;---------------------------------------------------------------------------- +;fixed_t FixedMul (fixed_t a, fixed_t b) +;---------------------------------------------------------------------------- +cglobal FixedMul +; align 16 +FixedMul: + mov eax,[esp+4] + imul dword [esp+8] + shrd eax,edx,16 + ret + +;---------------------------------------------------------------------------- +;fixed_t FixedDiv2 (fixed_t a, fixed_t b); +;---------------------------------------------------------------------------- +cglobal FixedDiv2 +; align 16 +FixedDiv2: + mov eax,[esp+4] + mov edx,eax ;; these two instructions allow the next + sar edx,31 ;; two to pair, on the Pentium processor. + shld edx,eax,16 + sal eax,16 + idiv dword [esp+8] + ret + +;---------------------------------------------------------------------------- +; void ASM_PatchRowBytes (int rowbytes); +;---------------------------------------------------------------------------- +cglobal ASM_PatchRowBytes +; align 16 +ASM_PatchRowBytes: + mov eax,[esp+4] + mov [p1+2],eax + mov [p2+2],eax + mov [p3+2],eax + mov [p4+2],eax + mov [p5+2],eax + mov [p6+2],eax + mov [p7+2],eax + mov [p8+2],eax + mov [p9+2],eax + mov [pa+2],eax + mov [pb+2],eax + mov [pc+2],eax + mov [pd+2],eax + mov [pe+2],eax + mov [pf+2],eax + mov [pg+2],eax + mov [ph+2],eax + mov [pi+2],eax + mov [pj+2],eax + mov [pk+2],eax + mov [pl+2],eax + mov [pm+2],eax + mov [pn+2],eax + mov [po+2],eax + mov [pp+2],eax + mov [pq+2],eax + add eax,eax + mov [q1+2],eax + mov [q2+2],eax + mov [q3+2],eax + mov [q4+2],eax + mov [q5+2],eax + mov [q6+2],eax + mov [q7+2],eax + mov [q8+2],eax + ret + + +;---------------------------------------------------------------------------- +; 8bpp column drawer +;---------------------------------------------------------------------------- + +cglobal R_DrawColumn_8 +; align 16 +R_DrawColumn_8: + push ebp ;; preserve caller's stack frame pointer + push esi ;; preserve register variables + push edi + push ebx +;; +;; dest = ylookup[dc_yl] + columnofs[dc_x]; +;; + mov ebp,[dc_yl] + mov ebx,ebp + mov edi,[ylookup+ebx*4] + mov ebx,[dc_x] + add edi,[columnofs+ebx*4] ;; edi = dest +;; +;; pixelcount = yh - yl + 1 +;; + mov eax,[dc_yh] + inc eax + sub eax,ebp ;; pixel count + mov [pixelcount],eax ;; save for final pixel + jle near vdone ;; nothing to scale +;; +;; frac = dc_texturemid - (centery-dc_yl)*fracstep; +;; + mov ecx,[dc_iscale] ;; fracstep + mov eax,[centery] + sub eax,ebp + imul eax,ecx + mov edx,[dc_texturemid] + sub edx,eax + mov ebx,edx + shr ebx,16 ;; frac int. + and ebx,0x7f + shl edx,16 ;; y frac up + + mov ebp,ecx + shl ebp,16 ;; fracstep f. up + shr ecx,16 ;; fracstep i. ->cl + and cl,0x7f + mov esi,[dc_source] +;; +;; lets rock :) ! +;; + mov eax,[pixelcount] + mov dh,al + shr eax,2 + mov ch,al ;; quad count + mov eax,[dc_colormap] + test dh,0x3 + je near v4quadloop +;; +;; do un-even pixel +;; + test dh,0x1 + je two_uneven + + mov al,[esi+ebx] ;; prep un-even loops + add edx,ebp ;; ypos f += ystep f + adc bl,cl ;; ypos i += ystep i + mov dl,[eax] ;; colormap texel + and bl,0x7f ;; mask 0-127 texture index + mov [edi],dl ;; output pixel +p1: add edi,0x12345678 +;; +;; do two non-quad-aligned pixels +;; +two_uneven: + test dh,0x2 + je f3 + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp ;; ypos f += ystep f + adc bl,cl ;; ypos i += ystep i + mov dl,[eax] ;; colormap texel + and bl,0x7f ;; mask 0-127 texture index + mov [edi],dl ;; output pixel + mov al,[esi+ebx] + add edx,ebp ;; fetch source texel + adc bl,cl ;; ypos f += ystep f + mov dl,[eax] ;; ypos i += ystep i + and bl,0x7f ;; colormap texel +p2: add edi,0x12345678 ;; mask 0-127 texture index + mov [edi],dl +p3: add edi,0x12345678 ;; output pixel +;; +;; test if there was at least 4 pixels +;; +f3: + test ch,0xff ;; test quad count + je near vdone +;; +;; ebp : ystep frac. upper 16 bits +;; edx : y frac. upper 16 bits +;; ebx : y i. lower 7 bits, masked for index +;; ecx : ch = counter, cl = y step i. +;; eax : colormap aligned 256 +;; esi : source texture column +;; edi : dest screen +;; +v4quadloop: + mov dh,0x7f ;; prep mask +align 4 +vquadloop: + mov al,[esi+ebx] ;; prep loop + add edx,ebp ;; ypos f += ystep f + adc bl,cl ;; ypos i += ystep i + mov dl,[eax] ;; colormap texel + mov [edi],dl ;; output pixel + and bl,0x7f ;; mask 0-127 texture index + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp + adc bl,cl +p4: add edi,0x12345678 + mov dl,[eax] + and bl,0x7f + mov [edi],dl + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp + adc bl,cl +p5: add edi,0x12345678 + mov dl,[eax] + and bl,0x7f + mov [edi],dl + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp + adc bl,cl +p6: add edi,0x12345678 + mov dl,[eax] + and bl,0x7f + mov [edi],dl + +p7: add edi,0x12345678 + + dec ch + jne vquadloop + +vdone: + pop ebx ;; restore register variables + pop edi + pop esi + pop ebp ;; restore caller's stack frame pointer + ret + +;;---------------------------------------------------------------------- +;;13-02-98: +;; R_DrawSkyColumn : same as R_DrawColumn but: +;; +;; - wrap around 256 instead of 127. +;; this is needed because we have a higher texture for mouselook, +;; we need at least 200 lines for the sky. +;; +;; NOTE: the sky should never wrap, so it could use a faster method. +;; for the moment, we'll still use a wrapping method... +;; +;; IT S JUST A QUICK CUT N PASTE, WAS NOT OPTIMISED AS IT SHOULD BE !!! +;; +;;---------------------------------------------------------------------- + +cglobal R_DrawSkyColumn_8 +; align 16 +R_DrawSkyColumn_8: + push ebp + push esi + push edi + push ebx +;; +;; dest = ylookup[dc_yl] + columnofs[dc_x]; +;; + mov ebp,[dc_yl] + mov ebx,ebp + mov edi,[ylookup+ebx*4] + mov ebx,[dc_x] + add edi,[columnofs+ebx*4] ;; edi = dest +;; +;; pixelcount = yh - yl + 1 +;; + mov eax,[dc_yh] + inc eax + sub eax,ebp ;; pixel count + mov [pixelcount],eax ;; save for final pixel + jle near vskydone ;; nothing to scale +;; +;; frac = dc_texturemid - (centery-dc_yl)*fracstep; +;; + mov ecx,[dc_iscale] ;; fracstep + mov eax,[centery] + sub eax,ebp + imul eax,ecx + mov edx,[dc_texturemid] + sub edx,eax + mov ebx,edx + shr ebx,16 ;; frac int. + and ebx,0xff + shl edx,16 ;; y frac up + mov ebp,ecx + shl ebp,16 ;; fracstep f. up + shr ecx,16 ;; fracstep i. ->cl + mov esi,[dc_source] +;; +;; lets rock :) ! +;; + mov eax,[pixelcount] + mov dh,al + shr eax,0x2 + mov ch,al ;; quad count + mov eax,[dc_colormap] + test dh,0x3 + je vskyquadloop +;; +;; do un-even pixel +;; + test dh,0x1 + je f2 + mov al,[esi+ebx] ;; prep un-even loops + add edx,ebp ;; ypos f += ystep f + adc bl,cl ;; ypos i += ystep i + mov dl,[eax] ;; colormap texel + mov [edi],dl ;; output pixel +p8: add edi,0x12345678 +;; +;; do two non-quad-aligned pixels +;; +f2: test dh,0x2 + je skyf3 + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp ;; ypos f += ystep f + adc bl,cl ;; ypos i += ystep i + mov dl,[eax] ;; colormap texel + mov [edi],dl ;; output pixel + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp ;; ypos f += ystep f + adc bl,cl ;; ypos i += ystep i + mov dl,[eax] ;; colormap texel +p9: add edi,0x12345678 + mov [edi],dl ;; output pixel + +pa: add edi,0x12345678 +;; +;; test if there was at least 4 pixels +;; +skyf3: test ch,0xff ;; test quad count + je vskydone +;; +;; ebp : ystep frac. upper 24 bits +;; edx : y frac. upper 24 bits +;; ebx : y i. lower 7 bits, masked for index +;; ecx : ch = counter, cl = y step i. +;; eax : colormap aligned 256 +;; esi : source texture column +;; edi : dest screen +;; +align 4 +vskyquadloop: + mov al,[esi+ebx] ;; prep loop + add edx,ebp ;; ypos f += ystep f + mov dl,[eax] ;; colormap texel + adc bl,cl ;; ypos i += ystep i + mov [edi],dl ;; output pixel + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp + adc bl,cl +pb: add edi,0x12345678 + mov dl,[eax] + mov [edi],dl + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp + adc bl,cl +pc: add edi,0x12345678 + mov dl,[eax] + mov [edi],dl + + mov al,[esi+ebx] ;; fetch source texel + add edx,ebp + adc bl,cl +pd: add edi,0x12345678 + mov dl,[eax] + mov [edi],dl + +pe: add edi,0x12345678 + + dec ch + jne vskyquadloop +vskydone: + pop ebx + pop edi + pop esi + pop ebp + ret + + +;;---------------------------------------------------------------------- +;; R_DrawTranslucentColumn_8 +;; +;; Vertical column texture drawer, with transparency. Replaces Doom2's +;; 'fuzz' effect, which was not so beautiful. +;; Transparency is always impressive in some way, don't know why... +;;---------------------------------------------------------------------- + +cglobal R_DrawTranslucentColumn_8 +R_DrawTranslucentColumn_8: + push ebp ;; preserve caller's stack frame pointer + push esi ;; preserve register variables + push edi + push ebx +;; +;; dest = ylookup[dc_yl] + columnofs[dc_x]; +;; + mov ebp,[dc_yl] + mov ebx,ebp + mov edi,[ylookup+ebx*4] + mov ebx,[dc_x] + add edi,[columnofs+ebx*4] ;; edi = dest +;; +;; pixelcount = yh - yl + 1 +;; + mov eax,[dc_yh] + inc eax + sub eax,ebp ;; pixel count + mov [pixelcount],eax ;; save for final pixel + jle near vtdone ;; nothing to scale +;; +;; frac = dc_texturemid - (centery-dc_yl)*fracstep; +;; + mov ecx,[dc_iscale] ;; fracstep + mov eax,[centery] + sub eax,ebp + imul eax,ecx + mov edx,[dc_texturemid] + sub edx,eax + mov ebx,edx + + shr ebx,16 ;; frac int. + and ebx,0x7f + shl edx,16 ;; y frac up + + mov ebp,ecx + shl ebp,16 ;; fracstep f. up + shr ecx,16 ;; fracstep i. ->cl + and cl,0x7f + push cx + mov ecx,edx + pop cx + mov edx,[dc_colormap] + mov esi,[dc_source] +;; +;; lets rock :) ! +;; + mov eax,[pixelcount] + shr eax,0x2 + test byte [pixelcount],0x3 + mov ch,al ;; quad count + mov eax,[dc_transmap] + je vt4quadloop +;; +;; do un-even pixel +;; + test byte [pixelcount],0x1 + je trf2 + + mov ah,[esi+ebx] ;; fetch texel : colormap number + add ecx,ebp + adc bl,cl + mov al,[edi] ;; fetch dest : index into colormap + and bl,0x7f + mov dl,[eax] + mov dl,[edx] + mov [edi],dl +pf: add edi,0x12345678 +;; +;; do two non-quad-aligned pixels +;; +trf2: test byte [pixelcount],0x2 + je trf3 + + mov ah,[esi+ebx] ;; fetch texel : colormap number + add ecx,ebp + adc bl,cl + mov al,[edi] ;; fetch dest : index into colormap + and bl,0x7f + mov dl,[eax] + mov dl,[edx] + mov [edi],dl +pg: add edi,0x12345678 + + mov ah,[esi+ebx] ;; fetch texel : colormap number + add ecx,ebp + adc bl,cl + mov al,[edi] ;; fetch dest : index into colormap + and bl,0x7f + mov dl,[eax] + mov dl,[edx] + mov [edi],dl +ph: add edi,0x12345678 +;; +;; test if there was at least 4 pixels +;; +trf3: test ch,0xff ;; test quad count + je near vtdone + +;; +;; ebp : ystep frac. upper 24 bits +;; edx : y frac. upper 24 bits +;; ebx : y i. lower 7 bits, masked for index +;; ecx : ch = counter, cl = y step i. +;; eax : colormap aligned 256 +;; esi : source texture column +;; edi : dest screen +;; +vt4quadloop: + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov [tystep],ebp +pi: add edi,0x12345678 + mov al,[edi] ;; fetch dest : index into colormap +pj: sub edi,0x12345678 + mov ebp,edi +pk: sub edi,0x12345678 + jmp short inloop +align 4 +vtquadloop: + add ecx,[tystep] + adc bl,cl +q1: add ebp,0x23456789 + and bl,0x7f + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov dl,[edx] + mov [edi],dl + mov al,[ebp] ;; fetch dest : index into colormap +inloop: + add ecx,[tystep] + adc bl,cl +q2: add edi,0x23456789 + and bl,0x7f + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov dl,[edx] + mov [ebp+0x0],dl + mov al,[edi] ;; fetch dest : index into colormap + + add ecx,[tystep] + adc bl,cl +q3: add ebp,0x23456789 + and bl,0x7f + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov dl,[edx] + mov [edi],dl + mov al,[ebp] ;; fetch dest : index into colormap + + add ecx,[tystep] + adc bl,cl +q4: add edi,0x23456789 + and bl,0x7f + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov dl,[edx] + mov [ebp],dl + mov al,[edi] ;; fetch dest : index into colormap + + dec ch + jne vtquadloop +vtdone: + pop ebx + pop edi + pop esi + pop ebp + ret + + +;;---------------------------------------------------------------------- +;; R_DrawShadeColumn +;; +;; for smoke..etc.. test. +;;---------------------------------------------------------------------- +cglobal R_DrawShadeColumn_8 +R_DrawShadeColumn_8: + push ebp ;; preserve caller's stack frame pointer + push esi ;; preserve register variables + push edi + push ebx + +;; +;; dest = ylookup[dc_yl] + columnofs[dc_x]; +;; + mov ebp,[dc_yl] + mov ebx,ebp + mov edi,[ylookup+ebx*4] + mov ebx,[dc_x] + add edi,[columnofs+ebx*4] ;; edi = dest +;; +;; pixelcount = yh - yl + 1 +;; + mov eax,[dc_yh] + inc eax + sub eax,ebp ;; pixel count + mov [pixelcount],eax ;; save for final pixel + jle near shdone ;; nothing to scale +;; +;; frac = dc_texturemid - (centery-dc_yl)*fracstep; +;; + mov ecx,[dc_iscale] ;; fracstep + mov eax,[centery] + sub eax,ebp + imul eax,ecx + mov edx,[dc_texturemid] + sub edx,eax + mov ebx,edx + shr ebx,16 ;; frac int. + and ebx,byte +0x7f + shl edx,16 ;; y frac up + + mov ebp,ecx + shl ebp,16 ;; fracstep f. up + shr ecx,16 ;; fracstep i. ->cl + and cl,0x7f + + mov esi,[dc_source] +;; +;; lets rock :) ! +;; + mov eax,[pixelcount] + mov dh,al + shr eax,2 + mov ch,al ;; quad count + mov eax,[colormaps] + test dh,3 + je sh4quadloop +;; +;; do un-even pixel +;; + test dh,0x1 + je shf2 + + mov ah,[esi+ebx] ;; fetch texel : colormap number + add edx,ebp + adc bl,cl + mov al,[edi] ;; fetch dest : index into colormap + and bl,0x7f + mov dl,[eax] + mov [edi],dl +pl: add edi,0x12345678 +;; +;; do two non-quad-aligned pixels +;; +shf2: + test dh,0x2 + je shf3 + + mov ah,[esi+ebx] ;; fetch texel : colormap number + add edx,ebp + adc bl,cl + mov al,[edi] ;; fetch dest : index into colormap + and bl,0x7f + mov dl,[eax] + mov [edi],dl +pm: add edi,0x12345678 + + mov ah,[esi+ebx] ;; fetch texel : colormap number + add edx,ebp + adc bl,cl + mov al,[edi] ;; fetch dest : index into colormap + and bl,0x7f + mov dl,[eax] + mov [edi],dl +pn: add edi,0x12345678 +;; +;; test if there was at least 4 pixels +;; +shf3: + test ch,0xff ;; test quad count + je near shdone + +;; +;; ebp : ystep frac. upper 24 bits +;; edx : y frac. upper 24 bits +;; ebx : y i. lower 7 bits, masked for index +;; ecx : ch = counter, cl = y step i. +;; eax : colormap aligned 256 +;; esi : source texture column +;; edi : dest screen +;; +sh4quadloop: + mov dh,0x7f ;; prep mask + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov [tystep],ebp +po: add edi,0x12345678 + mov al,[edi] ;; fetch dest : index into colormap +pp: sub edi,0x12345678 + mov ebp,edi +pq: sub edi,0x12345678 + jmp short shinloop + +align 4 +shquadloop: + add edx,[tystep] + adc bl,cl + and bl,dh +q5: add ebp,0x12345678 + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov [edi],dl + mov al,[ebp] ;; fetch dest : index into colormap +shinloop: + add edx,[tystep] + adc bl,cl + and bl,dh +q6: add edi,0x12345678 + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov [ebp],dl + mov al,[edi] ;; fetch dest : index into colormap + + add edx,[tystep] + adc bl,cl + and bl,dh +q7: add ebp,0x12345678 + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov [edi],dl + mov al,[ebp] ;; fetch dest : index into colormap + + add edx,[tystep] + adc bl,cl + and bl,dh +q8: add edi,0x12345678 + mov dl,[eax] + mov ah,[esi+ebx] ;; fetch texel : colormap number + mov [ebp],dl + mov al,[edi] ;; fetch dest : index into colormap + + dec ch + jne shquadloop + +shdone: + pop ebx ;; restore register variables + pop edi + pop esi + pop ebp ;; restore caller's stack frame pointer + ret + + + +;;---------------------------------------------------------------------- +;; +;; R_DrawSpan +;; +;; Horizontal texture mapping +;; +;;---------------------------------------------------------------------- + + +[SECTION .data] + +oldcolormap dd 0 + +[SECTION CODE_SEG write] + +cglobal R_DrawSpan_8 +R_DrawSpan_8: + push ebp ;; preserve caller's stack frame pointer + push esi ;; preserve register variables + push edi + push ebx +;; +;; initilise registers +;; + + mov edx, [ds_xfrac] + mov eax, [ds_ystep] + ror edx, 14 + ror eax, 15 + mov bl, dl + mov ecx, [ds_xstep] + mov dh, al + mov ax, 1 + mov [tystep], eax + + + mov eax, [ds_yfrac] + ror ecx, 13 + ror eax, 16 + mov dl, cl + mov bh, al + xor cx, cx + and ebx, 0x3fff + mov [pixelcount],ecx + + mov ecx, [ds_x2] + mov edi, [ds_y] + mov esi, [ds_x1] + mov edi, [ylookup+edi*4] + mov ebp, ebx + add edi, [columnofs+esi*4] + sub esi, ecx ;; pixel count + shr ebp, 2 + mov ecx, [ds_colormap] + mov ax, si + mov esi, [ds_source] + sar ax,1 + jnc near .midloop ;; check parity + +; summary +; edx = high16bit xfrac[0..13], ah=ystep[16..24] al=xtep[14..21] +; ebx = high16bit =0, bh=yfrac[16..24], bl=xfrac[14..21] +; ecx = colormap table cl=0 (colormap is aligned 8 bits) +; eax = high16bit yfrac[0..15], dx = count +; esi = flat texture source +; edi = screeen buffer destination +; ebp = work register +; pixelcount = high16bit xstep[0..13] rest to 0 +; tystep = high16bit ystep[0..15] low 16 bit = 2 (increment of count) + +align 4 +.loop + add eax, [tystep] + mov cl, [esi+ebp] + adc bh, dh + mov cl, [ecx] + and bh, 0x3f + mov [edi], cl + mov ebp, ebx + inc edi + shr ebp, 2 + +.midloop: + add edx, [pixelcount] + mov cl, [esi+ebp] + adc bl, dl + mov cl, [ecx] + mov ebp, ebx + mov [edi], cl + inc edi + shr ebp, 2 + + test eax, 0xffff + jnz near .loop + +.hdone: pop ebx ;; restore register variables + pop edi + pop esi + pop ebp ;; restore caller's stack frame pointer + ret + + +[SECTION .data] + +obelix dd 0 +etaussi dd 0 + +[SECTION CODE_SEG] + +cglobal R_DrawSpan_8_old +R_DrawSpan_8_old: + push ebp ;; preserve caller's stack frame pointer + push esi ;; preserve register variables + push edi + push ebx +;; +;; find loop count +;; + mov eax,[ds_x2] + inc eax + sub eax,[ds_x1] ;; pixel count + mov [pixelcount],eax ;; save for final pixel + js near .hdone ;; nothing to scale + shr eax,0x1 ;; double pixel count + mov [loopcount],eax +;; +;; build composite position +;; + mov ebp,[ds_xfrac] + shl ebp,10 + and ebp,0xffff0000 + mov eax,[ds_yfrac] + shr eax,6 + and eax,0xffff + mov edi,[ds_y] + or ebp,eax + + mov esi,[ds_source] +;; +;; calculate screen dest +;; + mov edi,[ylookup+edi*4] + mov eax,[ds_x1] + add edi,[columnofs+eax*4] +;; +;; build composite step +;; + mov ebx,[ds_xstep] + shl ebx,10 + and ebx,0xffff0000 + mov eax,[ds_ystep] + shr eax,6 + and eax,0xffff + or ebx,eax + + mov [obelix],ebx + mov [etaussi],esi + +;; %eax aligned colormap +;; %ebx aligned colormap +;; %ecx,%edx scratch +;; %esi virtual source +;; %edi moving destination pointer +;; %ebp frac + + mov eax,[ds_colormap] + mov ecx,ebp + add ebp,ebx ;; advance frac pointer + shr cx,10 + rol ecx,6 + and ecx,4095 ;; finish calculation for third pixel + mov edx,ebp + shr dx,10 + rol edx,6 + add ebp,ebx ;; advance frac pointer + and edx,4095 ;; finish calculation for fourth pixel + mov ebx,eax + mov al,[esi+ecx] ;; get first pixel + mov bl,[esi+edx] ;; get second pixel + + test dword [pixelcount],0xfffffffe + + mov dl,[eax] ;; color translate first pixel + +;; movw $0xf0f0,%dx ;;see visplanes start + + je .hchecklast + + mov dh,[ebx] ;; color translate second pixel + mov esi,[loopcount] +align 4 +.hdoubleloop: + mov ecx,ebp + shr cx,10 + rol ecx,6 + add ebp,[obelix] ;; advance frac pointer + mov [edi],dx ;; write first pixel + and ecx,4095 ;; finish calculation for third pixel + mov edx,ebp + shr dx,10 + rol edx,6 + add ecx,[etaussi] + and edx,4095 ;; finish calculation for fourth pixel + mov al,[ecx] ;; get third pixel + add ebp,[obelix] ;; advance frac pointer + add edx,[etaussi] + mov bl,[edx] ;; get fourth pixel + mov dl,[eax] ;; color translate third pixel + add edi,byte +0x2 ;; advance to third pixel destination + dec esi ;; done with loop? + mov dh,[ebx] ;; color translate fourth pixel + jne .hdoubleloop +;; check for final pixel +.hchecklast: + test dword [pixelcount],0x1 + je .hdone + mov [edi],dl ;; write final pixel +.hdone: pop ebx ;; restore register variables + pop edi + pop esi + pop ebp ;; restore caller's stack frame pointer + ret + + +;; ======================================================================== +;; Rasterization des segments d'un polygne textur de manire LINEAIRE. +;; Il s'agit donc d'interpoler les coordonnes aux bords de la texture en +;; mme temps que les abscisses minx/maxx pour chaque ligne. +;; L'argument 'dir' indique quels bords de la texture sont interpols: +;; 0 : segments associs aux bord SUPERIEUR et INFERIEUR ( TY constant ) +;; 1 : segments associs aux bord GAUCHE et DROITE ( TX constant ) +;; ======================================================================== +;; +;; void rasterize_segment_tex( LONG x1, LONG y1, LONG x2, LONG y2, LONG tv1, LONG tv2, LONG tc, LONG dir ); +;; ARG1 ARG2 ARG3 ARG4 ARG5 ARG6 ARG7 ARG8 +;; +;; Pour dir = 0, (tv1,tv2) = (tX1,tX2), tc = tY, en effet TY est constant. +;; +;; Pour dir = 1, (tv1,tv2) = (tY1,tY2), tc = tX, en effet TX est constant. +;; +;; +;; Uses: extern struct rastery *_rastertab; +;; + +[SECTION CODE_SEG write] + +MINX EQU 0 +MAXX EQU 4 +TX1 EQU 8 +TY1 EQU 12 +TX2 EQU 16 +TY2 EQU 20 +RASTERY_SIZEOF EQU 24 + +cglobal rasterize_segment_tex +rasterize_segment_tex: + push ebp + mov ebp,esp + + sub esp,byte +0x8 ;; alloue les variables locales + + push ebx + push esi + push edi + o16 mov ax,es + push eax + +;; #define DX [ebp-4] +;; #define TD [ebp-8] + + mov eax,[ebp+0xc] ;; y1 + mov ebx,[ebp+0x14] ;; y2 + cmp ebx,eax + je near .L_finished ;; special (y1==y2) segment horizontal, exit! + + jg near .L_rasterize_right + +;;rasterize_left: ;; on rasterize un segment la GAUCHE du polygne + + mov ecx,eax + sub ecx,ebx + inc ecx ;; y1-y2+1 + + mov eax,RASTERY_SIZEOF + mul ebx ;; * y2 + mov esi,[prastertab] + add esi,eax ;; point into rastertab[y2] + + mov eax,[ebp+0x8] ;; ARG1 + sub eax,[ebp+0x10] ;; ARG3 + shl eax,0x10 ;; ((x1-x2)<<PRE) ... + cdq + idiv ecx ;; dx = ... / (y1-y2+1) + mov [ebp-0x4],eax ;; DX + + mov eax,[ebp+0x18] ;; ARG5 + sub eax,[ebp+0x1c] ;; ARG6 + shl eax,0x10 + cdq + idiv ecx ;; tdx =((tx1-tx2)<<PRE) / (y1-y2+1) + mov [ebp-0x8],eax ;; idem tdy =((ty1-ty2)<<PRE) / (y1-y2+1) + + mov eax,[ebp+0x10] ;; ARG3 + shl eax,0x10 ;; x = x2<<PRE + + mov ebx,[ebp+0x1c] ;; ARG6 + shl ebx,0x10 ;; tx = tx2<<PRE d0 + ;; ty = ty2<<PRE d1 + mov edx,[ebp+0x20] ;; ARG7 + shl edx,0x10 ;; ty = ty<<PRE d0 + ;; tx = tx<<PRE d1 + push ebp + mov edi,[ebp-0x4] ;; DX + cmp dword [ebp+0x24],byte +0x0 ;; ARG8 direction ? + + mov ebp,[ebp-0x8] ;; TD + je .L_rleft_h_loop +;; +;; TY varie, TX est constant +;; +.L_rleft_v_loop: + mov [esi+MINX],eax ;; rastertab[y].minx = x + add ebx,ebp + mov [esi+TX1],edx ;; .tx1 = tx + add eax,edi + mov [esi+TY1],ebx ;; .ty1 = ty + + ;;addl DX, %eax // x += dx + ;;addl TD, %ebx // ty += tdy + + add esi,RASTERY_SIZEOF ;; next raster line into rastertab[] + dec ecx + jne .L_rleft_v_loop + pop ebp + jmp .L_finished +;; +;; TX varie, TY est constant +;; +.L_rleft_h_loop: + mov [esi+MINX],eax ;; rastertab[y].minx = x + add eax,edi + mov [esi+TX1],ebx ;; .tx1 = tx + add ebx,ebp + mov [esi+TY1],edx ;; .ty1 = ty + + ;;addl DX, %eax // x += dx + ;;addl TD, %ebx // tx += tdx + + add esi,RASTERY_SIZEOF ;; next raster line into rastertab[] + dec ecx + jne .L_rleft_h_loop + pop ebp + jmp .L_finished +;; +;; on rasterize un segment la DROITE du polygne +;; +.L_rasterize_right: + mov ecx,ebx + sub ecx,eax + inc ecx ;; y2-y1+1 + + mov ebx,RASTERY_SIZEOF + mul ebx ;; * y1 + mov esi,[prastertab] + add esi,eax ;; point into rastertab[y1] + + mov eax,[ebp+0x10] ;; ARG3 + sub eax,[ebp+0x8] ;; ARG1 + shl eax,0x10 ;; ((x2-x1)<<PRE) ... + cdq + idiv ecx ;; dx = ... / (y2-y1+1) + mov [ebp-0x4],eax ;; DX + + mov eax,[ebp+0x1c] ;; ARG6 + sub eax,[ebp+0x18] ;; ARG5 + shl eax,0x10 + cdq + idiv ecx ;; tdx =((tx2-tx1)<<PRE) / (y2-y1+1) + mov [ebp-0x8],eax ;; idem tdy =((ty2-ty1)<<PRE) / (y2-y1+1) + + mov eax,[ebp+0x8] ;; ARG1 + shl eax,0x10 ;; x = x1<<PRE + + mov ebx,[ebp+0x18] ;; ARG5 + shl ebx,0x10 ;; tx = tx1<<PRE d0 + ;; ty = ty1<<PRE d1 + mov edx,[ebp+0x20] ;; ARG7 + shl edx,0x10 ;; ty = ty<<PRE d0 + ;; tx = tx<<PRE d1 + push ebp + mov edi,[ebp-0x4] ;; DX + + cmp dword [ebp+0x24], 0 ;; direction ? + + mov ebp,[ebp-0x8] ;; TD + je .L_rright_h_loop +;; +;; TY varie, TX est constant +;; +.L_rright_v_loop: + + mov [esi+MAXX],eax ;; rastertab[y].maxx = x + add ebx,ebp + mov [esi+TX2],edx ;; .tx2 = tx + add eax,edi + mov [esi+TY2],ebx ;; .ty2 = ty + + ;;addl DX, %eax // x += dx + ;;addl TD, %ebx // ty += tdy + + add esi,RASTERY_SIZEOF + dec ecx + jne .L_rright_v_loop + + pop ebp + + jmp short .L_finished +;; +;; TX varie, TY est constant +;; +.L_rright_h_loop: + mov [esi+MAXX],eax ;; rastertab[y].maxx = x + add eax,edi + mov [esi+TX2],ebx ;; .tx2 = tx + add ebx,ebp + mov [esi+TY2],edx ;; .ty2 = ty + + ;;addl DX, %eax // x += dx + ;;addl TD, %ebx // tx += tdx + + add esi,RASTERY_SIZEOF + dec ecx + jne .L_rright_h_loop + + pop ebp + +.L_finished: + pop eax + o16 mov es,ax + pop edi + pop esi + pop ebx + + mov esp,ebp + pop ebp + ret + + +;;; this version can draw 64x64 tiles, but they would have to be arranged 4 per row, +;; so that the stride from one line to the next is 256 +;; +;; .data +;;xstep dd 0 +;;ystep dd 0 +;;texwidth dd 64 ;; texture width +;; .text +;; this code is kept in case we add high-detail floor textures for example (256x256) +; align 16 +;_R_DrawSpan_8: +; push ebp ;; preserve caller's stack frame pointer +; push esi ;; preserve register variables +; push edi +; push ebx +;; +;; find loop count +;; +; mov eax,[ds_x2] +; inc eax +; sub eax,[ds_x1] ;; pixel count +; mov [pixelcount],eax ;; save for final pixel +; js near .hdone ;; nothing to scale +;; +;; calculate screen dest +;; +; mov edi,[ds_y] +; mov edi,[ylookup+edi*4] +; mov eax,[ds_x1] +; add edi,[columnofs+eax*4] +;; +;; prepare registers for inner loop +;; +; xor eax,eax +; mov edx,[ds_xfrac] +; ror edx,16 +; mov al,dl +; mov ecx,[ds_yfrac] +; ror ecx,16 +; mov ah,cl +; +; mov ebx,[ds_xstep] +; ror ebx,16 +; mov ch,bl +; and ebx,0xffff0000 +; mov [xstep],ebx +; mov ebx,[ds_ystep] +; ror ebx,16 +; mov dh,bl +; and ebx,0xffff0000 +; mov [ystep],ebx +; +; mov esi,[ds_source] +; +;;; %eax Yi,Xi in %ah,%al +;;; %ebx aligned colormap +;;; %ecx Yfrac upper, dXi in %ch, %cl is counter (upto 1024pels, =4x256) +;;; %edx Xfrac upper, dYi in %dh, %dl receives mapped pixels from (ebx) +;;; ystep dYfrac, add to %ecx, low word is 0 +;;; xstep dXfrac, add to %edx, low word is 0 +;;; %ebp temporary register serves as offset like %eax +;;; %esi virtual source +;;; %edi moving destination pointer +; +; mov ebx,[pixelcount] +; shr ebx,0x2 ;; 4 pixels per loop +; test bl,0xff +; je near .hchecklast +; mov cl,bl +; +; mov ebx,[dc_colormap] +;;; +;;; prepare loop with first pixel +;;; +; add ecx,[ystep] ;;pra1 +; adc ah,dh +; add edx,[xstep] +; adc al,ch +; and eax,0x3f3f +; mov bl,[esi+eax] ;;prb1 +; mov dl,[ebx] ;;prc1 +; +; add ecx,[ystep] ;;a2 +; adc ah,dh +; +;.hdoubleloop: +; mov [edi+1],dl +; add edx,[xstep] +; adc al,ch +; add edi,byte +0x2 +; mov ebp,eax +; add ecx,[ystep] +; adc ah,dh +; and ebp,0x3f3f +; add edx,[xstep] +; mov bl,[esi+ebp] +; adc al,ch +; mov dl,[ebx] +; and eax,0x3f3f +; mov [edi],dl +; mov bl,[esi+eax] +; add ecx,[ystep] +; adc ah,dh +; add edx,[xstep] +; adc al,ch +; mov dl,[ebx] +; mov ebp,eax +; mov [edi+1],dl +; and ebp,0x3f3f +; add ecx,[ystep] +; adc ah,dh +; mov bl,[esi+ebp] +; add edi,byte +0x2 +; add edx,[xstep] +; adc al,ch +; mov dl,[ebx] +; and eax,0x3f3f +; mov [edi],dl +; mov bl,[esi+eax] +; add ecx,[ystep] +; adc ah,dh +; mov dl,[ebx] +; dec cl +; jne near .hdoubleloop +;;; check for final pixel +;.hchecklast: +;;; to do +;.hdone: +; pop ebx +; pop edi +; pop esi +; pop ebp +; ret + diff --git a/travis/test/tmap.json b/travis/test/tmap.json new file mode 100644 index 00000000..3978d998 --- /dev/null +++ b/travis/test/tmap.json @@ -0,0 +1,10 @@ +{ + "description": "Test abuse the section flags which breaks NASM 0.98.37", + "format": "elf", + "source": "tmap.asm", + "option": "-DLINUX", + "target": [ + { "output": "tmap.o" }, + { "stderr": "tmap.o.stderr" } + ] +} diff --git a/travis/test/tmap.o.stderr b/travis/test/tmap.o.stderr new file mode 100644 index 00000000..cf2770e8 --- /dev/null +++ b/travis/test/tmap.o.stderr @@ -0,0 +1 @@ +./travis/test/tmap.asm:938: warning: label alone on a line without a colon might be in error [-w+orphan-labels]
\ No newline at end of file diff --git a/travis/test/tmap.o.t b/travis/test/tmap.o.t Binary files differnew file mode 100644 index 00000000..8ac43ab5 --- /dev/null +++ b/travis/test/tmap.o.t diff --git a/travis/test/uscore.asm b/travis/test/uscore.asm new file mode 100644 index 00000000..b82b7ce0 --- /dev/null +++ b/travis/test/uscore.asm @@ -0,0 +1,14 @@ + dd 0x1234_5678 + dd 305_419_896 ; Same number as above it + dd 0x1e16 ; NOT a floating-point number! + dd 1e16h ; NOT a floating-point number! + dd 1e16_h ; NOT a floating-point number! + dd $1e16 ; NOT a floating-point number! + dd $1e+16 ; NOT a floating-point number! + dd 1e16 ; THIS is a floating-point number! + dd 1e+16 + dd 1.e+16 + dd 1e+1_6 + dd 1e1_6 + dd 1.0e16 + dd 1_0e16 ; This is 1e17, not 1e16! diff --git a/travis/test/uscore.bin.t b/travis/test/uscore.bin.t Binary files differnew file mode 100644 index 00000000..40326154 --- /dev/null +++ b/travis/test/uscore.bin.t diff --git a/travis/test/uscore.json b/travis/test/uscore.json new file mode 100644 index 00000000..36df00a9 --- /dev/null +++ b/travis/test/uscore.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test numbers conversion", + "id": "uscore", + "format": "bin", + "source": "uscore.asm", + "target": [ + { "output": "uscore.bin" } + ] + } +] diff --git a/travis/test/utf-error.stderr b/travis/test/utf-error.stderr new file mode 100644 index 00000000..07ff4fb8 --- /dev/null +++ b/travis/test/utf-error.stderr @@ -0,0 +1,18 @@ +./travis/test/utf.asm:63: error: __utf16__ must be followed by a string constant +./travis/test/utf.asm:64: error: __utf16__ must be followed by a string constant +./travis/test/utf.asm:65: error: unterminated __utf16__ function +./travis/test/utf.asm:65: error: comma expected after operand 2 +./travis/test/utf.asm:66: error: unterminated __utf16__ function +./travis/test/utf.asm:67: error: invalid string for transform +./travis/test/utf.asm:69: error: __utf16le__ must be followed by a string constant +./travis/test/utf.asm:70: error: __utf16le__ must be followed by a string constant +./travis/test/utf.asm:71: error: unterminated __utf16le__ function +./travis/test/utf.asm:71: error: comma expected after operand 2 +./travis/test/utf.asm:72: error: unterminated __utf16le__ function +./travis/test/utf.asm:73: error: invalid string for transform +./travis/test/utf.asm:75: error: __utf16be__ must be followed by a string constant +./travis/test/utf.asm:76: error: __utf16be__ must be followed by a string constant +./travis/test/utf.asm:77: error: unterminated __utf16be__ function +./travis/test/utf.asm:77: error: comma expected after operand 2 +./travis/test/utf.asm:78: error: unterminated __utf16be__ function +./travis/test/utf.asm:79: error: invalid string for transform
\ No newline at end of file diff --git a/travis/test/utf.asm b/travis/test/utf.asm new file mode 100644 index 00000000..5ff1e559 --- /dev/null +++ b/travis/test/utf.asm @@ -0,0 +1,80 @@ +%define u(x) __utf16__(x) +%define w(x) __utf32__(x) +%define ul(x) __utf16le__(x) +%define wl(x) __utf32le__(x) +%define ub(x) __utf16be__(x) +%define wb(x) __utf32be__(x) + + db `Test \u306a\U0001abcd\n` + dw u(`Test \u306a\U0001abcd\n`) + dd w(`Test \u306a\U0001abcd\n`) + + db `\u306a` + db `\xe3\x81\xaa` + + dw __utf16__ "Hello, World!" + + nop + + mov ax,u(`a`) + mov bx,u(`\u306a`) + mov cx,u(`\xe3\x81\xaa`) + mov eax,u(`ab`) + mov ebx,u(`\U0001abcd`) + mov ecx,w(`\U0001abcd`) + + db `Test \u306a\U0001abcd\n` + dw ul(`Test \u306a\U0001abcd\n`) + dd wl(`Test \u306a\U0001abcd\n`) + + db `\u306a` + db `\xe3\x81\xaa` + + dw __utf16le__ "Hello, World!" + + nop + + mov ax,ul(`a`) + mov bx,ul(`\u306a`) + mov cx,ul(`\xe3\x81\xaa`) + mov eax,ul(`ab`) + mov ebx,ul(`\U0001abcd`) + mov ecx,wl(`\U0001abcd`) + + db `Test \u306a\U0001abcd\n` + dw ub(`Test \u306a\U0001abcd\n`) + dd wb(`Test \u306a\U0001abcd\n`) + + db `\u306a` + db `\xe3\x81\xaa` + + dw __utf16be__ "Hello, World!" + + nop + + mov ax,ub(`a`) + mov bx,ub(`\u306a`) + mov cx,ub(`\xe3\x81\xaa`) + mov eax,ub(`ab`) + mov ebx,ub(`\U0001abcd`) + mov ecx,wb(`\U0001abcd`) + +%ifdef ERROR + dw __utf16__ 33 + dw __utf16__, 46 + dw __utf16__("Hello, World!",16) + dw __utf16__("Hello, World!",16 + dw u(`\xff`) + + dw __utf16le__ 33 + dw __utf16le__, 46 + dw __utf16le__("Hello, World!",16) + dw __utf16le__("Hello, World!",16 + dw ul(`\xff`) + + dw __utf16be__ 33 + dw __utf16be__, 46 + dw __utf16be__("Hello, World!",16) + dw __utf16be__("Hello, World!",16 + dw ub(`\xff`) +%endif diff --git a/travis/test/utf.bin.t b/travis/test/utf.bin.t Binary files differnew file mode 100644 index 00000000..a6c34215 --- /dev/null +++ b/travis/test/utf.bin.t diff --git a/travis/test/utf.json b/travis/test/utf.json new file mode 100644 index 00000000..c1126d89 --- /dev/null +++ b/travis/test/utf.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test __utf__ helpers", + "id": "utf", + "format": "bin", + "source": "utf.asm", + "target": [ + { "output": "utf.bin" } + ] + }, + { + "description": "Test errors in __utf__ helpers", + "ref": "utf", + "option": "-DERROR", + "target": [ + { "stderr": "utf-error.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/vmread.asm b/travis/test/vmread.asm new file mode 100644 index 00000000..04eb59d6 --- /dev/null +++ b/travis/test/vmread.asm @@ -0,0 +1,24 @@ + bits 32 + vmread dword [0], eax + vmwrite eax, dword [0] + vmread [0], eax + vmwrite eax, [0] + + bits 64 + vmread qword [0], rax + vmwrite rax, qword [0] + vmread [0], rax + vmwrite rax, [0] + +%ifdef ERROR + bits 32 + vmread qword [0], eax + vmwrite eax, qword [0] + + bits 64 + vmread dword [0], eax + vmwrite eax, dword [0] + + vmread qword [0], eax + vmwrite eax, qword [0] +%endif diff --git a/travis/test/vmread.bin.t b/travis/test/vmread.bin.t Binary files differnew file mode 100644 index 00000000..37d3cbcb --- /dev/null +++ b/travis/test/vmread.bin.t diff --git a/travis/test/vmread.json b/travis/test/vmread.json new file mode 100644 index 00000000..32049d46 --- /dev/null +++ b/travis/test/vmread.json @@ -0,0 +1,20 @@ +[ + { + "description": "Test vmread instruction", + "id": "vmread", + "format": "bin", + "source": "vmread.asm", + "target": [ + { "output": "vmread.bin" } + ] + }, + { + "description": "Test errors in vmread instruction", + "ref": "vmread", + "option": "-DERROR", + "target": [ + { "stderr": "vmread.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/vmread.stderr b/travis/test/vmread.stderr new file mode 100644 index 00000000..84fb5282 --- /dev/null +++ b/travis/test/vmread.stderr @@ -0,0 +1,6 @@ +./travis/test/vmread.asm:15: error: invalid combination of opcode and operands +./travis/test/vmread.asm:16: error: invalid combination of opcode and operands +./travis/test/vmread.asm:19: error: instruction not supported in 64-bit mode +./travis/test/vmread.asm:20: error: instruction not supported in 64-bit mode +./travis/test/vmread.asm:22: error: invalid combination of opcode and operands +./travis/test/vmread.asm:23: error: invalid combination of opcode and operands
\ No newline at end of file diff --git a/travis/test/weirdpaste.asm b/travis/test/weirdpaste.asm new file mode 100644 index 00000000..353ef8a8 --- /dev/null +++ b/travis/test/weirdpaste.asm @@ -0,0 +1,26 @@ + %define foo xyzzy +%define bar 1e+10 + +%define xyzzy1e 15 + +%macro dx 2 +%assign xx %1%2 + dw xx +%endmacro + + dx foo, bar + +%macro df 2 +%assign xy __float32__(%1e+%2) + dd xy + dd %1e+%2 +%endmacro + + df 1, 36 + df 33, 20 + df 0, 2 + df 1.2, 5 + + +%define N 1e%++%+ 5 + dd N, 1e+5 diff --git a/travis/test/weirdpaste.bin.t b/travis/test/weirdpaste.bin.t Binary files differnew file mode 100644 index 00000000..db0468ed --- /dev/null +++ b/travis/test/weirdpaste.bin.t diff --git a/travis/test/weirdpaste.i.t b/travis/test/weirdpaste.i.t new file mode 100644 index 00000000..ac7ddf08 --- /dev/null +++ b/travis/test/weirdpaste.i.t @@ -0,0 +1,30 @@ +%line 3+1 ./travis/test/weirdpaste.asm + + + +%line 10+1 ./travis/test/weirdpaste.asm + + dw 25 + +%line 18+1 ./travis/test/weirdpaste.asm + + dd 2067830734 +%line 19+0 ./travis/test/weirdpaste.asm + dd 1e+36 +%line 20+1 ./travis/test/weirdpaste.asm + dd 1664279731 +%line 20+0 ./travis/test/weirdpaste.asm + dd 33e+20 +%line 21+1 ./travis/test/weirdpaste.asm + dd 0 +%line 21+0 ./travis/test/weirdpaste.asm + dd 0e+2 +%line 22+1 ./travis/test/weirdpaste.asm + dd 1206542336 +%line 22+0 ./travis/test/weirdpaste.asm + dd 1.2e+5 +%line 23+1 ./travis/test/weirdpaste.asm + + + + dd 1e+5, 1e+5 diff --git a/travis/test/weirdpaste.json b/travis/test/weirdpaste.json new file mode 100644 index 00000000..566a567b --- /dev/null +++ b/travis/test/weirdpaste.json @@ -0,0 +1,18 @@ +[ + { + "description": "Check preprocessor paste operator (compile mode)", + "format": "bin", + "source": "weirdpaste.asm", + "target": [ + { "output": "weirdpaste.bin" } + ] + }, + { + "description": "Check preprocessor paste operator (preprocessor mode)", + "source": "weirdpaste.asm", + "option": "-E", + "target": [ + { "output": "weirdpaste.i" } + ] + } +] diff --git a/travis/test/xchg.asm b/travis/test/xchg.asm new file mode 100644 index 00000000..1b6c8432 --- /dev/null +++ b/travis/test/xchg.asm @@ -0,0 +1,93 @@ +%macro x 2 + xchg %1,%2 + xchg %2,%1 +%endmacro + + bits 16 + + x ax,ax + x ax,cx + x ax,dx + x ax,bx + x ax,sp + x ax,bp + x ax,si + x ax,di + x eax,eax + x eax,ecx + x eax,edx + x eax,ebx + x eax,esp + x eax,ebp + x eax,esi + x eax,edi + + bits 32 + + x ax,ax + x ax,cx + x ax,dx + x ax,bx + x ax,sp + x ax,bp + x ax,si + x ax,di + x eax,eax + x eax,ecx + x eax,edx + x eax,ebx + x eax,esp + x eax,ebp + x eax,esi + x eax,edi + + bits 64 + + x ax,ax + x ax,cx + x ax,dx + x ax,bx + x ax,sp + x ax,bp + x ax,si + x ax,di + x ax,r8w + x ax,r9w + x ax,r10w + x ax,r11w + x ax,r12w + x ax,r13w + x ax,r14w + x ax,r15w + x eax,eax + x eax,ecx + x eax,edx + x eax,ebx + x eax,esp + x eax,ebp + x eax,esi + x eax,edi + x eax,r8d + x eax,r9d + x eax,r10d + x eax,r11d + x eax,r12d + x eax,r13d + x eax,r14d + x eax,r15d + x rax,rax + x rax,rcx + x rax,rdx + x rax,rbx + x rax,rsp + x rax,rbp + x rax,rsi + x rax,rdi + x rax,r8 + x rax,r9 + x rax,r10 + x rax,r11 + x rax,r12 + x rax,r13 + x rax,r14 + x rax,r15 diff --git a/travis/test/xchg.bin.t b/travis/test/xchg.bin.t new file mode 100644 index 00000000..1c3908ca --- /dev/null +++ b/travis/test/xchg.bin.t @@ -0,0 +1 @@ +fffffffffffffffffffffffffffffffffffffffffffffffffAfAfAfAfAfAfAfAfAfAfAfAfAfAfAfAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIII
\ No newline at end of file diff --git a/travis/test/xchg.json b/travis/test/xchg.json new file mode 100644 index 00000000..5bf822c7 --- /dev/null +++ b/travis/test/xchg.json @@ -0,0 +1,18 @@ +[ + { + "description": "Check xchg instruction (-Ox)", + "id": "xchg", + "format": "bin", + "source": "xchg.asm", + "option": "-Ox", + "target": [ + { "output": "xchg.bin" } + ] + }, + { + "description": "Check xchg instruction (-O0)", + "ref": "xchg", + "option": "-O0", + "update": false + } +] diff --git a/travis/test/xcrypt.asm b/travis/test/xcrypt.asm new file mode 100644 index 00000000..55a3f5de --- /dev/null +++ b/travis/test/xcrypt.asm @@ -0,0 +1,24 @@ +;Testname=test; Arguments=-fbin -oxcrypt.bin; Files=stdout stderr xcrypt.bin +; BR 2029829 + + bits 32 + + rep xstore + rep xcryptecb + rep xcryptcbc + rep xcryptctr + rep xcryptcfb + rep xcryptofb + rep montmul + rep xsha1 + rep xsha256 + + xstore + xcryptecb + xcryptcbc + xcryptctr + xcryptcfb + xcryptofb + montmul + xsha1 + xsha256 diff --git a/travis/test/xcrypt.bin.t b/travis/test/xcrypt.bin.t new file mode 100644 index 00000000..60c46511 --- /dev/null +++ b/travis/test/xcrypt.bin.t @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/travis/test/xcrypt.json b/travis/test/xcrypt.json new file mode 100644 index 00000000..cf1b90c0 --- /dev/null +++ b/travis/test/xcrypt.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test XCRYPT instructions", + "id": "xcrypt", + "format": "bin", + "source": "xcrypt.asm", + "target": [ + { "output": "xcrypt.bin" } + ] + } +] diff --git a/travis/test/zerobyte.asm b/travis/test/zerobyte.asm new file mode 100644 index 00000000..ef7b1a1b --- /dev/null +++ b/travis/test/zerobyte.asm @@ -0,0 +1,21 @@ + bits 64 + + mov eax,bar-foo + +foo: + add al,r10b +bar: + + lldt ax + lldt r8w + ltr [rax] + sldt eax + sldt r8d + str eax + str rax + str r8d + str r8 + verr ax + verr r8w + verw ax + verw r8w diff --git a/travis/test/zerobyte.bin.t b/travis/test/zerobyte.bin.t Binary files differnew file mode 100644 index 00000000..9a85eea0 --- /dev/null +++ b/travis/test/zerobyte.bin.t diff --git a/travis/test/zerobyte.json b/travis/test/zerobyte.json new file mode 100644 index 00000000..fda829d7 --- /dev/null +++ b/travis/test/zerobyte.json @@ -0,0 +1,11 @@ +[ + { + "description": "Test for accidental duplication of REX prefixes", + "id": "zerobyte", + "format": "bin", + "source": "zerobyte.asm", + "target": [ + { "output": "zerobyte.bin" } + ] + } +] @@ -1 +1 @@ -2.14.01rc5 +2.15rc0 |