summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--.travis.yml10
-rw-r--r--Makefile.in30
-rw-r--r--Mkfiles/msvc.mak10
-rw-r--r--Mkfiles/openwcom.mak10
-rw-r--r--README23
-rw-r--r--README.md19
-rw-r--r--aclocal.m42
-rw-r--r--asm/assemble.c258
-rw-r--r--asm/directiv.c102
-rw-r--r--asm/error.c282
-rw-r--r--asm/eval.c464
-rw-r--r--asm/eval.h2
-rw-r--r--asm/float.c84
-rw-r--r--asm/labels.c60
-rw-r--r--asm/listing.c59
-rw-r--r--asm/listing.h2
-rw-r--r--asm/nasm.c424
-rw-r--r--asm/parser.c162
-rw-r--r--asm/parser.h2
-rw-r--r--asm/pragma.c17
-rw-r--r--asm/preproc-nop.c27
-rw-r--r--asm/preproc.c735
-rw-r--r--asm/srcfile.c (renamed from nasmlib/srcfile.c)43
-rw-r--r--asm/srcfile.h102
-rw-r--r--asm/stdscan.c47
-rw-r--r--asm/tokens.dat3
-rwxr-xr-xasm/tokhash.pl4
-rwxr-xr-xasm/warnings.pl200
-rw-r--r--configure.ac33
-rw-r--r--disasm/ndisasm.c4
-rw-r--r--doc/Makefile.in2
-rw-r--r--doc/nasmdoc.src77
-rw-r--r--include/compiler.h55
-rw-r--r--include/error.h122
-rw-r--r--include/hashtbl.h47
-rw-r--r--include/ilog2.h80
-rw-r--r--include/nasm.h144
-rw-r--r--include/nasmlib.h147
-rw-r--r--include/nctype.h127
-rw-r--r--include/raa.h56
-rw-r--r--include/strlist.h53
-rw-r--r--include/ver.h10
-rwxr-xr-xmisc/Nindent2
-rw-r--r--nasmlib/alloc.c (renamed from nasmlib/malloc.c)15
-rw-r--r--nasmlib/alloc.h (renamed from output/strtbl.h)27
-rw-r--r--nasmlib/asprintf.c92
-rw-r--r--nasmlib/crc64.c24
-rw-r--r--nasmlib/file.c14
-rw-r--r--nasmlib/hashtbl.c219
-rw-r--r--nasmlib/nctype.c116
-rw-r--r--nasmlib/raa.c167
-rw-r--r--nasmlib/readnum.c10
-rw-r--r--nasmlib/string.c20
-rw-r--r--nasmlib/strlist.c196
-rw-r--r--nasmlib/ver.c44
-rw-r--r--output/codeview.c13
-rw-r--r--output/dwarf.h36
-rw-r--r--output/elf.h746
-rw-r--r--output/macho.h282
-rw-r--r--output/nullout.c8
-rw-r--r--output/outaout.c127
-rw-r--r--output/outas86.c64
-rw-r--r--output/outbin.c207
-rw-r--r--output/outcoff.c132
-rw-r--r--output/outdbg.c30
-rw-r--r--output/outelf.c334
-rw-r--r--output/outieee.c84
-rw-r--r--output/outlib.h3
-rw-r--r--output/outmacho.c261
-rw-r--r--output/outobj.c206
-rw-r--r--output/outrdf2.c46
-rw-r--r--output/stabs.h188
-rw-r--r--output/strtbl.c117
-rw-r--r--rdoff/rdflib.c2
-rw-r--r--rdoff/rdoff.c2
-rw-r--r--stdlib/vsnprintf.c5
-rw-r--r--travis/README.md104
-rwxr-xr-xtravis/nasm-t.py428
-rw-r--r--travis/t.json17
-rw-r--r--travis/test/_file_.asm4
-rw-r--r--travis/test/_file_.bin.tbin0 -> 56 bytes
-rw-r--r--travis/test/_file_.json8
-rw-r--r--travis/test/_version.json7
-rw-r--r--travis/test/_version.stdout1
-rw-r--r--travis/test/a32offs.asm7
-rw-r--r--travis/test/a32offs.bin.t1
-rw-r--r--travis/test/a32offs.json18
-rw-r--r--travis/test/absolute.asm38
-rw-r--r--travis/test/absolute.bin.t1
-rw-r--r--travis/test/absolute.json8
-rw-r--r--travis/test/addr64x.asm15
-rw-r--r--travis/test/addr64x.bin.tbin0 -> 56 bytes
-rw-r--r--travis/test/addr64x.json25
-rw-r--r--travis/test/addr64x.stderr4
-rw-r--r--travis/test/align13.asm16
-rw-r--r--travis/test/align13.json25
-rw-r--r--travis/test/align13.stderr4
-rw-r--r--travis/test/align13s.asm17
-rw-r--r--travis/test/align13s.json25
-rw-r--r--travis/test/align13s.stderr3
-rw-r--r--travis/test/alonesym-obj.asm163
-rw-r--r--travis/test/alonesym-obj.json18
-rw-r--r--travis/test/alonesym-obj.obj.tbin0 -> 1161 bytes
-rw-r--r--travis/test/andbyte.asm12
-rw-r--r--travis/test/andbyte.bin.t1
-rw-r--r--travis/test/andbyte.json17
-rw-r--r--travis/test/aoutso-o0.o.tbin0 -> 669 bytes
-rw-r--r--travis/test/aoutso-ox.o.tbin0 -> 665 bytes
-rw-r--r--travis/test/aoutso.asm96
-rw-r--r--travis/test/aoutso.json22
-rw-r--r--travis/test/aoutso.stderr1
-rw-r--r--travis/test/aouttest-o0.o.tbin0 -> 500 bytes
-rw-r--r--travis/test/aouttest-ox.o.tbin0 -> 500 bytes
-rw-r--r--travis/test/aouttest.asm83
-rw-r--r--travis/test/aouttest.json20
-rw-r--r--travis/test/avx.asm43
-rw-r--r--travis/test/avx.bin.tbin0 -> 159 bytes
-rw-r--r--travis/test/avx.json18
-rw-r--r--travis/test/avx005.asm527
-rw-r--r--travis/test/avx005.bin.tbin0 -> 2374 bytes
-rw-r--r--travis/test/avx005.json12
-rw-r--r--travis/test/avx512cd.asm105
-rw-r--r--travis/test/avx512cd.bin.tbin0 -> 654 bytes
-rw-r--r--travis/test/avx512cd.json12
-rw-r--r--travis/test/avx512er.asm143
-rw-r--r--travis/test/avx512er.bin.tbin0 -> 942 bytes
-rw-r--r--travis/test/avx512er.json12
-rw-r--r--travis/test/avx512f.asm7000
-rw-r--r--travis/test/avx512f.json13
-rw-r--r--travis/test/avx512f.stderr572
-rw-r--r--travis/test/avx512pf.asm87
-rw-r--r--travis/test/avx512pf.bin.tbin0 -> 668 bytes
-rw-r--r--travis/test/avx512pf.json12
-rw-r--r--travis/test/bcd.asm23
-rw-r--r--travis/test/bcd.bin.tbin0 -> 200 bytes
-rw-r--r--travis/test/bcd.json13
-rw-r--r--travis/test/bcd.stderr2
-rw-r--r--travis/test/binexe.asm32
-rw-r--r--travis/test/binexe.exe.tbin0 -> 63 bytes
-rw-r--r--travis/test/binexe.json18
-rw-r--r--travis/test/bintest-o0.bin.tbin0 -> 69 bytes
-rw-r--r--travis/test/bintest-ox.bin.tbin0 -> 65 bytes
-rw-r--r--travis/test/bintest.asm56
-rw-r--r--travis/test/bintest.json20
-rw-r--r--travis/test/br1879590.asm25
-rw-r--r--travis/test/br1879590.bin.t1
-rw-r--r--travis/test/br1879590.json18
-rw-r--r--travis/test/br2003451.asm15
-rw-r--r--travis/test/br2003451.bin.tbin0 -> 16 bytes
-rw-r--r--travis/test/br2003451.json12
-rw-r--r--travis/test/br2030823.asm5
-rw-r--r--travis/test/br2030823.bin.tbin0 -> 44 bytes
-rw-r--r--travis/test/br2030823.json12
-rw-r--r--travis/test/br2148476.asm219
-rw-r--r--travis/test/br2148476.bin.t1
-rw-r--r--travis/test/br2148476.json11
-rw-r--r--travis/test/br2222615.asm16
-rw-r--r--travis/test/br2222615.bin.t0
-rw-r--r--travis/test/br2222615.json21
-rw-r--r--travis/test/br2222615.stderr1
-rw-r--r--travis/test/br2496848.asm39
-rw-r--r--travis/test/br2496848.bin.tbin0 -> 101 bytes
-rw-r--r--travis/test/br2496848.json19
-rw-r--r--travis/test/br2496848.stderr25
-rw-r--r--travis/test/br3005117.asm24
-rw-r--r--travis/test/br3005117.json12
-rw-r--r--travis/test/br3005117.o.tbin0 -> 832 bytes
-rw-r--r--travis/test/br3026808.asm18
-rw-r--r--travis/test/br3026808.bin.t0
-rw-r--r--travis/test/br3026808.json12
-rw-r--r--travis/test/br3028880.asm32
-rw-r--r--travis/test/br3028880.bin.t8
-rw-r--r--travis/test/br3028880.json13
-rw-r--r--travis/test/br3041451.asm56
-rw-r--r--travis/test/br3041451.bin.tbin0 -> 10 bytes
-rw-r--r--travis/test/br3041451.json13
-rw-r--r--travis/test/br3041451.stderr4
-rw-r--r--travis/test/br3058845-o0.bin.t1
-rw-r--r--travis/test/br3058845-ox.bin.t1
-rw-r--r--travis/test/br3058845.asm11
-rw-r--r--travis/test/br3058845.json20
-rw-r--r--travis/test/br3066383.asm68
-rw-r--r--travis/test/br3066383.bin.tbin0 -> 28 bytes
-rw-r--r--travis/test/br3066383.json12
-rw-r--r--travis/test/br3109604.asm6
-rw-r--r--travis/test/br3109604.bin.tbin0 -> 12 bytes
-rw-r--r--travis/test/br3109604.json18
-rw-r--r--travis/test/br3174983.asm6
-rw-r--r--travis/test/br3174983.bin.t1
-rw-r--r--travis/test/br3174983.json18
-rw-r--r--travis/test/br3187743.asm4
-rw-r--r--travis/test/br3187743.bin.t1
-rw-r--r--travis/test/br3187743.json18
-rw-r--r--travis/test/br3189064.asm4
-rw-r--r--travis/test/br3189064.bin.t1
-rw-r--r--travis/test/br3189064.json18
-rw-r--r--travis/test/br3200749.asm7
-rw-r--r--travis/test/br3200749.json13
-rw-r--r--travis/test/br3200749.stderr2
-rw-r--r--travis/test/br3385573.asm9
-rw-r--r--travis/test/br3385573.bin.tbin0 -> 36 bytes
-rw-r--r--travis/test/br3385573.json18
-rw-r--r--travis/test/br3392252.asm41
-rw-r--r--travis/test/br3392252.bin.tbin0 -> 167 bytes
-rw-r--r--travis/test/br3392252.json12
-rw-r--r--travis/test/br3392259.asm7
-rw-r--r--travis/test/br3392259.json12
-rw-r--r--travis/test/br3392259.o.tbin0 -> 576 bytes
-rw-r--r--travis/test/br3392528.asm5
-rw-r--r--travis/test/br3392528.json13
-rw-r--r--travis/test/br3392528.stderr2
-rw-r--r--travis/test/br560575.asm5
-rw-r--r--travis/test/br560575.json37
-rw-r--r--travis/test/br560575.stderr3
-rw-r--r--travis/test/br890790.asm6
-rw-r--r--travis/test/br890790.bin.tbin0 -> 11 bytes
-rw-r--r--travis/test/br890790.json12
-rw-r--r--travis/test/br890790_i.asm1
-rw-r--r--travis/test/br978756.asm6
-rw-r--r--travis/test/br978756.json12
-rw-r--r--travis/test/br978756.o.tbin0 -> 576 bytes
-rw-r--r--travis/test/crc32.asm35
-rw-r--r--travis/test/crc32.bin.t1
-rw-r--r--travis/test/crc32.json11
-rw-r--r--travis/test/elfso-o0.o.tbin0 -> 1248 bytes
-rw-r--r--travis/test/elfso-o0.stderr1
-rw-r--r--travis/test/elfso-ox.o.tbin0 -> 1248 bytes
-rw-r--r--travis/test/elfso-ox.stderr1
-rw-r--r--travis/test/elfso.asm100
-rw-r--r--travis/test/elfso.json22
-rw-r--r--travis/test/elif.asm38
-rw-r--r--travis/test/elif.json12
-rw-r--r--travis/test/elif.o.tbin0 -> 230 bytes
-rw-r--r--travis/test/expimp-o0-error.stderr8
-rw-r--r--travis/test/expimp-o0.bin.tbin0 -> 513 bytes
-rw-r--r--travis/test/expimp-o0.stderr4
-rw-r--r--travis/test/expimp-o1.bin.tbin0 -> 501 bytes
-rw-r--r--travis/test/expimp-o1.stderr4
-rw-r--r--travis/test/expimp-ox-error.stderr8
-rw-r--r--travis/test/expimp-ox.bin.tbin0 -> 495 bytes
-rw-r--r--travis/test/expimp.asm90
-rw-r--r--travis/test/expimp.json40
-rw-r--r--travis/test/far64.asm9
-rw-r--r--travis/test/far64.bin.t1
-rw-r--r--travis/test/far64.json11
-rw-r--r--travis/test/float.asm183
-rw-r--r--travis/test/float.bin.tbin0 -> 1148 bytes
-rw-r--r--travis/test/float.json12
-rw-r--r--travis/test/float8.asm132
-rw-r--r--travis/test/float8.bin.tbin0 -> 123 bytes
-rw-r--r--travis/test/float8.json12
-rw-r--r--travis/test/floatb.asm56
-rw-r--r--travis/test/floatb.bin.tbin0 -> 235 bytes
-rw-r--r--travis/test/floatb.json13
-rw-r--r--travis/test/floatb.stderr6
-rw-r--r--travis/test/floatexp-o0.bin.tbin0 -> 2523 bytes
-rw-r--r--travis/test/floatexp-ox.bin.tbin0 -> 2268 bytes
-rw-r--r--travis/test/floatexp.asm379
-rw-r--r--travis/test/floatexp.json20
-rw-r--r--travis/test/floatize.asm16
-rw-r--r--travis/test/floatize.bin.tbin0 -> 40 bytes
-rw-r--r--travis/test/floatize.json18
-rw-r--r--travis/test/floattest.asm26
-rw-r--r--travis/test/floattest.json12
-rw-r--r--travis/test/floattest.o.tbin0 -> 736 bytes
-rw-r--r--travis/test/fpu.asm125
-rw-r--r--travis/test/fpu.bin.t1
-rw-r--r--travis/test/fpu.json11
-rw-r--r--travis/test/fwdopt.asm132
-rw-r--r--travis/test/fwdopt.bin.tbin0 -> 261 bytes
-rw-r--r--travis/test/fwdopt.json11
-rw-r--r--travis/test/fwdoptpp.asm146
-rw-r--r--travis/test/fwdoptpp.bin.tbin0 -> 257 bytes
-rw-r--r--travis/test/fwdoptpp.error.stderr1
-rw-r--r--travis/test/fwdoptpp.fatal.stderr1
-rw-r--r--travis/test/fwdoptpp.json39
-rw-r--r--travis/test/fwdoptpp.warning.bin.tbin0 -> 384 bytes
-rw-r--r--travis/test/fwdoptpp.warning.stderr1
-rw-r--r--travis/test/gotoff64.asm22
-rw-r--r--travis/test/gotoff64.json20
-rw-r--r--travis/test/gotoff64.o.tbin0 -> 832 bytes
-rw-r--r--travis/test/gotoff64.stderr4
-rw-r--r--travis/test/ifelse.asm46
-rw-r--r--travis/test/ifelse.bin.t1
-rw-r--r--travis/test/ifelse.json12
-rw-r--r--travis/test/ifelse.stderr4
-rw-r--r--travis/test/ifmacro.asm411
-rw-r--r--travis/test/ifmacro.bin.t29
-rw-r--r--travis/test/ifmacro.json11
-rw-r--r--travis/test/iftoken.asm315
-rw-r--r--travis/test/iftoken.bin.t26
-rw-r--r--travis/test/iftoken.json11
-rw-r--r--travis/test/imacro.asm6
-rw-r--r--travis/test/imacro.bin.t1
-rw-r--r--travis/test/imacro.json11
-rw-r--r--travis/test/imm64-o0.bin.tbin0 -> 372 bytes
-rw-r--r--travis/test/imm64-o0.stderr16
-rw-r--r--travis/test/imm64-o1.bin.tbin0 -> 372 bytes
-rw-r--r--travis/test/imm64-o1.stderr16
-rw-r--r--travis/test/imm64-ox.bin.tbin0 -> 346 bytes
-rw-r--r--travis/test/imm64-ox.stderr16
-rw-r--r--travis/test/imm64.asm56
-rw-r--r--travis/test/imm64.json31
-rw-r--r--travis/test/immwarn-no.bin.tbin0 -> 188 bytes
-rw-r--r--travis/test/immwarn-o.bin.tbin0 -> 161 bytes
-rw-r--r--travis/test/immwarn-o.stderr10
-rw-r--r--travis/test/immwarn-ono.bin.tbin0 -> 132 bytes
-rw-r--r--travis/test/immwarn.asm91
-rw-r--r--travis/test/immwarn.bin.tbin0 -> 222 bytes
-rw-r--r--travis/test/immwarn.json38
-rw-r--r--travis/test/immwarn.stderr11
-rw-r--r--travis/test/imul-nowarn.bin.tbin0 -> 652 bytes
-rw-r--r--travis/test/imul-warn.bin.tbin0 -> 1365 bytes
-rw-r--r--travis/test/imul-warn.stderr76
-rw-r--r--travis/test/imul.asm114
-rw-r--r--travis/test/imul.json20
-rw-r--r--travis/test/inc1.asm6
-rw-r--r--travis/test/inc2.asm8
-rw-r--r--travis/test/inc3.asm6
-rw-r--r--travis/test/inctest.asm13
-rw-r--r--travis/test/inctest.com.tbin0 -> 29 bytes
-rw-r--r--travis/test/inctest.json12
-rw-r--r--travis/test/insnlbl.asm10
-rw-r--r--travis/test/insnlbl.bin.tbin0 -> 16 bytes
-rw-r--r--travis/test/insnlbl.json11
-rw-r--r--travis/test/invlpga.asm8
-rw-r--r--travis/test/invlpga.bin.t1
-rw-r--r--travis/test/invlpga.json12
-rw-r--r--travis/test/jmp64.asm17
-rw-r--r--travis/test/jmp64.bin.t1
-rw-r--r--travis/test/jmp64.json11
-rw-r--r--travis/test/lar_lsl.asm122
-rw-r--r--travis/test/lar_lsl.bin.tbin0 -> 380 bytes
-rw-r--r--travis/test/lar_lsl.json11
-rw-r--r--travis/test/larlsl.asm21
-rw-r--r--travis/test/larlsl.bin.t1
-rw-r--r--travis/test/larlsl.json11
-rw-r--r--travis/test/lnxhello.asm49
-rw-r--r--travis/test/lnxhello.json11
-rw-r--r--travis/test/lnxhello.o.tbin0 -> 784 bytes
-rw-r--r--travis/test/local.asm18
-rw-r--r--travis/test/local.bin.t1
-rw-r--r--travis/test/local.json11
-rw-r--r--travis/test/loopoffs.asm9
-rw-r--r--travis/test/loopoffs.bin.t1
-rw-r--r--travis/test/loopoffs.json18
-rw-r--r--travis/test/macro-defaults-nowarn.stderr36
-rw-r--r--travis/test/macro-defaults-warn.stderr39
-rw-r--r--travis/test/macro-defaults.asm64
-rw-r--r--travis/test/macro-defaults.json20
-rw-r--r--travis/test/mmxsize.asm36
-rw-r--r--travis/test/mmxsize.bin.tbin0 -> 161 bytes
-rw-r--r--travis/test/mmxsize.json18
-rw-r--r--travis/test/mout.json13
-rw-r--r--travis/test/mout.stderr1
-rw-r--r--travis/test/movd.asm11
-rw-r--r--travis/test/movd.bin.tbin0 -> 28 bytes
-rw-r--r--travis/test/movd.json12
-rw-r--r--travis/test/movimm-o0.bin.tbin0 -> 128 bytes
-rw-r--r--travis/test/movimm-o0.stderr10
-rw-r--r--travis/test/movimm-ox.bin.t1
-rw-r--r--travis/test/movimm-ox.stderr10
-rw-r--r--travis/test/movimm.asm28
-rw-r--r--travis/test/movimm.json22
-rw-r--r--travis/test/movnti.asm7
-rw-r--r--travis/test/movnti.bin.t1
-rw-r--r--travis/test/movnti.json11
-rw-r--r--travis/test/mpx-64.asm119
-rw-r--r--travis/test/mpx-64.json12
-rw-r--r--travis/test/mpx-64.o.tbin0 -> 1136 bytes
-rw-r--r--travis/test/mpx.asm89
-rw-r--r--travis/test/mpx.json12
-rw-r--r--travis/test/mpx.o.tbin0 -> 848 bytes
-rw-r--r--travis/test/multisection-elf32.o.tbin0 -> 1680 bytes
-rw-r--r--travis/test/multisection-elf32.stderr1
-rw-r--r--travis/test/multisection-elf64.o.tbin0 -> 2320 bytes
-rw-r--r--travis/test/multisection-elf64.stderr1
-rw-r--r--travis/test/multisection.asm96
-rw-r--r--travis/test/multisection.bin.tbin0 -> 205 bytes
-rw-r--r--travis/test/multisection.json31
-rw-r--r--travis/test/multisection.stderr1
-rw-r--r--travis/test/nasmformat-elf32.o.tbin0 -> 464 bytes
-rw-r--r--travis/test/nasmformat-elf64.o.tbin0 -> 608 bytes
-rw-r--r--travis/test/nasmformat-macho32.o.tbin0 -> 296 bytes
-rw-r--r--travis/test/nasmformat-macho64.o.tbin0 -> 348 bytes
-rw-r--r--travis/test/nasmformat.asm17
-rw-r--r--travis/test/nasmformat.bin.t1
-rw-r--r--travis/test/nasmformat.json44
-rw-r--r--travis/test/newrdwr.asm22
-rw-r--r--travis/test/newrdwr.bin.t1
-rw-r--r--travis/test/newrdwr.json11
-rw-r--r--travis/test/nop.asm14
-rw-r--r--travis/test/nop.bin.t1
-rw-r--r--travis/test/nop.json12
-rw-r--r--travis/test/null.asm3
-rw-r--r--travis/test/null.bin.t0
-rw-r--r--travis/test/null.json11
-rw-r--r--travis/test/obj.asm87
-rw-r--r--travis/test/obj.json19
-rw-r--r--travis/test/obj.o.tbin0 -> 480 bytes
-rw-r--r--travis/test/obj.stderr3
-rw-r--r--travis/test/optimization-o0.bin.tbin0 -> 1764 bytes
-rw-r--r--travis/test/optimization-o1.bin.tbin0 -> 1741 bytes
-rw-r--r--travis/test/optimization-ox.bin.tbin0 -> 1732 bytes
-rw-r--r--travis/test/optimization.asm100
-rw-r--r--travis/test/optimization.json30
-rw-r--r--travis/test/org.asm15
-rw-r--r--travis/test/org.json19
-rw-r--r--travis/test/org.stderr1
-rw-r--r--travis/test/pinsr.json29
-rw-r--r--travis/test/pinsr16.asm52
-rw-r--r--travis/test/pinsr16.bin.tbin0 -> 220 bytes
-rw-r--r--travis/test/pinsr32.asm52
-rw-r--r--travis/test/pinsr32.bin.tbin0 -> 220 bytes
-rw-r--r--travis/test/pinsr64.asm67
-rw-r--r--travis/test/pinsr64.bin.tbin0 -> 296 bytes
-rw-r--r--travis/test/popcnt.asm29
-rw-r--r--travis/test/popcnt.bin.t1
-rw-r--r--travis/test/popcnt.json11
-rw-r--r--travis/test/prefix66.asm26
-rw-r--r--travis/test/prefix66.bin.t1
-rw-r--r--travis/test/prefix66.json12
-rw-r--r--travis/test/prefix66.stderr6
-rw-r--r--travis/test/pushseg.asm17
-rw-r--r--travis/test/pushseg.bin.t1
-rw-r--r--travis/test/pushseg.json11
-rw-r--r--travis/test/r13.asm13
-rw-r--r--travis/test/r13.bin.tbin0 -> 64 bytes
-rw-r--r--travis/test/r13.json11
-rw-r--r--travis/test/radix.asm52
-rw-r--r--travis/test/radix.bin.tbin0 -> 127 bytes
-rw-r--r--travis/test/radix.json11
-rw-r--r--travis/test/riprel.asm5357
-rw-r--r--travis/test/riprel.bin.tbin0 -> 43488 bytes
-rw-r--r--travis/test/riprel.json19
-rw-r--r--travis/test/riprel.stderr11920
-rw-r--r--travis/test/riprel2.asm8
-rw-r--r--travis/test/riprel2.bin.tbin0 -> 38 bytes
-rw-r--r--travis/test/riprel2.json18
-rw-r--r--travis/test/sha-64.asm29
-rw-r--r--travis/test/sha-64.json12
-rw-r--r--travis/test/sha-64.o.tbin0 -> 688 bytes
-rw-r--r--travis/test/sha.asm31
-rw-r--r--travis/test/sha.json12
-rw-r--r--travis/test/sha.o.tbin0 -> 544 bytes
-rw-r--r--travis/test/smartalign.json29
-rw-r--r--travis/test/smartalign16.asm34
-rw-r--r--travis/test/smartalign16.bin.tbin0 -> 1027 bytes
-rw-r--r--travis/test/smartalign32.asm34
-rw-r--r--travis/test/smartalign32.bin.tbin0 -> 1026 bytes
-rw-r--r--travis/test/smartalign64.asm34
-rw-r--r--travis/test/smartalign64.bin.tbin0 -> 1026 bytes
-rw-r--r--travis/test/struc.asm31
-rw-r--r--travis/test/struc.bin.tbin0 -> 86 bytes
-rw-r--r--travis/test/struc.json12
-rw-r--r--travis/test/test67.asm35
-rw-r--r--travis/test/test67.bin.tbin0 -> 98 bytes
-rw-r--r--travis/test/test67.json18
-rw-r--r--travis/test/testdos.asm11
-rw-r--r--travis/test/testdos.bin.tbin0 -> 8 bytes
-rw-r--r--travis/test/testdos.json11
-rw-r--r--travis/test/testnos3.asm971
-rw-r--r--travis/test/testnos3.bin.tbin0 -> 5152 bytes
-rw-r--r--travis/test/testnos3.json12
-rw-r--r--travis/test/testnos3.stderr1
-rw-r--r--travis/test/tmap.asm1448
-rw-r--r--travis/test/tmap.json10
-rw-r--r--travis/test/tmap.o.stderr1
-rw-r--r--travis/test/tmap.o.tbin0 -> 6752 bytes
-rw-r--r--travis/test/uscore.asm14
-rw-r--r--travis/test/uscore.bin.tbin0 -> 56 bytes
-rw-r--r--travis/test/uscore.json11
-rw-r--r--travis/test/utf-error.stderr18
-rw-r--r--travis/test/utf.asm80
-rw-r--r--travis/test/utf.bin.tbin0 -> 369 bytes
-rw-r--r--travis/test/utf.json20
-rw-r--r--travis/test/vmread.asm24
-rw-r--r--travis/test/vmread.bin.tbin0 -> 60 bytes
-rw-r--r--travis/test/vmread.json20
-rw-r--r--travis/test/vmread.stderr6
-rw-r--r--travis/test/weirdpaste.asm26
-rw-r--r--travis/test/weirdpaste.bin.tbin0 -> 42 bytes
-rw-r--r--travis/test/weirdpaste.i.t30
-rw-r--r--travis/test/weirdpaste.json18
-rw-r--r--travis/test/xchg.asm93
-rw-r--r--travis/test/xchg.bin.t1
-rw-r--r--travis/test/xchg.json18
-rw-r--r--travis/test/xcrypt.asm24
-rw-r--r--travis/test/xcrypt.bin.t1
-rw-r--r--travis/test/xcrypt.json11
-rw-r--r--travis/test/zerobyte.asm21
-rw-r--r--travis/test/zerobyte.bin.tbin0 -> 54 bytes
-rw-r--r--travis/test/zerobyte.json11
-rw-r--r--version2
495 files changed, 40975 insertions, 3637 deletions
diff --git a/.gitignore b/.gitignore
index d55e31f8..7afbbe25 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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.
diff --git a/aclocal.m4 b/aclocal.m4
index 1af2dd5d..21d53743 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -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;
}
diff --git a/asm/eval.c b/asm/eval.c
index 7e727a4e..9179c0bf 100644
--- a/asm/eval.c
+++ b/asm/eval.c
@@ -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);
diff --git a/asm/eval.h b/asm/eval.h
index 7af17eb8..ba471a22 100644
--- a/asm/eval.h
+++ b/asm/eval.h
@@ -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(&ltab, 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
diff --git a/asm/nasm.c b/asm/nasm.c
index 1c5a5fc5..6800a5b6 100644
--- a/asm/nasm.c
+++ b/asm/nasm.c
@@ -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, &currentfile);
+ src_get(&lineno, &currentfile);
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(&section_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(&section_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
new file mode 100644
index 00000000..2ba4aa2d
--- /dev/null
+++ b/travis/test/_file_.bin.t
Binary files differ
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
new file mode 100644
index 00000000..b9166a2d
--- /dev/null
+++ b/travis/test/addr64x.bin.t
Binary files differ
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
new file mode 100644
index 00000000..99ec34c4
--- /dev/null
+++ b/travis/test/alonesym-obj.obj.t
Binary files differ
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
new file mode 100644
index 00000000..370c362e
--- /dev/null
+++ b/travis/test/aoutso-o0.o.t
Binary files differ
diff --git a/travis/test/aoutso-ox.o.t b/travis/test/aoutso-ox.o.t
new file mode 100644
index 00000000..6d899e4e
--- /dev/null
+++ b/travis/test/aoutso-ox.o.t
Binary files differ
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
new file mode 100644
index 00000000..49132e05
--- /dev/null
+++ b/travis/test/aouttest-o0.o.t
Binary files differ
diff --git a/travis/test/aouttest-ox.o.t b/travis/test/aouttest-ox.o.t
new file mode 100644
index 00000000..9b282a04
--- /dev/null
+++ b/travis/test/aouttest-ox.o.t
Binary files differ
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
new file mode 100644
index 00000000..d24559b0
--- /dev/null
+++ b/travis/test/avx.bin.t
Binary files differ
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
new file mode 100644
index 00000000..36fdc299
--- /dev/null
+++ b/travis/test/avx005.bin.t
Binary files differ
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
new file mode 100644
index 00000000..aa4c5426
--- /dev/null
+++ b/travis/test/avx512cd.bin.t
Binary files differ
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
new file mode 100644
index 00000000..704e84fb
--- /dev/null
+++ b/travis/test/avx512er.bin.t
Binary files differ
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
new file mode 100644
index 00000000..e84cdd49
--- /dev/null
+++ b/travis/test/avx512pf.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9aab2fa2
--- /dev/null
+++ b/travis/test/bcd.bin.t
Binary files differ
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
new file mode 100644
index 00000000..f6931424
--- /dev/null
+++ b/travis/test/binexe.exe.t
Binary files differ
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
new file mode 100644
index 00000000..dffd8c99
--- /dev/null
+++ b/travis/test/bintest-o0.bin.t
Binary files differ
diff --git a/travis/test/bintest-ox.bin.t b/travis/test/bintest-ox.bin.t
new file mode 100644
index 00000000..9758ff8c
--- /dev/null
+++ b/travis/test/bintest-ox.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9c0f4d4d
--- /dev/null
+++ b/travis/test/br2003451.bin.t
Binary files differ
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
new file mode 100644
index 00000000..b2c18840
--- /dev/null
+++ b/travis/test/br2030823.bin.t
Binary files differ
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
new file mode 100644
index 00000000..a56a4039
--- /dev/null
+++ b/travis/test/br2496848.bin.t
Binary files differ
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
new file mode 100644
index 00000000..c979c7d5
--- /dev/null
+++ b/travis/test/br3005117.o.t
Binary files differ
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
new file mode 100644
index 00000000..83aa34c8
--- /dev/null
+++ b/travis/test/br3041451.bin.t
Binary files differ
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
new file mode 100644
index 00000000..be139fb2
--- /dev/null
+++ b/travis/test/br3066383.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9709a979
--- /dev/null
+++ b/travis/test/br3109604.bin.t
Binary files differ
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
new file mode 100644
index 00000000..877207c4
--- /dev/null
+++ b/travis/test/br3385573.bin.t
Binary files differ
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
new file mode 100644
index 00000000..60203914
--- /dev/null
+++ b/travis/test/br3392252.bin.t
Binary files differ
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
new file mode 100644
index 00000000..e8c03c58
--- /dev/null
+++ b/travis/test/br3392259.o.t
Binary files differ
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
new file mode 100644
index 00000000..66ef4986
--- /dev/null
+++ b/travis/test/br890790.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9ba6a441
--- /dev/null
+++ b/travis/test/br978756.o.t
Binary files differ
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
new file mode 100644
index 00000000..7474e3e6
--- /dev/null
+++ b/travis/test/elfso-o0.o.t
Binary files differ
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
new file mode 100644
index 00000000..1536fedb
--- /dev/null
+++ b/travis/test/elfso-ox.o.t
Binary files differ
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
new file mode 100644
index 00000000..60336dcd
--- /dev/null
+++ b/travis/test/elif.o.t
Binary files differ
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
new file mode 100644
index 00000000..b4034a9d
--- /dev/null
+++ b/travis/test/expimp-o0.bin.t
Binary files differ
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
new file mode 100644
index 00000000..161df87f
--- /dev/null
+++ b/travis/test/expimp-o1.bin.t
Binary files differ
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
new file mode 100644
index 00000000..11c0d01d
--- /dev/null
+++ b/travis/test/expimp-ox.bin.t
Binary files differ
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
new file mode 100644
index 00000000..3a688d6c
--- /dev/null
+++ b/travis/test/float.bin.t
Binary files differ
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
new file mode 100644
index 00000000..b3a0f372
--- /dev/null
+++ b/travis/test/float8.bin.t
Binary files differ
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
new file mode 100644
index 00000000..f9d0bdb9
--- /dev/null
+++ b/travis/test/floatb.bin.t
Binary files differ
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
new file mode 100644
index 00000000..e8e37a4c
--- /dev/null
+++ b/travis/test/floatexp-o0.bin.t
Binary files differ
diff --git a/travis/test/floatexp-ox.bin.t b/travis/test/floatexp-ox.bin.t
new file mode 100644
index 00000000..32d1b9f8
--- /dev/null
+++ b/travis/test/floatexp-ox.bin.t
Binary files differ
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
new file mode 100644
index 00000000..146fb738
--- /dev/null
+++ b/travis/test/floatize.bin.t
Binary files differ
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
new file mode 100644
index 00000000..6510a2a0
--- /dev/null
+++ b/travis/test/floattest.o.t
Binary files differ
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
new file mode 100644
index 00000000..1247d35f
--- /dev/null
+++ b/travis/test/fwdopt.bin.t
Binary files differ
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
new file mode 100644
index 00000000..d9ede461
--- /dev/null
+++ b/travis/test/fwdoptpp.bin.t
Binary files differ
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
new file mode 100644
index 00000000..808c5a28
--- /dev/null
+++ b/travis/test/fwdoptpp.warning.bin.t
Binary files differ
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
new file mode 100644
index 00000000..f6a84579
--- /dev/null
+++ b/travis/test/gotoff64.o.t
Binary files differ
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
new file mode 100644
index 00000000..9a885f65
--- /dev/null
+++ b/travis/test/imm64-o0.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9a885f65
--- /dev/null
+++ b/travis/test/imm64-o1.bin.t
Binary files differ
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
new file mode 100644
index 00000000..93e1e633
--- /dev/null
+++ b/travis/test/imm64-ox.bin.t
Binary files differ
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
new file mode 100644
index 00000000..3896674e
--- /dev/null
+++ b/travis/test/immwarn-no.bin.t
Binary files differ
diff --git a/travis/test/immwarn-o.bin.t b/travis/test/immwarn-o.bin.t
new file mode 100644
index 00000000..39723cd1
--- /dev/null
+++ b/travis/test/immwarn-o.bin.t
Binary files differ
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
new file mode 100644
index 00000000..a1dd76ac
--- /dev/null
+++ b/travis/test/immwarn-ono.bin.t
Binary files differ
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
new file mode 100644
index 00000000..71d1dc36
--- /dev/null
+++ b/travis/test/immwarn.bin.t
Binary files differ
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
new file mode 100644
index 00000000..c7fbb984
--- /dev/null
+++ b/travis/test/imul-nowarn.bin.t
Binary files differ
diff --git a/travis/test/imul-warn.bin.t b/travis/test/imul-warn.bin.t
new file mode 100644
index 00000000..967d354b
--- /dev/null
+++ b/travis/test/imul-warn.bin.t
Binary files differ
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
new file mode 100644
index 00000000..353a2873
--- /dev/null
+++ b/travis/test/inctest.com.t
Binary files differ
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
new file mode 100644
index 00000000..eec01400
--- /dev/null
+++ b/travis/test/insnlbl.bin.t
Binary files differ
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
new file mode 100644
index 00000000..f0fc6823
--- /dev/null
+++ b/travis/test/lar_lsl.bin.t
Binary files differ
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
new file mode 100644
index 00000000..d0532cd7
--- /dev/null
+++ b/travis/test/lnxhello.o.t
Binary files differ
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
new file mode 100644
index 00000000..00270fa5
--- /dev/null
+++ b/travis/test/mmxsize.bin.t
Binary files differ
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
new file mode 100644
index 00000000..efcf054b
--- /dev/null
+++ b/travis/test/movd.bin.t
Binary files differ
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
new file mode 100644
index 00000000..c24f103f
--- /dev/null
+++ b/travis/test/movimm-o0.bin.t
Binary files differ
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
new file mode 100644
index 00000000..ef86fc07
--- /dev/null
+++ b/travis/test/mpx-64.o.t
Binary files differ
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
new file mode 100644
index 00000000..ea6d854f
--- /dev/null
+++ b/travis/test/mpx.o.t
Binary files differ
diff --git a/travis/test/multisection-elf32.o.t b/travis/test/multisection-elf32.o.t
new file mode 100644
index 00000000..0568615b
--- /dev/null
+++ b/travis/test/multisection-elf32.o.t
Binary files differ
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
new file mode 100644
index 00000000..64f250a5
--- /dev/null
+++ b/travis/test/multisection-elf64.o.t
Binary files differ
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
new file mode 100644
index 00000000..47933b3f
--- /dev/null
+++ b/travis/test/multisection.bin.t
Binary files differ
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
new file mode 100644
index 00000000..3a243d2e
--- /dev/null
+++ b/travis/test/nasmformat-elf32.o.t
Binary files differ
diff --git a/travis/test/nasmformat-elf64.o.t b/travis/test/nasmformat-elf64.o.t
new file mode 100644
index 00000000..19b15907
--- /dev/null
+++ b/travis/test/nasmformat-elf64.o.t
Binary files differ
diff --git a/travis/test/nasmformat-macho32.o.t b/travis/test/nasmformat-macho32.o.t
new file mode 100644
index 00000000..0de7f14a
--- /dev/null
+++ b/travis/test/nasmformat-macho32.o.t
Binary files differ
diff --git a/travis/test/nasmformat-macho64.o.t b/travis/test/nasmformat-macho64.o.t
new file mode 100644
index 00000000..619da9ff
--- /dev/null
+++ b/travis/test/nasmformat-macho64.o.t
Binary files differ
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
new file mode 100644
index 00000000..a91f3ad1
--- /dev/null
+++ b/travis/test/obj.o.t
Binary files differ
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
new file mode 100644
index 00000000..4fd5ba59
--- /dev/null
+++ b/travis/test/optimization-o0.bin.t
Binary files differ
diff --git a/travis/test/optimization-o1.bin.t b/travis/test/optimization-o1.bin.t
new file mode 100644
index 00000000..a630ec2c
--- /dev/null
+++ b/travis/test/optimization-o1.bin.t
Binary files differ
diff --git a/travis/test/optimization-ox.bin.t b/travis/test/optimization-ox.bin.t
new file mode 100644
index 00000000..d21baf8d
--- /dev/null
+++ b/travis/test/optimization-ox.bin.t
Binary files differ
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
new file mode 100644
index 00000000..f41d0686
--- /dev/null
+++ b/travis/test/pinsr16.bin.t
Binary files differ
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
new file mode 100644
index 00000000..dcfe1a1f
--- /dev/null
+++ b/travis/test/pinsr32.bin.t
Binary files differ
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
new file mode 100644
index 00000000..b460b97b
--- /dev/null
+++ b/travis/test/pinsr64.bin.t
Binary files differ
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
new file mode 100644
index 00000000..ea443fc7
--- /dev/null
+++ b/travis/test/r13.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9056a463
--- /dev/null
+++ b/travis/test/radix.bin.t
Binary files differ
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
new file mode 100644
index 00000000..36d54ad5
--- /dev/null
+++ b/travis/test/riprel.bin.t
Binary files differ
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
new file mode 100644
index 00000000..a521782e
--- /dev/null
+++ b/travis/test/riprel2.bin.t
Binary files differ
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
new file mode 100644
index 00000000..d65f795e
--- /dev/null
+++ b/travis/test/sha-64.o.t
Binary files differ
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
new file mode 100644
index 00000000..587836cc
--- /dev/null
+++ b/travis/test/sha.o.t
Binary files differ
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
new file mode 100644
index 00000000..5718b94e
--- /dev/null
+++ b/travis/test/smartalign16.bin.t
Binary files differ
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
new file mode 100644
index 00000000..5b44bf9a
--- /dev/null
+++ b/travis/test/smartalign32.bin.t
Binary files differ
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
new file mode 100644
index 00000000..da21bb2f
--- /dev/null
+++ b/travis/test/smartalign64.bin.t
Binary files differ
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
new file mode 100644
index 00000000..1efaa26f
--- /dev/null
+++ b/travis/test/struc.bin.t
Binary files differ
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
new file mode 100644
index 00000000..b3723e95
--- /dev/null
+++ b/travis/test/test67.bin.t
Binary files differ
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
new file mode 100644
index 00000000..692abb39
--- /dev/null
+++ b/travis/test/testdos.bin.t
Binary files differ
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
new file mode 100644
index 00000000..eb44b359
--- /dev/null
+++ b/travis/test/testnos3.bin.t
Binary files differ
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
new file mode 100644
index 00000000..8ac43ab5
--- /dev/null
+++ b/travis/test/tmap.o.t
Binary files differ
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
new file mode 100644
index 00000000..40326154
--- /dev/null
+++ b/travis/test/uscore.bin.t
Binary files differ
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
new file mode 100644
index 00000000..a6c34215
--- /dev/null
+++ b/travis/test/utf.bin.t
Binary files differ
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
new file mode 100644
index 00000000..37d3cbcb
--- /dev/null
+++ b/travis/test/vmread.bin.t
Binary files differ
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
new file mode 100644
index 00000000..db0468ed
--- /dev/null
+++ b/travis/test/weirdpaste.bin.t
Binary files differ
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
new file mode 100644
index 00000000..9a85eea0
--- /dev/null
+++ b/travis/test/zerobyte.bin.t
Binary files differ
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" }
+ ]
+ }
+]
diff --git a/version b/version
index 2a616f00..91d11b10 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-2.14.01rc5
+2.15rc0