wa-lang.org/wazero@v1.0.2/internal/asm/amd64/impl_5_test.go (about) 1 package amd64 2 3 import ( 4 "encoding/binary" 5 "math" 6 "testing" 7 8 "wa-lang.org/wazero/internal/asm" 9 "wa-lang.org/wazero/internal/testing/require" 10 ) 11 12 func TestAssemblerImpl_EncodeConstToMemory(t *testing.T) { 13 t.Run("error", func(t *testing.T) { 14 tests := []struct { 15 n *nodeImpl 16 expErr string 17 }{ 18 { 19 n: &nodeImpl{instruction: ADDL, types: operandTypesConstToMemory, dstReg: RegAX}, 20 expErr: "ADDL is unsupported for from:const,to:memory type", 21 }, 22 { 23 n: &nodeImpl{ 24 instruction: MOVB, types: operandTypesConstToMemory, 25 srcConst: math.MaxInt16, 26 dstReg: RegAX, dstConst: 0xff_ff, 27 }, 28 expErr: "too large load target const 32767 for MOVB", 29 }, 30 { 31 n: &nodeImpl{ 32 instruction: MOVL, types: operandTypesConstToMemory, 33 srcConst: math.MaxInt64, 34 dstReg: RegAX, dstConst: 0xff_ff, 35 }, 36 expErr: "too large load target const 9223372036854775807 for MOVL", 37 }, 38 } 39 40 for _, tc := range tests { 41 a := NewAssembler() 42 err := a.encodeConstToMemory(tc.n) 43 require.EqualError(t, err, tc.expErr) 44 } 45 }) 46 47 tests := []struct { 48 name string 49 inst asm.Instruction 50 baseReg asm.Register 51 c, offset int64 52 exp []byte 53 }{ 54 {name: "MOVB/c=0/base=AX/offset=0x0", inst: MOVB, c: 0, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0x0}}, 55 {name: "MOVB/c=1/base=AX/offset=0x0", inst: MOVB, c: 1, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0x1}}, 56 {name: "MOVB/c=-1/base=AX/offset=0x0", inst: MOVB, c: -1, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0xff}}, 57 {name: "MOVB/c=100/base=AX/offset=0x0", inst: MOVB, c: 100, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0x64}}, 58 {name: "MOVB/c=-100/base=AX/offset=0x0", inst: MOVB, c: -100, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0x9c}}, 59 {name: "MOVB/c=127/base=AX/offset=0x0", inst: MOVB, c: 127, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0x7f}}, 60 {name: "MOVB/c=-128/base=AX/offset=0x0", inst: MOVB, c: -128, baseReg: RegAX, offset: 0x0, exp: []byte{0xc6, 0x0, 0x80}}, 61 {name: "MOVB/c=0/base=AX/offset=0x1", inst: MOVB, c: 0, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0x0}}, 62 {name: "MOVB/c=1/base=AX/offset=0x1", inst: MOVB, c: 1, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0x1}}, 63 {name: "MOVB/c=-1/base=AX/offset=0x1", inst: MOVB, c: -1, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0xff}}, 64 {name: "MOVB/c=100/base=AX/offset=0x1", inst: MOVB, c: 100, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0x64}}, 65 {name: "MOVB/c=-100/base=AX/offset=0x1", inst: MOVB, c: -100, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0x9c}}, 66 {name: "MOVB/c=127/base=AX/offset=0x1", inst: MOVB, c: 127, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0x7f}}, 67 {name: "MOVB/c=-128/base=AX/offset=0x1", inst: MOVB, c: -128, baseReg: RegAX, offset: 0x1, exp: []byte{0xc6, 0x40, 0x1, 0x80}}, 68 {name: "MOVB/c=0/base=AX/offset=-0x1", inst: MOVB, c: 0, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0x0}}, 69 {name: "MOVB/c=1/base=AX/offset=-0x1", inst: MOVB, c: 1, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0x1}}, 70 {name: "MOVB/c=-1/base=AX/offset=-0x1", inst: MOVB, c: -1, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0xff}}, 71 {name: "MOVB/c=100/base=AX/offset=-0x1", inst: MOVB, c: 100, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0x64}}, 72 {name: "MOVB/c=-100/base=AX/offset=-0x1", inst: MOVB, c: -100, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0x9c}}, 73 {name: "MOVB/c=127/base=AX/offset=-0x1", inst: MOVB, c: 127, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0x7f}}, 74 {name: "MOVB/c=-128/base=AX/offset=-0x1", inst: MOVB, c: -128, baseReg: RegAX, offset: -0x1, exp: []byte{0xc6, 0x40, 0xff, 0x80}}, 75 {name: "MOVB/c=0/base=AX/offset=0x4db", inst: MOVB, c: 0, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0}}, 76 {name: "MOVB/c=1/base=AX/offset=0x4db", inst: MOVB, c: 1, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x1}}, 77 {name: "MOVB/c=-1/base=AX/offset=0x4db", inst: MOVB, c: -1, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff}}, 78 {name: "MOVB/c=100/base=AX/offset=0x4db", inst: MOVB, c: 100, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x64}}, 79 {name: "MOVB/c=-100/base=AX/offset=0x4db", inst: MOVB, c: -100, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x9c}}, 80 {name: "MOVB/c=127/base=AX/offset=0x4db", inst: MOVB, c: 127, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x7f}}, 81 {name: "MOVB/c=-128/base=AX/offset=0x4db", inst: MOVB, c: -128, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x80}}, 82 {name: "MOVB/c=0/base=AX/offset=-0x4d2", inst: MOVB, c: 0, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0}}, 83 {name: "MOVB/c=1/base=AX/offset=-0x4d2", inst: MOVB, c: 1, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x1}}, 84 {name: "MOVB/c=-1/base=AX/offset=-0x4d2", inst: MOVB, c: -1, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff}}, 85 {name: "MOVB/c=100/base=AX/offset=-0x4d2", inst: MOVB, c: 100, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x64}}, 86 {name: "MOVB/c=-100/base=AX/offset=-0x4d2", inst: MOVB, c: -100, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x9c}}, 87 {name: "MOVB/c=127/base=AX/offset=-0x4d2", inst: MOVB, c: 127, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x7f}}, 88 {name: "MOVB/c=-128/base=AX/offset=-0x4d2", inst: MOVB, c: -128, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x80}}, 89 {name: "MOVB/c=0/base=AX/offset=0x7fffffff", inst: MOVB, c: 0, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0}}, 90 {name: "MOVB/c=1/base=AX/offset=0x7fffffff", inst: MOVB, c: 1, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x1}}, 91 {name: "MOVB/c=-1/base=AX/offset=0x7fffffff", inst: MOVB, c: -1, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff}}, 92 {name: "MOVB/c=100/base=AX/offset=0x7fffffff", inst: MOVB, c: 100, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x64}}, 93 {name: "MOVB/c=-100/base=AX/offset=0x7fffffff", inst: MOVB, c: -100, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x9c}}, 94 {name: "MOVB/c=127/base=AX/offset=0x7fffffff", inst: MOVB, c: 127, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x7f}}, 95 {name: "MOVB/c=-128/base=AX/offset=0x7fffffff", inst: MOVB, c: -128, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x80}}, 96 {name: "MOVB/c=0/base=AX/offset=-0x80000000", inst: MOVB, c: 0, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0}}, 97 {name: "MOVB/c=1/base=AX/offset=-0x80000000", inst: MOVB, c: 1, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x1}}, 98 {name: "MOVB/c=-1/base=AX/offset=-0x80000000", inst: MOVB, c: -1, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff}}, 99 {name: "MOVB/c=100/base=AX/offset=-0x80000000", inst: MOVB, c: 100, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x64}}, 100 {name: "MOVB/c=-100/base=AX/offset=-0x80000000", inst: MOVB, c: -100, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x9c}}, 101 {name: "MOVB/c=127/base=AX/offset=-0x80000000", inst: MOVB, c: 127, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x7f}}, 102 {name: "MOVB/c=-128/base=AX/offset=-0x80000000", inst: MOVB, c: -128, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80}}, 103 {name: "MOVB/c=0/base=AX/offset=0x7fff", inst: MOVB, c: 0, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 104 {name: "MOVB/c=1/base=AX/offset=0x7fff", inst: MOVB, c: 1, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x1}}, 105 {name: "MOVB/c=-1/base=AX/offset=0x7fff", inst: MOVB, c: -1, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff}}, 106 {name: "MOVB/c=100/base=AX/offset=0x7fff", inst: MOVB, c: 100, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x64}}, 107 {name: "MOVB/c=-100/base=AX/offset=0x7fff", inst: MOVB, c: -100, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x9c}}, 108 {name: "MOVB/c=127/base=AX/offset=0x7fff", inst: MOVB, c: 127, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x7f}}, 109 {name: "MOVB/c=-128/base=AX/offset=0x7fff", inst: MOVB, c: -128, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x80}}, 110 {name: "MOVB/c=0/base=AX/offset=-0x8000", inst: MOVB, c: 0, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0}}, 111 {name: "MOVB/c=1/base=AX/offset=-0x8000", inst: MOVB, c: 1, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x1}}, 112 {name: "MOVB/c=-1/base=AX/offset=-0x8000", inst: MOVB, c: -1, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff}}, 113 {name: "MOVB/c=100/base=AX/offset=-0x8000", inst: MOVB, c: 100, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x64}}, 114 {name: "MOVB/c=-100/base=AX/offset=-0x8000", inst: MOVB, c: -100, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x9c}}, 115 {name: "MOVB/c=127/base=AX/offset=-0x8000", inst: MOVB, c: 127, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x7f}}, 116 {name: "MOVB/c=-128/base=AX/offset=-0x8000", inst: MOVB, c: -128, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x80}}, 117 {name: "MOVB/c=0/base=R8/offset=0x0", inst: MOVB, c: 0, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0x0}}, 118 {name: "MOVB/c=1/base=R8/offset=0x0", inst: MOVB, c: 1, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0x1}}, 119 {name: "MOVB/c=-1/base=R8/offset=0x0", inst: MOVB, c: -1, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0xff}}, 120 {name: "MOVB/c=100/base=R8/offset=0x0", inst: MOVB, c: 100, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0x64}}, 121 {name: "MOVB/c=-100/base=R8/offset=0x0", inst: MOVB, c: -100, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0x9c}}, 122 {name: "MOVB/c=127/base=R8/offset=0x0", inst: MOVB, c: 127, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0x7f}}, 123 {name: "MOVB/c=-128/base=R8/offset=0x0", inst: MOVB, c: -128, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc6, 0x0, 0x80}}, 124 {name: "MOVB/c=0/base=R8/offset=0x1", inst: MOVB, c: 0, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0x0}}, 125 {name: "MOVB/c=1/base=R8/offset=0x1", inst: MOVB, c: 1, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0x1}}, 126 {name: "MOVB/c=-1/base=R8/offset=0x1", inst: MOVB, c: -1, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0xff}}, 127 {name: "MOVB/c=100/base=R8/offset=0x1", inst: MOVB, c: 100, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0x64}}, 128 {name: "MOVB/c=-100/base=R8/offset=0x1", inst: MOVB, c: -100, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0x9c}}, 129 {name: "MOVB/c=127/base=R8/offset=0x1", inst: MOVB, c: 127, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0x7f}}, 130 {name: "MOVB/c=-128/base=R8/offset=0x1", inst: MOVB, c: -128, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc6, 0x40, 0x1, 0x80}}, 131 {name: "MOVB/c=0/base=R8/offset=-0x1", inst: MOVB, c: 0, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0x0}}, 132 {name: "MOVB/c=1/base=R8/offset=-0x1", inst: MOVB, c: 1, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0x1}}, 133 {name: "MOVB/c=-1/base=R8/offset=-0x1", inst: MOVB, c: -1, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0xff}}, 134 {name: "MOVB/c=100/base=R8/offset=-0x1", inst: MOVB, c: 100, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0x64}}, 135 {name: "MOVB/c=-100/base=R8/offset=-0x1", inst: MOVB, c: -100, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0x9c}}, 136 {name: "MOVB/c=127/base=R8/offset=-0x1", inst: MOVB, c: 127, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0x7f}}, 137 {name: "MOVB/c=-128/base=R8/offset=-0x1", inst: MOVB, c: -128, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc6, 0x40, 0xff, 0x80}}, 138 {name: "MOVB/c=0/base=R8/offset=0x4db", inst: MOVB, c: 0, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0}}, 139 {name: "MOVB/c=1/base=R8/offset=0x4db", inst: MOVB, c: 1, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x1}}, 140 {name: "MOVB/c=-1/base=R8/offset=0x4db", inst: MOVB, c: -1, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff}}, 141 {name: "MOVB/c=100/base=R8/offset=0x4db", inst: MOVB, c: 100, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x64}}, 142 {name: "MOVB/c=-100/base=R8/offset=0x4db", inst: MOVB, c: -100, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x9c}}, 143 {name: "MOVB/c=127/base=R8/offset=0x4db", inst: MOVB, c: 127, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x7f}}, 144 {name: "MOVB/c=-128/base=R8/offset=0x4db", inst: MOVB, c: -128, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc6, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x80}}, 145 {name: "MOVB/c=0/base=R8/offset=-0x4d2", inst: MOVB, c: 0, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0}}, 146 {name: "MOVB/c=1/base=R8/offset=-0x4d2", inst: MOVB, c: 1, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x1}}, 147 {name: "MOVB/c=-1/base=R8/offset=-0x4d2", inst: MOVB, c: -1, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff}}, 148 {name: "MOVB/c=100/base=R8/offset=-0x4d2", inst: MOVB, c: 100, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x64}}, 149 {name: "MOVB/c=-100/base=R8/offset=-0x4d2", inst: MOVB, c: -100, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x9c}}, 150 {name: "MOVB/c=127/base=R8/offset=-0x4d2", inst: MOVB, c: 127, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x7f}}, 151 {name: "MOVB/c=-128/base=R8/offset=-0x4d2", inst: MOVB, c: -128, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc6, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x80}}, 152 {name: "MOVB/c=0/base=R8/offset=0x7fffffff", inst: MOVB, c: 0, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0}}, 153 {name: "MOVB/c=1/base=R8/offset=0x7fffffff", inst: MOVB, c: 1, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x1}}, 154 {name: "MOVB/c=-1/base=R8/offset=0x7fffffff", inst: MOVB, c: -1, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff}}, 155 {name: "MOVB/c=100/base=R8/offset=0x7fffffff", inst: MOVB, c: 100, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x64}}, 156 {name: "MOVB/c=-100/base=R8/offset=0x7fffffff", inst: MOVB, c: -100, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x9c}}, 157 {name: "MOVB/c=127/base=R8/offset=0x7fffffff", inst: MOVB, c: 127, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x7f}}, 158 {name: "MOVB/c=-128/base=R8/offset=0x7fffffff", inst: MOVB, c: -128, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x80}}, 159 {name: "MOVB/c=0/base=R8/offset=-0x80000000", inst: MOVB, c: 0, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0}}, 160 {name: "MOVB/c=1/base=R8/offset=-0x80000000", inst: MOVB, c: 1, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x1}}, 161 {name: "MOVB/c=-1/base=R8/offset=-0x80000000", inst: MOVB, c: -1, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff}}, 162 {name: "MOVB/c=100/base=R8/offset=-0x80000000", inst: MOVB, c: 100, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x64}}, 163 {name: "MOVB/c=-100/base=R8/offset=-0x80000000", inst: MOVB, c: -100, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x9c}}, 164 {name: "MOVB/c=127/base=R8/offset=-0x80000000", inst: MOVB, c: 127, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x7f}}, 165 {name: "MOVB/c=-128/base=R8/offset=-0x80000000", inst: MOVB, c: -128, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80}}, 166 {name: "MOVB/c=0/base=R8/offset=0x7fff", inst: MOVB, c: 0, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 167 {name: "MOVB/c=1/base=R8/offset=0x7fff", inst: MOVB, c: 1, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x1}}, 168 {name: "MOVB/c=-1/base=R8/offset=0x7fff", inst: MOVB, c: -1, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff}}, 169 {name: "MOVB/c=100/base=R8/offset=0x7fff", inst: MOVB, c: 100, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x64}}, 170 {name: "MOVB/c=-100/base=R8/offset=0x7fff", inst: MOVB, c: -100, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x9c}}, 171 {name: "MOVB/c=127/base=R8/offset=0x7fff", inst: MOVB, c: 127, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x7f}}, 172 {name: "MOVB/c=-128/base=R8/offset=0x7fff", inst: MOVB, c: -128, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc6, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x80}}, 173 {name: "MOVB/c=0/base=R8/offset=-0x8000", inst: MOVB, c: 0, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0}}, 174 {name: "MOVB/c=1/base=R8/offset=-0x8000", inst: MOVB, c: 1, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x1}}, 175 {name: "MOVB/c=-1/base=R8/offset=-0x8000", inst: MOVB, c: -1, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff}}, 176 {name: "MOVB/c=100/base=R8/offset=-0x8000", inst: MOVB, c: 100, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x64}}, 177 {name: "MOVB/c=-100/base=R8/offset=-0x8000", inst: MOVB, c: -100, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x9c}}, 178 {name: "MOVB/c=127/base=R8/offset=-0x8000", inst: MOVB, c: 127, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x7f}}, 179 {name: "MOVB/c=-128/base=R8/offset=-0x8000", inst: MOVB, c: -128, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc6, 0x80, 0x0, 0x80, 0xff, 0xff, 0x80}}, 180 {name: "MOVL/c=0/base=AX/offset=0x0", inst: MOVL, c: 0, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x0, 0x0, 0x0, 0x0}}, 181 {name: "MOVL/c=1/base=AX/offset=0x0", inst: MOVL, c: 1, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x1, 0x0, 0x0, 0x0}}, 182 {name: "MOVL/c=-1/base=AX/offset=0x0", inst: MOVL, c: -1, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0xff, 0xff, 0xff, 0xff}}, 183 {name: "MOVL/c=100/base=AX/offset=0x0", inst: MOVL, c: 100, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x64, 0x0, 0x0, 0x0}}, 184 {name: "MOVL/c=-100/base=AX/offset=0x0", inst: MOVL, c: -100, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 185 {name: "MOVL/c=127/base=AX/offset=0x0", inst: MOVL, c: 127, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 186 {name: "MOVL/c=-128/base=AX/offset=0x0", inst: MOVL, c: -128, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x80, 0xff, 0xff, 0xff}}, 187 {name: "MOVL/c=32767/base=AX/offset=0x0", inst: MOVL, c: 32767, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 188 {name: "MOVL/c=-32768/base=AX/offset=0x0", inst: MOVL, c: -32768, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x0, 0x80, 0xff, 0xff}}, 189 {name: "MOVL/c=1048576/base=AX/offset=0x0", inst: MOVL, c: 1048576, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x0, 0x0, 0x10, 0x0}}, 190 {name: "MOVL/c=-1048576/base=AX/offset=0x0", inst: MOVL, c: -1048576, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 191 {name: "MOVL/c=2147483647/base=AX/offset=0x0", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 192 {name: "MOVL/c=-2147483648/base=AX/offset=0x0", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: 0x0, exp: []byte{0xc7, 0x0, 0x0, 0x0, 0x0, 0x80}}, 193 {name: "MOVL/c=0/base=AX/offset=0x1", inst: MOVL, c: 0, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x0}}, 194 {name: "MOVL/c=1/base=AX/offset=0x1", inst: MOVL, c: 1, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x1, 0x0, 0x0, 0x0}}, 195 {name: "MOVL/c=-1/base=AX/offset=0x1", inst: MOVL, c: -1, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0xff}}, 196 {name: "MOVL/c=100/base=AX/offset=0x1", inst: MOVL, c: 100, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x64, 0x0, 0x0, 0x0}}, 197 {name: "MOVL/c=-100/base=AX/offset=0x1", inst: MOVL, c: -100, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x9c, 0xff, 0xff, 0xff}}, 198 {name: "MOVL/c=127/base=AX/offset=0x1", inst: MOVL, c: 127, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x7f, 0x0, 0x0, 0x0}}, 199 {name: "MOVL/c=-128/base=AX/offset=0x1", inst: MOVL, c: -128, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x80, 0xff, 0xff, 0xff}}, 200 {name: "MOVL/c=32767/base=AX/offset=0x1", inst: MOVL, c: 32767, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0xff, 0x7f, 0x0, 0x0}}, 201 {name: "MOVL/c=-32768/base=AX/offset=0x1", inst: MOVL, c: -32768, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x0, 0x80, 0xff, 0xff}}, 202 {name: "MOVL/c=1048576/base=AX/offset=0x1", inst: MOVL, c: 1048576, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x0, 0x0, 0x10, 0x0}}, 203 {name: "MOVL/c=-1048576/base=AX/offset=0x1", inst: MOVL, c: -1048576, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x0, 0x0, 0xf0, 0xff}}, 204 {name: "MOVL/c=2147483647/base=AX/offset=0x1", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0x7f}}, 205 {name: "MOVL/c=-2147483648/base=AX/offset=0x1", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: 0x1, exp: []byte{0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x80}}, 206 {name: "MOVL/c=0/base=AX/offset=-0x1", inst: MOVL, c: 0, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x0}}, 207 {name: "MOVL/c=1/base=AX/offset=-0x1", inst: MOVL, c: 1, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x1, 0x0, 0x0, 0x0}}, 208 {name: "MOVL/c=-1/base=AX/offset=-0x1", inst: MOVL, c: -1, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff}}, 209 {name: "MOVL/c=100/base=AX/offset=-0x1", inst: MOVL, c: 100, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x64, 0x0, 0x0, 0x0}}, 210 {name: "MOVL/c=-100/base=AX/offset=-0x1", inst: MOVL, c: -100, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 211 {name: "MOVL/c=127/base=AX/offset=-0x1", inst: MOVL, c: 127, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 212 {name: "MOVL/c=-128/base=AX/offset=-0x1", inst: MOVL, c: -128, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x80, 0xff, 0xff, 0xff}}, 213 {name: "MOVL/c=32767/base=AX/offset=-0x1", inst: MOVL, c: 32767, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 214 {name: "MOVL/c=-32768/base=AX/offset=-0x1", inst: MOVL, c: -32768, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x0, 0x80, 0xff, 0xff}}, 215 {name: "MOVL/c=1048576/base=AX/offset=-0x1", inst: MOVL, c: 1048576, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x0, 0x0, 0x10, 0x0}}, 216 {name: "MOVL/c=-1048576/base=AX/offset=-0x1", inst: MOVL, c: -1048576, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 217 {name: "MOVL/c=2147483647/base=AX/offset=-0x1", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 218 {name: "MOVL/c=-2147483648/base=AX/offset=-0x1", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: -0x1, exp: []byte{0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x80}}, 219 {name: "MOVL/c=0/base=AX/offset=0x4db", inst: MOVL, c: 0, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 220 {name: "MOVL/c=1/base=AX/offset=0x4db", inst: MOVL, c: 1, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 221 {name: "MOVL/c=-1/base=AX/offset=0x4db", inst: MOVL, c: -1, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 222 {name: "MOVL/c=100/base=AX/offset=0x4db", inst: MOVL, c: 100, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 223 {name: "MOVL/c=-100/base=AX/offset=0x4db", inst: MOVL, c: -100, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 224 {name: "MOVL/c=127/base=AX/offset=0x4db", inst: MOVL, c: 127, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 225 {name: "MOVL/c=-128/base=AX/offset=0x4db", inst: MOVL, c: -128, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 226 {name: "MOVL/c=32767/base=AX/offset=0x4db", inst: MOVL, c: 32767, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 227 {name: "MOVL/c=-32768/base=AX/offset=0x4db", inst: MOVL, c: -32768, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 228 {name: "MOVL/c=1048576/base=AX/offset=0x4db", inst: MOVL, c: 1048576, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 229 {name: "MOVL/c=-1048576/base=AX/offset=0x4db", inst: MOVL, c: -1048576, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 230 {name: "MOVL/c=2147483647/base=AX/offset=0x4db", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 231 {name: "MOVL/c=-2147483648/base=AX/offset=0x4db", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: 0x4db, exp: []byte{0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 232 {name: "MOVL/c=0/base=AX/offset=-0x4d2", inst: MOVL, c: 0, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 233 {name: "MOVL/c=1/base=AX/offset=-0x4d2", inst: MOVL, c: 1, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 234 {name: "MOVL/c=-1/base=AX/offset=-0x4d2", inst: MOVL, c: -1, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 235 {name: "MOVL/c=100/base=AX/offset=-0x4d2", inst: MOVL, c: 100, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 236 {name: "MOVL/c=-100/base=AX/offset=-0x4d2", inst: MOVL, c: -100, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 237 {name: "MOVL/c=127/base=AX/offset=-0x4d2", inst: MOVL, c: 127, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 238 {name: "MOVL/c=-128/base=AX/offset=-0x4d2", inst: MOVL, c: -128, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 239 {name: "MOVL/c=32767/base=AX/offset=-0x4d2", inst: MOVL, c: 32767, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 240 {name: "MOVL/c=-32768/base=AX/offset=-0x4d2", inst: MOVL, c: -32768, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 241 {name: "MOVL/c=1048576/base=AX/offset=-0x4d2", inst: MOVL, c: 1048576, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 242 {name: "MOVL/c=-1048576/base=AX/offset=-0x4d2", inst: MOVL, c: -1048576, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 243 {name: "MOVL/c=2147483647/base=AX/offset=-0x4d2", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 244 {name: "MOVL/c=-2147483648/base=AX/offset=-0x4d2", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: -0x4d2, exp: []byte{0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 245 {name: "MOVL/c=0/base=AX/offset=0x7fffffff", inst: MOVL, c: 0, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0}}, 246 {name: "MOVL/c=1/base=AX/offset=0x7fffffff", inst: MOVL, c: 1, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x1, 0x0, 0x0, 0x0}}, 247 {name: "MOVL/c=-1/base=AX/offset=0x7fffffff", inst: MOVL, c: -1, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff}}, 248 {name: "MOVL/c=100/base=AX/offset=0x7fffffff", inst: MOVL, c: 100, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x64, 0x0, 0x0, 0x0}}, 249 {name: "MOVL/c=-100/base=AX/offset=0x7fffffff", inst: MOVL, c: -100, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x9c, 0xff, 0xff, 0xff}}, 250 {name: "MOVL/c=127/base=AX/offset=0x7fffffff", inst: MOVL, c: 127, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x0, 0x0, 0x0}}, 251 {name: "MOVL/c=-128/base=AX/offset=0x7fffffff", inst: MOVL, c: -128, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x80, 0xff, 0xff, 0xff}}, 252 {name: "MOVL/c=32767/base=AX/offset=0x7fffffff", inst: MOVL, c: 32767, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x0, 0x0}}, 253 {name: "MOVL/c=-32768/base=AX/offset=0x7fffffff", inst: MOVL, c: -32768, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0xff, 0xff}}, 254 {name: "MOVL/c=1048576/base=AX/offset=0x7fffffff", inst: MOVL, c: 1048576, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x10, 0x0}}, 255 {name: "MOVL/c=-1048576/base=AX/offset=0x7fffffff", inst: MOVL, c: -1048576, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0xf0, 0xff}}, 256 {name: "MOVL/c=2147483647/base=AX/offset=0x7fffffff", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f}}, 257 {name: "MOVL/c=-2147483648/base=AX/offset=0x7fffffff", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80}}, 258 {name: "MOVL/c=0/base=AX/offset=-0x80000000", inst: MOVL, c: 0, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0}}, 259 {name: "MOVL/c=1/base=AX/offset=-0x80000000", inst: MOVL, c: 1, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x1, 0x0, 0x0, 0x0}}, 260 {name: "MOVL/c=-1/base=AX/offset=-0x80000000", inst: MOVL, c: -1, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff}}, 261 {name: "MOVL/c=100/base=AX/offset=-0x80000000", inst: MOVL, c: 100, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x64, 0x0, 0x0, 0x0}}, 262 {name: "MOVL/c=-100/base=AX/offset=-0x80000000", inst: MOVL, c: -100, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x9c, 0xff, 0xff, 0xff}}, 263 {name: "MOVL/c=127/base=AX/offset=-0x80000000", inst: MOVL, c: 127, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x7f, 0x0, 0x0, 0x0}}, 264 {name: "MOVL/c=-128/base=AX/offset=-0x80000000", inst: MOVL, c: -128, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0xff, 0xff, 0xff}}, 265 {name: "MOVL/c=32767/base=AX/offset=-0x80000000", inst: MOVL, c: 32767, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0}}, 266 {name: "MOVL/c=-32768/base=AX/offset=-0x80000000", inst: MOVL, c: -32768, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0xff, 0xff}}, 267 {name: "MOVL/c=1048576/base=AX/offset=-0x80000000", inst: MOVL, c: 1048576, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x10, 0x0}}, 268 {name: "MOVL/c=-1048576/base=AX/offset=-0x80000000", inst: MOVL, c: -1048576, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf0, 0xff}}, 269 {name: "MOVL/c=2147483647/base=AX/offset=-0x80000000", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f}}, 270 {name: "MOVL/c=-2147483648/base=AX/offset=-0x80000000", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: -0x80000000, exp: []byte{0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80}}, 271 {name: "MOVL/c=0/base=AX/offset=0x7fff", inst: MOVL, c: 0, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 272 {name: "MOVL/c=1/base=AX/offset=0x7fff", inst: MOVL, c: 1, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 273 {name: "MOVL/c=-1/base=AX/offset=0x7fff", inst: MOVL, c: -1, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 274 {name: "MOVL/c=100/base=AX/offset=0x7fff", inst: MOVL, c: 100, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 275 {name: "MOVL/c=-100/base=AX/offset=0x7fff", inst: MOVL, c: -100, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 276 {name: "MOVL/c=127/base=AX/offset=0x7fff", inst: MOVL, c: 127, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 277 {name: "MOVL/c=-128/base=AX/offset=0x7fff", inst: MOVL, c: -128, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 278 {name: "MOVL/c=32767/base=AX/offset=0x7fff", inst: MOVL, c: 32767, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 279 {name: "MOVL/c=-32768/base=AX/offset=0x7fff", inst: MOVL, c: -32768, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 280 {name: "MOVL/c=1048576/base=AX/offset=0x7fff", inst: MOVL, c: 1048576, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 281 {name: "MOVL/c=-1048576/base=AX/offset=0x7fff", inst: MOVL, c: -1048576, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 282 {name: "MOVL/c=2147483647/base=AX/offset=0x7fff", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 283 {name: "MOVL/c=-2147483648/base=AX/offset=0x7fff", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: 0x7fff, exp: []byte{0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 284 {name: "MOVL/c=0/base=AX/offset=-0x8000", inst: MOVL, c: 0, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 285 {name: "MOVL/c=1/base=AX/offset=-0x8000", inst: MOVL, c: 1, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 286 {name: "MOVL/c=-1/base=AX/offset=-0x8000", inst: MOVL, c: -1, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 287 {name: "MOVL/c=100/base=AX/offset=-0x8000", inst: MOVL, c: 100, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 288 {name: "MOVL/c=-100/base=AX/offset=-0x8000", inst: MOVL, c: -100, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 289 {name: "MOVL/c=127/base=AX/offset=-0x8000", inst: MOVL, c: 127, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 290 {name: "MOVL/c=-128/base=AX/offset=-0x8000", inst: MOVL, c: -128, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 291 {name: "MOVL/c=32767/base=AX/offset=-0x8000", inst: MOVL, c: 32767, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 292 {name: "MOVL/c=-32768/base=AX/offset=-0x8000", inst: MOVL, c: -32768, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 293 {name: "MOVL/c=1048576/base=AX/offset=-0x8000", inst: MOVL, c: 1048576, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 294 {name: "MOVL/c=-1048576/base=AX/offset=-0x8000", inst: MOVL, c: -1048576, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 295 {name: "MOVL/c=2147483647/base=AX/offset=-0x8000", inst: MOVL, c: 2147483647, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 296 {name: "MOVL/c=-2147483648/base=AX/offset=-0x8000", inst: MOVL, c: -2147483648, baseReg: RegAX, offset: -0x8000, exp: []byte{0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 297 {name: "MOVL/c=0/base=R8/offset=0x0", inst: MOVL, c: 0, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0}}, 298 {name: "MOVL/c=1/base=R8/offset=0x0", inst: MOVL, c: 1, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x1, 0x0, 0x0, 0x0}}, 299 {name: "MOVL/c=-1/base=R8/offset=0x0", inst: MOVL, c: -1, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0xff, 0xff, 0xff, 0xff}}, 300 {name: "MOVL/c=100/base=R8/offset=0x0", inst: MOVL, c: 100, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x64, 0x0, 0x0, 0x0}}, 301 {name: "MOVL/c=-100/base=R8/offset=0x0", inst: MOVL, c: -100, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 302 {name: "MOVL/c=127/base=R8/offset=0x0", inst: MOVL, c: 127, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 303 {name: "MOVL/c=-128/base=R8/offset=0x0", inst: MOVL, c: -128, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x80, 0xff, 0xff, 0xff}}, 304 {name: "MOVL/c=32767/base=R8/offset=0x0", inst: MOVL, c: 32767, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 305 {name: "MOVL/c=-32768/base=R8/offset=0x0", inst: MOVL, c: -32768, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x0, 0x80, 0xff, 0xff}}, 306 {name: "MOVL/c=1048576/base=R8/offset=0x0", inst: MOVL, c: 1048576, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x0, 0x0, 0x10, 0x0}}, 307 {name: "MOVL/c=-1048576/base=R8/offset=0x0", inst: MOVL, c: -1048576, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 308 {name: "MOVL/c=2147483647/base=R8/offset=0x0", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 309 {name: "MOVL/c=-2147483648/base=R8/offset=0x0", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: 0x0, exp: []byte{0x41, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x80}}, 310 {name: "MOVL/c=0/base=R8/offset=0x1", inst: MOVL, c: 0, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x0}}, 311 {name: "MOVL/c=1/base=R8/offset=0x1", inst: MOVL, c: 1, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x1, 0x0, 0x0, 0x0}}, 312 {name: "MOVL/c=-1/base=R8/offset=0x1", inst: MOVL, c: -1, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0xff}}, 313 {name: "MOVL/c=100/base=R8/offset=0x1", inst: MOVL, c: 100, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x64, 0x0, 0x0, 0x0}}, 314 {name: "MOVL/c=-100/base=R8/offset=0x1", inst: MOVL, c: -100, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x9c, 0xff, 0xff, 0xff}}, 315 {name: "MOVL/c=127/base=R8/offset=0x1", inst: MOVL, c: 127, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x7f, 0x0, 0x0, 0x0}}, 316 {name: "MOVL/c=-128/base=R8/offset=0x1", inst: MOVL, c: -128, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x80, 0xff, 0xff, 0xff}}, 317 {name: "MOVL/c=32767/base=R8/offset=0x1", inst: MOVL, c: 32767, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0xff, 0x7f, 0x0, 0x0}}, 318 {name: "MOVL/c=-32768/base=R8/offset=0x1", inst: MOVL, c: -32768, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x0, 0x80, 0xff, 0xff}}, 319 {name: "MOVL/c=1048576/base=R8/offset=0x1", inst: MOVL, c: 1048576, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x10, 0x0}}, 320 {name: "MOVL/c=-1048576/base=R8/offset=0x1", inst: MOVL, c: -1048576, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x0, 0x0, 0xf0, 0xff}}, 321 {name: "MOVL/c=2147483647/base=R8/offset=0x1", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0x7f}}, 322 {name: "MOVL/c=-2147483648/base=R8/offset=0x1", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: 0x1, exp: []byte{0x41, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x80}}, 323 {name: "MOVL/c=0/base=R8/offset=-0x1", inst: MOVL, c: 0, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x0}}, 324 {name: "MOVL/c=1/base=R8/offset=-0x1", inst: MOVL, c: 1, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x1, 0x0, 0x0, 0x0}}, 325 {name: "MOVL/c=-1/base=R8/offset=-0x1", inst: MOVL, c: -1, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff}}, 326 {name: "MOVL/c=100/base=R8/offset=-0x1", inst: MOVL, c: 100, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x64, 0x0, 0x0, 0x0}}, 327 {name: "MOVL/c=-100/base=R8/offset=-0x1", inst: MOVL, c: -100, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 328 {name: "MOVL/c=127/base=R8/offset=-0x1", inst: MOVL, c: 127, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 329 {name: "MOVL/c=-128/base=R8/offset=-0x1", inst: MOVL, c: -128, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x80, 0xff, 0xff, 0xff}}, 330 {name: "MOVL/c=32767/base=R8/offset=-0x1", inst: MOVL, c: 32767, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 331 {name: "MOVL/c=-32768/base=R8/offset=-0x1", inst: MOVL, c: -32768, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x0, 0x80, 0xff, 0xff}}, 332 {name: "MOVL/c=1048576/base=R8/offset=-0x1", inst: MOVL, c: 1048576, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x10, 0x0}}, 333 {name: "MOVL/c=-1048576/base=R8/offset=-0x1", inst: MOVL, c: -1048576, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 334 {name: "MOVL/c=2147483647/base=R8/offset=-0x1", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 335 {name: "MOVL/c=-2147483648/base=R8/offset=-0x1", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: -0x1, exp: []byte{0x41, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x80}}, 336 {name: "MOVL/c=0/base=R8/offset=0x4db", inst: MOVL, c: 0, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 337 {name: "MOVL/c=1/base=R8/offset=0x4db", inst: MOVL, c: 1, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 338 {name: "MOVL/c=-1/base=R8/offset=0x4db", inst: MOVL, c: -1, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 339 {name: "MOVL/c=100/base=R8/offset=0x4db", inst: MOVL, c: 100, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 340 {name: "MOVL/c=-100/base=R8/offset=0x4db", inst: MOVL, c: -100, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 341 {name: "MOVL/c=127/base=R8/offset=0x4db", inst: MOVL, c: 127, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 342 {name: "MOVL/c=-128/base=R8/offset=0x4db", inst: MOVL, c: -128, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 343 {name: "MOVL/c=32767/base=R8/offset=0x4db", inst: MOVL, c: 32767, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 344 {name: "MOVL/c=-32768/base=R8/offset=0x4db", inst: MOVL, c: -32768, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 345 {name: "MOVL/c=1048576/base=R8/offset=0x4db", inst: MOVL, c: 1048576, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 346 {name: "MOVL/c=-1048576/base=R8/offset=0x4db", inst: MOVL, c: -1048576, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 347 {name: "MOVL/c=2147483647/base=R8/offset=0x4db", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 348 {name: "MOVL/c=-2147483648/base=R8/offset=0x4db", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: 0x4db, exp: []byte{0x41, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 349 {name: "MOVL/c=0/base=R8/offset=-0x4d2", inst: MOVL, c: 0, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 350 {name: "MOVL/c=1/base=R8/offset=-0x4d2", inst: MOVL, c: 1, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 351 {name: "MOVL/c=-1/base=R8/offset=-0x4d2", inst: MOVL, c: -1, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 352 {name: "MOVL/c=100/base=R8/offset=-0x4d2", inst: MOVL, c: 100, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 353 {name: "MOVL/c=-100/base=R8/offset=-0x4d2", inst: MOVL, c: -100, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 354 {name: "MOVL/c=127/base=R8/offset=-0x4d2", inst: MOVL, c: 127, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 355 {name: "MOVL/c=-128/base=R8/offset=-0x4d2", inst: MOVL, c: -128, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 356 {name: "MOVL/c=32767/base=R8/offset=-0x4d2", inst: MOVL, c: 32767, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 357 {name: "MOVL/c=-32768/base=R8/offset=-0x4d2", inst: MOVL, c: -32768, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 358 {name: "MOVL/c=1048576/base=R8/offset=-0x4d2", inst: MOVL, c: 1048576, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 359 {name: "MOVL/c=-1048576/base=R8/offset=-0x4d2", inst: MOVL, c: -1048576, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 360 {name: "MOVL/c=2147483647/base=R8/offset=-0x4d2", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 361 {name: "MOVL/c=-2147483648/base=R8/offset=-0x4d2", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x41, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 362 {name: "MOVL/c=0/base=R8/offset=0x7fffffff", inst: MOVL, c: 0, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0}}, 363 {name: "MOVL/c=1/base=R8/offset=0x7fffffff", inst: MOVL, c: 1, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x1, 0x0, 0x0, 0x0}}, 364 {name: "MOVL/c=-1/base=R8/offset=0x7fffffff", inst: MOVL, c: -1, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff}}, 365 {name: "MOVL/c=100/base=R8/offset=0x7fffffff", inst: MOVL, c: 100, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x64, 0x0, 0x0, 0x0}}, 366 {name: "MOVL/c=-100/base=R8/offset=0x7fffffff", inst: MOVL, c: -100, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x9c, 0xff, 0xff, 0xff}}, 367 {name: "MOVL/c=127/base=R8/offset=0x7fffffff", inst: MOVL, c: 127, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x0, 0x0, 0x0}}, 368 {name: "MOVL/c=-128/base=R8/offset=0x7fffffff", inst: MOVL, c: -128, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x80, 0xff, 0xff, 0xff}}, 369 {name: "MOVL/c=32767/base=R8/offset=0x7fffffff", inst: MOVL, c: 32767, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x0, 0x0}}, 370 {name: "MOVL/c=-32768/base=R8/offset=0x7fffffff", inst: MOVL, c: -32768, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0xff, 0xff}}, 371 {name: "MOVL/c=1048576/base=R8/offset=0x7fffffff", inst: MOVL, c: 1048576, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x10, 0x0}}, 372 {name: "MOVL/c=-1048576/base=R8/offset=0x7fffffff", inst: MOVL, c: -1048576, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0xf0, 0xff}}, 373 {name: "MOVL/c=2147483647/base=R8/offset=0x7fffffff", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f}}, 374 {name: "MOVL/c=-2147483648/base=R8/offset=0x7fffffff", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80}}, 375 {name: "MOVL/c=0/base=R8/offset=-0x80000000", inst: MOVL, c: 0, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0}}, 376 {name: "MOVL/c=1/base=R8/offset=-0x80000000", inst: MOVL, c: 1, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x1, 0x0, 0x0, 0x0}}, 377 {name: "MOVL/c=-1/base=R8/offset=-0x80000000", inst: MOVL, c: -1, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff}}, 378 {name: "MOVL/c=100/base=R8/offset=-0x80000000", inst: MOVL, c: 100, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x64, 0x0, 0x0, 0x0}}, 379 {name: "MOVL/c=-100/base=R8/offset=-0x80000000", inst: MOVL, c: -100, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x9c, 0xff, 0xff, 0xff}}, 380 {name: "MOVL/c=127/base=R8/offset=-0x80000000", inst: MOVL, c: 127, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x7f, 0x0, 0x0, 0x0}}, 381 {name: "MOVL/c=-128/base=R8/offset=-0x80000000", inst: MOVL, c: -128, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0xff, 0xff, 0xff}}, 382 {name: "MOVL/c=32767/base=R8/offset=-0x80000000", inst: MOVL, c: 32767, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0}}, 383 {name: "MOVL/c=-32768/base=R8/offset=-0x80000000", inst: MOVL, c: -32768, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0xff, 0xff}}, 384 {name: "MOVL/c=1048576/base=R8/offset=-0x80000000", inst: MOVL, c: 1048576, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x10, 0x0}}, 385 {name: "MOVL/c=-1048576/base=R8/offset=-0x80000000", inst: MOVL, c: -1048576, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf0, 0xff}}, 386 {name: "MOVL/c=2147483647/base=R8/offset=-0x80000000", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f}}, 387 {name: "MOVL/c=-2147483648/base=R8/offset=-0x80000000", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80}}, 388 {name: "MOVL/c=0/base=R8/offset=0x7fff", inst: MOVL, c: 0, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 389 {name: "MOVL/c=1/base=R8/offset=0x7fff", inst: MOVL, c: 1, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 390 {name: "MOVL/c=-1/base=R8/offset=0x7fff", inst: MOVL, c: -1, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 391 {name: "MOVL/c=100/base=R8/offset=0x7fff", inst: MOVL, c: 100, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 392 {name: "MOVL/c=-100/base=R8/offset=0x7fff", inst: MOVL, c: -100, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 393 {name: "MOVL/c=127/base=R8/offset=0x7fff", inst: MOVL, c: 127, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 394 {name: "MOVL/c=-128/base=R8/offset=0x7fff", inst: MOVL, c: -128, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 395 {name: "MOVL/c=32767/base=R8/offset=0x7fff", inst: MOVL, c: 32767, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 396 {name: "MOVL/c=-32768/base=R8/offset=0x7fff", inst: MOVL, c: -32768, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 397 {name: "MOVL/c=1048576/base=R8/offset=0x7fff", inst: MOVL, c: 1048576, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 398 {name: "MOVL/c=-1048576/base=R8/offset=0x7fff", inst: MOVL, c: -1048576, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 399 {name: "MOVL/c=2147483647/base=R8/offset=0x7fff", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 400 {name: "MOVL/c=-2147483648/base=R8/offset=0x7fff", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x41, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 401 {name: "MOVL/c=0/base=R8/offset=-0x8000", inst: MOVL, c: 0, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 402 {name: "MOVL/c=1/base=R8/offset=-0x8000", inst: MOVL, c: 1, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 403 {name: "MOVL/c=-1/base=R8/offset=-0x8000", inst: MOVL, c: -1, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 404 {name: "MOVL/c=100/base=R8/offset=-0x8000", inst: MOVL, c: 100, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 405 {name: "MOVL/c=-100/base=R8/offset=-0x8000", inst: MOVL, c: -100, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 406 {name: "MOVL/c=127/base=R8/offset=-0x8000", inst: MOVL, c: 127, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 407 {name: "MOVL/c=-128/base=R8/offset=-0x8000", inst: MOVL, c: -128, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 408 {name: "MOVL/c=32767/base=R8/offset=-0x8000", inst: MOVL, c: 32767, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 409 {name: "MOVL/c=-32768/base=R8/offset=-0x8000", inst: MOVL, c: -32768, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 410 {name: "MOVL/c=1048576/base=R8/offset=-0x8000", inst: MOVL, c: 1048576, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 411 {name: "MOVL/c=-1048576/base=R8/offset=-0x8000", inst: MOVL, c: -1048576, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 412 {name: "MOVL/c=2147483647/base=R8/offset=-0x8000", inst: MOVL, c: 2147483647, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 413 {name: "MOVL/c=-2147483648/base=R8/offset=-0x8000", inst: MOVL, c: -2147483648, baseReg: RegR8, offset: -0x8000, exp: []byte{0x41, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 414 {name: "MOVQ/c=0/base=AX/offset=0x0", inst: MOVQ, c: 0, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0}}, 415 {name: "MOVQ/c=1/base=AX/offset=0x0", inst: MOVQ, c: 1, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x1, 0x0, 0x0, 0x0}}, 416 {name: "MOVQ/c=-1/base=AX/offset=0x0", inst: MOVQ, c: -1, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0xff, 0xff, 0xff, 0xff}}, 417 {name: "MOVQ/c=100/base=AX/offset=0x0", inst: MOVQ, c: 100, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x64, 0x0, 0x0, 0x0}}, 418 {name: "MOVQ/c=-100/base=AX/offset=0x0", inst: MOVQ, c: -100, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 419 {name: "MOVQ/c=127/base=AX/offset=0x0", inst: MOVQ, c: 127, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 420 {name: "MOVQ/c=-128/base=AX/offset=0x0", inst: MOVQ, c: -128, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x80, 0xff, 0xff, 0xff}}, 421 {name: "MOVQ/c=32767/base=AX/offset=0x0", inst: MOVQ, c: 32767, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 422 {name: "MOVQ/c=-32768/base=AX/offset=0x0", inst: MOVQ, c: -32768, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x0, 0x80, 0xff, 0xff}}, 423 {name: "MOVQ/c=1048576/base=AX/offset=0x0", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x0, 0x0, 0x10, 0x0}}, 424 {name: "MOVQ/c=-1048576/base=AX/offset=0x0", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 425 {name: "MOVQ/c=2147483647/base=AX/offset=0x0", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 426 {name: "MOVQ/c=-2147483648/base=AX/offset=0x0", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: 0x0, exp: []byte{0x48, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x80}}, 427 {name: "MOVQ/c=0/base=AX/offset=0x1", inst: MOVQ, c: 0, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x0}}, 428 {name: "MOVQ/c=1/base=AX/offset=0x1", inst: MOVQ, c: 1, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x1, 0x0, 0x0, 0x0}}, 429 {name: "MOVQ/c=-1/base=AX/offset=0x1", inst: MOVQ, c: -1, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0xff}}, 430 {name: "MOVQ/c=100/base=AX/offset=0x1", inst: MOVQ, c: 100, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x64, 0x0, 0x0, 0x0}}, 431 {name: "MOVQ/c=-100/base=AX/offset=0x1", inst: MOVQ, c: -100, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x9c, 0xff, 0xff, 0xff}}, 432 {name: "MOVQ/c=127/base=AX/offset=0x1", inst: MOVQ, c: 127, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x7f, 0x0, 0x0, 0x0}}, 433 {name: "MOVQ/c=-128/base=AX/offset=0x1", inst: MOVQ, c: -128, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x80, 0xff, 0xff, 0xff}}, 434 {name: "MOVQ/c=32767/base=AX/offset=0x1", inst: MOVQ, c: 32767, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0xff, 0x7f, 0x0, 0x0}}, 435 {name: "MOVQ/c=-32768/base=AX/offset=0x1", inst: MOVQ, c: -32768, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x0, 0x80, 0xff, 0xff}}, 436 {name: "MOVQ/c=1048576/base=AX/offset=0x1", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x10, 0x0}}, 437 {name: "MOVQ/c=-1048576/base=AX/offset=0x1", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x0, 0x0, 0xf0, 0xff}}, 438 {name: "MOVQ/c=2147483647/base=AX/offset=0x1", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0x7f}}, 439 {name: "MOVQ/c=-2147483648/base=AX/offset=0x1", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: 0x1, exp: []byte{0x48, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x80}}, 440 {name: "MOVQ/c=0/base=AX/offset=-0x1", inst: MOVQ, c: 0, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x0}}, 441 {name: "MOVQ/c=1/base=AX/offset=-0x1", inst: MOVQ, c: 1, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x1, 0x0, 0x0, 0x0}}, 442 {name: "MOVQ/c=-1/base=AX/offset=-0x1", inst: MOVQ, c: -1, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff}}, 443 {name: "MOVQ/c=100/base=AX/offset=-0x1", inst: MOVQ, c: 100, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x64, 0x0, 0x0, 0x0}}, 444 {name: "MOVQ/c=-100/base=AX/offset=-0x1", inst: MOVQ, c: -100, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 445 {name: "MOVQ/c=127/base=AX/offset=-0x1", inst: MOVQ, c: 127, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 446 {name: "MOVQ/c=-128/base=AX/offset=-0x1", inst: MOVQ, c: -128, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x80, 0xff, 0xff, 0xff}}, 447 {name: "MOVQ/c=32767/base=AX/offset=-0x1", inst: MOVQ, c: 32767, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 448 {name: "MOVQ/c=-32768/base=AX/offset=-0x1", inst: MOVQ, c: -32768, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x0, 0x80, 0xff, 0xff}}, 449 {name: "MOVQ/c=1048576/base=AX/offset=-0x1", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x10, 0x0}}, 450 {name: "MOVQ/c=-1048576/base=AX/offset=-0x1", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 451 {name: "MOVQ/c=2147483647/base=AX/offset=-0x1", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 452 {name: "MOVQ/c=-2147483648/base=AX/offset=-0x1", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: -0x1, exp: []byte{0x48, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x80}}, 453 {name: "MOVQ/c=0/base=AX/offset=0x4db", inst: MOVQ, c: 0, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 454 {name: "MOVQ/c=1/base=AX/offset=0x4db", inst: MOVQ, c: 1, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 455 {name: "MOVQ/c=-1/base=AX/offset=0x4db", inst: MOVQ, c: -1, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 456 {name: "MOVQ/c=100/base=AX/offset=0x4db", inst: MOVQ, c: 100, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 457 {name: "MOVQ/c=-100/base=AX/offset=0x4db", inst: MOVQ, c: -100, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 458 {name: "MOVQ/c=127/base=AX/offset=0x4db", inst: MOVQ, c: 127, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 459 {name: "MOVQ/c=-128/base=AX/offset=0x4db", inst: MOVQ, c: -128, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 460 {name: "MOVQ/c=32767/base=AX/offset=0x4db", inst: MOVQ, c: 32767, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 461 {name: "MOVQ/c=-32768/base=AX/offset=0x4db", inst: MOVQ, c: -32768, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 462 {name: "MOVQ/c=1048576/base=AX/offset=0x4db", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 463 {name: "MOVQ/c=-1048576/base=AX/offset=0x4db", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 464 {name: "MOVQ/c=2147483647/base=AX/offset=0x4db", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 465 {name: "MOVQ/c=-2147483648/base=AX/offset=0x4db", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: 0x4db, exp: []byte{0x48, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 466 {name: "MOVQ/c=0/base=AX/offset=-0x4d2", inst: MOVQ, c: 0, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 467 {name: "MOVQ/c=1/base=AX/offset=-0x4d2", inst: MOVQ, c: 1, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 468 {name: "MOVQ/c=-1/base=AX/offset=-0x4d2", inst: MOVQ, c: -1, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 469 {name: "MOVQ/c=100/base=AX/offset=-0x4d2", inst: MOVQ, c: 100, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 470 {name: "MOVQ/c=-100/base=AX/offset=-0x4d2", inst: MOVQ, c: -100, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 471 {name: "MOVQ/c=127/base=AX/offset=-0x4d2", inst: MOVQ, c: 127, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 472 {name: "MOVQ/c=-128/base=AX/offset=-0x4d2", inst: MOVQ, c: -128, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 473 {name: "MOVQ/c=32767/base=AX/offset=-0x4d2", inst: MOVQ, c: 32767, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 474 {name: "MOVQ/c=-32768/base=AX/offset=-0x4d2", inst: MOVQ, c: -32768, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 475 {name: "MOVQ/c=1048576/base=AX/offset=-0x4d2", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 476 {name: "MOVQ/c=-1048576/base=AX/offset=-0x4d2", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 477 {name: "MOVQ/c=2147483647/base=AX/offset=-0x4d2", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 478 {name: "MOVQ/c=-2147483648/base=AX/offset=-0x4d2", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: -0x4d2, exp: []byte{0x48, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 479 {name: "MOVQ/c=0/base=AX/offset=0x7fffffff", inst: MOVQ, c: 0, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0}}, 480 {name: "MOVQ/c=1/base=AX/offset=0x7fffffff", inst: MOVQ, c: 1, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x1, 0x0, 0x0, 0x0}}, 481 {name: "MOVQ/c=-1/base=AX/offset=0x7fffffff", inst: MOVQ, c: -1, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff}}, 482 {name: "MOVQ/c=100/base=AX/offset=0x7fffffff", inst: MOVQ, c: 100, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x64, 0x0, 0x0, 0x0}}, 483 {name: "MOVQ/c=-100/base=AX/offset=0x7fffffff", inst: MOVQ, c: -100, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x9c, 0xff, 0xff, 0xff}}, 484 {name: "MOVQ/c=127/base=AX/offset=0x7fffffff", inst: MOVQ, c: 127, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x0, 0x0, 0x0}}, 485 {name: "MOVQ/c=-128/base=AX/offset=0x7fffffff", inst: MOVQ, c: -128, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x80, 0xff, 0xff, 0xff}}, 486 {name: "MOVQ/c=32767/base=AX/offset=0x7fffffff", inst: MOVQ, c: 32767, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x0, 0x0}}, 487 {name: "MOVQ/c=-32768/base=AX/offset=0x7fffffff", inst: MOVQ, c: -32768, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0xff, 0xff}}, 488 {name: "MOVQ/c=1048576/base=AX/offset=0x7fffffff", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x10, 0x0}}, 489 {name: "MOVQ/c=-1048576/base=AX/offset=0x7fffffff", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0xf0, 0xff}}, 490 {name: "MOVQ/c=2147483647/base=AX/offset=0x7fffffff", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f}}, 491 {name: "MOVQ/c=-2147483648/base=AX/offset=0x7fffffff", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: 0x7fffffff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80}}, 492 {name: "MOVQ/c=0/base=AX/offset=-0x80000000", inst: MOVQ, c: 0, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0}}, 493 {name: "MOVQ/c=1/base=AX/offset=-0x80000000", inst: MOVQ, c: 1, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x1, 0x0, 0x0, 0x0}}, 494 {name: "MOVQ/c=-1/base=AX/offset=-0x80000000", inst: MOVQ, c: -1, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff}}, 495 {name: "MOVQ/c=100/base=AX/offset=-0x80000000", inst: MOVQ, c: 100, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x64, 0x0, 0x0, 0x0}}, 496 {name: "MOVQ/c=-100/base=AX/offset=-0x80000000", inst: MOVQ, c: -100, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x9c, 0xff, 0xff, 0xff}}, 497 {name: "MOVQ/c=127/base=AX/offset=-0x80000000", inst: MOVQ, c: 127, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x7f, 0x0, 0x0, 0x0}}, 498 {name: "MOVQ/c=-128/base=AX/offset=-0x80000000", inst: MOVQ, c: -128, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0xff, 0xff, 0xff}}, 499 {name: "MOVQ/c=32767/base=AX/offset=-0x80000000", inst: MOVQ, c: 32767, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0}}, 500 {name: "MOVQ/c=-32768/base=AX/offset=-0x80000000", inst: MOVQ, c: -32768, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0xff, 0xff}}, 501 {name: "MOVQ/c=1048576/base=AX/offset=-0x80000000", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x10, 0x0}}, 502 {name: "MOVQ/c=-1048576/base=AX/offset=-0x80000000", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf0, 0xff}}, 503 {name: "MOVQ/c=2147483647/base=AX/offset=-0x80000000", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f}}, 504 {name: "MOVQ/c=-2147483648/base=AX/offset=-0x80000000", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: -0x80000000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80}}, 505 {name: "MOVQ/c=0/base=AX/offset=0x7fff", inst: MOVQ, c: 0, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 506 {name: "MOVQ/c=1/base=AX/offset=0x7fff", inst: MOVQ, c: 1, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 507 {name: "MOVQ/c=-1/base=AX/offset=0x7fff", inst: MOVQ, c: -1, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 508 {name: "MOVQ/c=100/base=AX/offset=0x7fff", inst: MOVQ, c: 100, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 509 {name: "MOVQ/c=-100/base=AX/offset=0x7fff", inst: MOVQ, c: -100, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 510 {name: "MOVQ/c=127/base=AX/offset=0x7fff", inst: MOVQ, c: 127, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 511 {name: "MOVQ/c=-128/base=AX/offset=0x7fff", inst: MOVQ, c: -128, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 512 {name: "MOVQ/c=32767/base=AX/offset=0x7fff", inst: MOVQ, c: 32767, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 513 {name: "MOVQ/c=-32768/base=AX/offset=0x7fff", inst: MOVQ, c: -32768, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 514 {name: "MOVQ/c=1048576/base=AX/offset=0x7fff", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 515 {name: "MOVQ/c=-1048576/base=AX/offset=0x7fff", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 516 {name: "MOVQ/c=2147483647/base=AX/offset=0x7fff", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 517 {name: "MOVQ/c=-2147483648/base=AX/offset=0x7fff", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: 0x7fff, exp: []byte{0x48, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 518 {name: "MOVQ/c=0/base=AX/offset=-0x8000", inst: MOVQ, c: 0, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 519 {name: "MOVQ/c=1/base=AX/offset=-0x8000", inst: MOVQ, c: 1, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 520 {name: "MOVQ/c=-1/base=AX/offset=-0x8000", inst: MOVQ, c: -1, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 521 {name: "MOVQ/c=100/base=AX/offset=-0x8000", inst: MOVQ, c: 100, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 522 {name: "MOVQ/c=-100/base=AX/offset=-0x8000", inst: MOVQ, c: -100, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 523 {name: "MOVQ/c=127/base=AX/offset=-0x8000", inst: MOVQ, c: 127, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 524 {name: "MOVQ/c=-128/base=AX/offset=-0x8000", inst: MOVQ, c: -128, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 525 {name: "MOVQ/c=32767/base=AX/offset=-0x8000", inst: MOVQ, c: 32767, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 526 {name: "MOVQ/c=-32768/base=AX/offset=-0x8000", inst: MOVQ, c: -32768, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 527 {name: "MOVQ/c=1048576/base=AX/offset=-0x8000", inst: MOVQ, c: 1048576, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 528 {name: "MOVQ/c=-1048576/base=AX/offset=-0x8000", inst: MOVQ, c: -1048576, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 529 {name: "MOVQ/c=2147483647/base=AX/offset=-0x8000", inst: MOVQ, c: 2147483647, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 530 {name: "MOVQ/c=-2147483648/base=AX/offset=-0x8000", inst: MOVQ, c: -2147483648, baseReg: RegAX, offset: -0x8000, exp: []byte{0x48, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 531 {name: "MOVQ/c=0/base=R8/offset=0x0", inst: MOVQ, c: 0, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x0}}, 532 {name: "MOVQ/c=1/base=R8/offset=0x0", inst: MOVQ, c: 1, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x1, 0x0, 0x0, 0x0}}, 533 {name: "MOVQ/c=-1/base=R8/offset=0x0", inst: MOVQ, c: -1, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0xff, 0xff, 0xff, 0xff}}, 534 {name: "MOVQ/c=100/base=R8/offset=0x0", inst: MOVQ, c: 100, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x64, 0x0, 0x0, 0x0}}, 535 {name: "MOVQ/c=-100/base=R8/offset=0x0", inst: MOVQ, c: -100, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 536 {name: "MOVQ/c=127/base=R8/offset=0x0", inst: MOVQ, c: 127, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 537 {name: "MOVQ/c=-128/base=R8/offset=0x0", inst: MOVQ, c: -128, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x80, 0xff, 0xff, 0xff}}, 538 {name: "MOVQ/c=32767/base=R8/offset=0x0", inst: MOVQ, c: 32767, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 539 {name: "MOVQ/c=-32768/base=R8/offset=0x0", inst: MOVQ, c: -32768, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x0, 0x80, 0xff, 0xff}}, 540 {name: "MOVQ/c=1048576/base=R8/offset=0x0", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x0, 0x0, 0x10, 0x0}}, 541 {name: "MOVQ/c=-1048576/base=R8/offset=0x0", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 542 {name: "MOVQ/c=2147483647/base=R8/offset=0x0", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 543 {name: "MOVQ/c=-2147483648/base=R8/offset=0x0", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: 0x0, exp: []byte{0x49, 0xc7, 0x0, 0x0, 0x0, 0x0, 0x80}}, 544 {name: "MOVQ/c=0/base=R8/offset=0x1", inst: MOVQ, c: 0, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x0}}, 545 {name: "MOVQ/c=1/base=R8/offset=0x1", inst: MOVQ, c: 1, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x1, 0x0, 0x0, 0x0}}, 546 {name: "MOVQ/c=-1/base=R8/offset=0x1", inst: MOVQ, c: -1, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0xff}}, 547 {name: "MOVQ/c=100/base=R8/offset=0x1", inst: MOVQ, c: 100, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x64, 0x0, 0x0, 0x0}}, 548 {name: "MOVQ/c=-100/base=R8/offset=0x1", inst: MOVQ, c: -100, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x9c, 0xff, 0xff, 0xff}}, 549 {name: "MOVQ/c=127/base=R8/offset=0x1", inst: MOVQ, c: 127, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x7f, 0x0, 0x0, 0x0}}, 550 {name: "MOVQ/c=-128/base=R8/offset=0x1", inst: MOVQ, c: -128, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x80, 0xff, 0xff, 0xff}}, 551 {name: "MOVQ/c=32767/base=R8/offset=0x1", inst: MOVQ, c: 32767, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0xff, 0x7f, 0x0, 0x0}}, 552 {name: "MOVQ/c=-32768/base=R8/offset=0x1", inst: MOVQ, c: -32768, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x0, 0x80, 0xff, 0xff}}, 553 {name: "MOVQ/c=1048576/base=R8/offset=0x1", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x10, 0x0}}, 554 {name: "MOVQ/c=-1048576/base=R8/offset=0x1", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x0, 0x0, 0xf0, 0xff}}, 555 {name: "MOVQ/c=2147483647/base=R8/offset=0x1", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0xff, 0xff, 0xff, 0x7f}}, 556 {name: "MOVQ/c=-2147483648/base=R8/offset=0x1", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: 0x1, exp: []byte{0x49, 0xc7, 0x40, 0x1, 0x0, 0x0, 0x0, 0x80}}, 557 {name: "MOVQ/c=0/base=R8/offset=-0x1", inst: MOVQ, c: 0, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x0}}, 558 {name: "MOVQ/c=1/base=R8/offset=-0x1", inst: MOVQ, c: 1, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x1, 0x0, 0x0, 0x0}}, 559 {name: "MOVQ/c=-1/base=R8/offset=-0x1", inst: MOVQ, c: -1, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff}}, 560 {name: "MOVQ/c=100/base=R8/offset=-0x1", inst: MOVQ, c: 100, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x64, 0x0, 0x0, 0x0}}, 561 {name: "MOVQ/c=-100/base=R8/offset=-0x1", inst: MOVQ, c: -100, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 562 {name: "MOVQ/c=127/base=R8/offset=-0x1", inst: MOVQ, c: 127, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 563 {name: "MOVQ/c=-128/base=R8/offset=-0x1", inst: MOVQ, c: -128, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x80, 0xff, 0xff, 0xff}}, 564 {name: "MOVQ/c=32767/base=R8/offset=-0x1", inst: MOVQ, c: 32767, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 565 {name: "MOVQ/c=-32768/base=R8/offset=-0x1", inst: MOVQ, c: -32768, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x0, 0x80, 0xff, 0xff}}, 566 {name: "MOVQ/c=1048576/base=R8/offset=-0x1", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x10, 0x0}}, 567 {name: "MOVQ/c=-1048576/base=R8/offset=-0x1", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 568 {name: "MOVQ/c=2147483647/base=R8/offset=-0x1", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 569 {name: "MOVQ/c=-2147483648/base=R8/offset=-0x1", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: -0x1, exp: []byte{0x49, 0xc7, 0x40, 0xff, 0x0, 0x0, 0x0, 0x80}}, 570 {name: "MOVQ/c=0/base=R8/offset=0x4db", inst: MOVQ, c: 0, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 571 {name: "MOVQ/c=1/base=R8/offset=0x4db", inst: MOVQ, c: 1, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 572 {name: "MOVQ/c=-1/base=R8/offset=0x4db", inst: MOVQ, c: -1, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 573 {name: "MOVQ/c=100/base=R8/offset=0x4db", inst: MOVQ, c: 100, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 574 {name: "MOVQ/c=-100/base=R8/offset=0x4db", inst: MOVQ, c: -100, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 575 {name: "MOVQ/c=127/base=R8/offset=0x4db", inst: MOVQ, c: 127, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 576 {name: "MOVQ/c=-128/base=R8/offset=0x4db", inst: MOVQ, c: -128, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 577 {name: "MOVQ/c=32767/base=R8/offset=0x4db", inst: MOVQ, c: 32767, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 578 {name: "MOVQ/c=-32768/base=R8/offset=0x4db", inst: MOVQ, c: -32768, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 579 {name: "MOVQ/c=1048576/base=R8/offset=0x4db", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 580 {name: "MOVQ/c=-1048576/base=R8/offset=0x4db", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 581 {name: "MOVQ/c=2147483647/base=R8/offset=0x4db", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 582 {name: "MOVQ/c=-2147483648/base=R8/offset=0x4db", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: 0x4db, exp: []byte{0x49, 0xc7, 0x80, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 583 {name: "MOVQ/c=0/base=R8/offset=-0x4d2", inst: MOVQ, c: 0, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 584 {name: "MOVQ/c=1/base=R8/offset=-0x4d2", inst: MOVQ, c: 1, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 585 {name: "MOVQ/c=-1/base=R8/offset=-0x4d2", inst: MOVQ, c: -1, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 586 {name: "MOVQ/c=100/base=R8/offset=-0x4d2", inst: MOVQ, c: 100, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 587 {name: "MOVQ/c=-100/base=R8/offset=-0x4d2", inst: MOVQ, c: -100, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 588 {name: "MOVQ/c=127/base=R8/offset=-0x4d2", inst: MOVQ, c: 127, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 589 {name: "MOVQ/c=-128/base=R8/offset=-0x4d2", inst: MOVQ, c: -128, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 590 {name: "MOVQ/c=32767/base=R8/offset=-0x4d2", inst: MOVQ, c: 32767, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 591 {name: "MOVQ/c=-32768/base=R8/offset=-0x4d2", inst: MOVQ, c: -32768, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 592 {name: "MOVQ/c=1048576/base=R8/offset=-0x4d2", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 593 {name: "MOVQ/c=-1048576/base=R8/offset=-0x4d2", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 594 {name: "MOVQ/c=2147483647/base=R8/offset=-0x4d2", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 595 {name: "MOVQ/c=-2147483648/base=R8/offset=-0x4d2", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: -0x4d2, exp: []byte{0x49, 0xc7, 0x80, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 596 {name: "MOVQ/c=0/base=R8/offset=0x7fffffff", inst: MOVQ, c: 0, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0}}, 597 {name: "MOVQ/c=1/base=R8/offset=0x7fffffff", inst: MOVQ, c: 1, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x1, 0x0, 0x0, 0x0}}, 598 {name: "MOVQ/c=-1/base=R8/offset=0x7fffffff", inst: MOVQ, c: -1, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff}}, 599 {name: "MOVQ/c=100/base=R8/offset=0x7fffffff", inst: MOVQ, c: 100, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x64, 0x0, 0x0, 0x0}}, 600 {name: "MOVQ/c=-100/base=R8/offset=0x7fffffff", inst: MOVQ, c: -100, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x9c, 0xff, 0xff, 0xff}}, 601 {name: "MOVQ/c=127/base=R8/offset=0x7fffffff", inst: MOVQ, c: 127, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0x0, 0x0, 0x0}}, 602 {name: "MOVQ/c=-128/base=R8/offset=0x7fffffff", inst: MOVQ, c: -128, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x80, 0xff, 0xff, 0xff}}, 603 {name: "MOVQ/c=32767/base=R8/offset=0x7fffffff", inst: MOVQ, c: 32767, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x0, 0x0}}, 604 {name: "MOVQ/c=-32768/base=R8/offset=0x7fffffff", inst: MOVQ, c: -32768, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0xff, 0xff}}, 605 {name: "MOVQ/c=1048576/base=R8/offset=0x7fffffff", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x10, 0x0}}, 606 {name: "MOVQ/c=-1048576/base=R8/offset=0x7fffffff", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0xf0, 0xff}}, 607 {name: "MOVQ/c=2147483647/base=R8/offset=0x7fffffff", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f}}, 608 {name: "MOVQ/c=-2147483648/base=R8/offset=0x7fffffff", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: 0x7fffffff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80}}, 609 {name: "MOVQ/c=0/base=R8/offset=-0x80000000", inst: MOVQ, c: 0, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0}}, 610 {name: "MOVQ/c=1/base=R8/offset=-0x80000000", inst: MOVQ, c: 1, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x1, 0x0, 0x0, 0x0}}, 611 {name: "MOVQ/c=-1/base=R8/offset=-0x80000000", inst: MOVQ, c: -1, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff}}, 612 {name: "MOVQ/c=100/base=R8/offset=-0x80000000", inst: MOVQ, c: 100, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x64, 0x0, 0x0, 0x0}}, 613 {name: "MOVQ/c=-100/base=R8/offset=-0x80000000", inst: MOVQ, c: -100, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x9c, 0xff, 0xff, 0xff}}, 614 {name: "MOVQ/c=127/base=R8/offset=-0x80000000", inst: MOVQ, c: 127, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x7f, 0x0, 0x0, 0x0}}, 615 {name: "MOVQ/c=-128/base=R8/offset=-0x80000000", inst: MOVQ, c: -128, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x80, 0xff, 0xff, 0xff}}, 616 {name: "MOVQ/c=32767/base=R8/offset=-0x80000000", inst: MOVQ, c: 32767, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0}}, 617 {name: "MOVQ/c=-32768/base=R8/offset=-0x80000000", inst: MOVQ, c: -32768, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0xff, 0xff}}, 618 {name: "MOVQ/c=1048576/base=R8/offset=-0x80000000", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x10, 0x0}}, 619 {name: "MOVQ/c=-1048576/base=R8/offset=-0x80000000", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf0, 0xff}}, 620 {name: "MOVQ/c=2147483647/base=R8/offset=-0x80000000", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f}}, 621 {name: "MOVQ/c=-2147483648/base=R8/offset=-0x80000000", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: -0x80000000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80}}, 622 {name: "MOVQ/c=0/base=R8/offset=0x7fff", inst: MOVQ, c: 0, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 623 {name: "MOVQ/c=1/base=R8/offset=0x7fff", inst: MOVQ, c: 1, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0}}, 624 {name: "MOVQ/c=-1/base=R8/offset=0x7fff", inst: MOVQ, c: -1, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff}}, 625 {name: "MOVQ/c=100/base=R8/offset=0x7fff", inst: MOVQ, c: 100, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0}}, 626 {name: "MOVQ/c=-100/base=R8/offset=0x7fff", inst: MOVQ, c: -100, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x9c, 0xff, 0xff, 0xff}}, 627 {name: "MOVQ/c=127/base=R8/offset=0x7fff", inst: MOVQ, c: 127, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0}}, 628 {name: "MOVQ/c=-128/base=R8/offset=0x7fff", inst: MOVQ, c: -128, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff}}, 629 {name: "MOVQ/c=32767/base=R8/offset=0x7fff", inst: MOVQ, c: 32767, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 630 {name: "MOVQ/c=-32768/base=R8/offset=0x7fff", inst: MOVQ, c: -32768, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 631 {name: "MOVQ/c=1048576/base=R8/offset=0x7fff", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 632 {name: "MOVQ/c=-1048576/base=R8/offset=0x7fff", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 633 {name: "MOVQ/c=2147483647/base=R8/offset=0x7fff", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 634 {name: "MOVQ/c=-2147483648/base=R8/offset=0x7fff", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: 0x7fff, exp: []byte{0x49, 0xc7, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 635 {name: "MOVQ/c=0/base=R8/offset=-0x8000", inst: MOVQ, c: 0, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}}, 636 {name: "MOVQ/c=1/base=R8/offset=-0x8000", inst: MOVQ, c: 1, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x1, 0x0, 0x0, 0x0}}, 637 {name: "MOVQ/c=-1/base=R8/offset=-0x8000", inst: MOVQ, c: -1, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}}, 638 {name: "MOVQ/c=100/base=R8/offset=-0x8000", inst: MOVQ, c: 100, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x64, 0x0, 0x0, 0x0}}, 639 {name: "MOVQ/c=-100/base=R8/offset=-0x8000", inst: MOVQ, c: -100, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x9c, 0xff, 0xff, 0xff}}, 640 {name: "MOVQ/c=127/base=R8/offset=-0x8000", inst: MOVQ, c: 127, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 641 {name: "MOVQ/c=-128/base=R8/offset=-0x8000", inst: MOVQ, c: -128, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x80, 0xff, 0xff, 0xff}}, 642 {name: "MOVQ/c=32767/base=R8/offset=-0x8000", inst: MOVQ, c: 32767, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 643 {name: "MOVQ/c=-32768/base=R8/offset=-0x8000", inst: MOVQ, c: -32768, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 644 {name: "MOVQ/c=1048576/base=R8/offset=-0x8000", inst: MOVQ, c: 1048576, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 645 {name: "MOVQ/c=-1048576/base=R8/offset=-0x8000", inst: MOVQ, c: -1048576, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 646 {name: "MOVQ/c=2147483647/base=R8/offset=-0x8000", inst: MOVQ, c: 2147483647, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 647 {name: "MOVQ/c=-2147483648/base=R8/offset=-0x8000", inst: MOVQ, c: -2147483648, baseReg: RegR8, offset: -0x8000, exp: []byte{0x49, 0xc7, 0x80, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 648 } 649 650 for _, tc := range tests { 651 a := NewAssembler() 652 err := a.encodeConstToMemory(&nodeImpl{ 653 instruction: tc.inst, 654 types: operandTypesConstToMemory, srcConst: tc.c, dstReg: tc.baseReg, dstConst: int64(tc.offset), 655 }) 656 require.NoError(t, err) 657 } 658 } 659 660 func TestAssemblerImpl_EncodeMemoryToConst(t *testing.T) { 661 t.Run("error", func(t *testing.T) { 662 tests := []struct { 663 n *nodeImpl 664 expErr string 665 }{ 666 { 667 n: &nodeImpl{instruction: ADDL, types: operandTypesMemoryToConst, dstReg: RegAX}, 668 expErr: "ADDL is unsupported for from:memory,to:const type", 669 }, 670 } 671 672 for _, tc := range tests { 673 a := NewAssembler() 674 err := a.encodeMemoryToConst(tc.n) 675 require.EqualError(t, err, tc.expErr) 676 } 677 }) 678 679 tests := []struct { 680 name string 681 inst asm.Instruction 682 baseReg asm.Register 683 offset, c int64 684 exp []byte 685 }{ 686 {name: "CMPL/base=AX/offset=0x0/c=0", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 0, exp: []byte{0x83, 0x38, 0x0}}, 687 {name: "CMPL/base=AX/offset=0x0/c=1", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 1, exp: []byte{0x83, 0x38, 0x1}}, 688 {name: "CMPL/base=AX/offset=0x0/c=-1", inst: CMPL, baseReg: RegAX, offset: 0x0, c: -1, exp: []byte{0x83, 0x38, 0xff}}, 689 {name: "CMPL/base=AX/offset=0x0/c=100", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 100, exp: []byte{0x83, 0x38, 0x64}}, 690 {name: "CMPL/base=AX/offset=0x0/c=-100", inst: CMPL, baseReg: RegAX, offset: 0x0, c: -100, exp: []byte{0x83, 0x38, 0x9c}}, 691 {name: "CMPL/base=AX/offset=0x0/c=127", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 127, exp: []byte{0x83, 0x38, 0x7f}}, 692 {name: "CMPL/base=AX/offset=0x0/c=-128", inst: CMPL, baseReg: RegAX, offset: 0x0, c: -128, exp: []byte{0x83, 0x38, 0x80}}, 693 {name: "CMPL/base=AX/offset=0x0/c=32767", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 32767, exp: []byte{0x81, 0x38, 0xff, 0x7f, 0x0, 0x0}}, 694 {name: "CMPL/base=AX/offset=0x0/c=-32768", inst: CMPL, baseReg: RegAX, offset: 0x0, c: -32768, exp: []byte{0x81, 0x38, 0x0, 0x80, 0xff, 0xff}}, 695 {name: "CMPL/base=AX/offset=0x0/c=1048576", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 1048576, exp: []byte{0x81, 0x38, 0x0, 0x0, 0x10, 0x0}}, 696 {name: "CMPL/base=AX/offset=0x0/c=-1048576", inst: CMPL, baseReg: RegAX, offset: 0x0, c: -1048576, exp: []byte{0x81, 0x38, 0x0, 0x0, 0xf0, 0xff}}, 697 {name: "CMPL/base=AX/offset=0x0/c=2147483647", inst: CMPL, baseReg: RegAX, offset: 0x0, c: 2147483647, exp: []byte{0x81, 0x38, 0xff, 0xff, 0xff, 0x7f}}, 698 {name: "CMPL/base=AX/offset=0x0/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: 0x0, c: -2147483648, exp: []byte{0x81, 0x38, 0x0, 0x0, 0x0, 0x80}}, 699 {name: "CMPL/base=AX/offset=0x1/c=0", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 0, exp: []byte{0x83, 0x78, 0x1, 0x0}}, 700 {name: "CMPL/base=AX/offset=0x1/c=1", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 1, exp: []byte{0x83, 0x78, 0x1, 0x1}}, 701 {name: "CMPL/base=AX/offset=0x1/c=-1", inst: CMPL, baseReg: RegAX, offset: 0x1, c: -1, exp: []byte{0x83, 0x78, 0x1, 0xff}}, 702 {name: "CMPL/base=AX/offset=0x1/c=100", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 100, exp: []byte{0x83, 0x78, 0x1, 0x64}}, 703 {name: "CMPL/base=AX/offset=0x1/c=-100", inst: CMPL, baseReg: RegAX, offset: 0x1, c: -100, exp: []byte{0x83, 0x78, 0x1, 0x9c}}, 704 {name: "CMPL/base=AX/offset=0x1/c=127", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 127, exp: []byte{0x83, 0x78, 0x1, 0x7f}}, 705 {name: "CMPL/base=AX/offset=0x1/c=-128", inst: CMPL, baseReg: RegAX, offset: 0x1, c: -128, exp: []byte{0x83, 0x78, 0x1, 0x80}}, 706 {name: "CMPL/base=AX/offset=0x1/c=32767", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 32767, exp: []byte{0x81, 0x78, 0x1, 0xff, 0x7f, 0x0, 0x0}}, 707 {name: "CMPL/base=AX/offset=0x1/c=-32768", inst: CMPL, baseReg: RegAX, offset: 0x1, c: -32768, exp: []byte{0x81, 0x78, 0x1, 0x0, 0x80, 0xff, 0xff}}, 708 {name: "CMPL/base=AX/offset=0x1/c=1048576", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 1048576, exp: []byte{0x81, 0x78, 0x1, 0x0, 0x0, 0x10, 0x0}}, 709 {name: "CMPL/base=AX/offset=0x1/c=-1048576", inst: CMPL, baseReg: RegAX, offset: 0x1, c: -1048576, exp: []byte{0x81, 0x78, 0x1, 0x0, 0x0, 0xf0, 0xff}}, 710 {name: "CMPL/base=AX/offset=0x1/c=2147483647", inst: CMPL, baseReg: RegAX, offset: 0x1, c: 2147483647, exp: []byte{0x81, 0x78, 0x1, 0xff, 0xff, 0xff, 0x7f}}, 711 {name: "CMPL/base=AX/offset=0x1/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: 0x1, c: -2147483648, exp: []byte{0x81, 0x78, 0x1, 0x0, 0x0, 0x0, 0x80}}, 712 {name: "CMPL/base=AX/offset=-0x1/c=0", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 0, exp: []byte{0x83, 0x78, 0xff, 0x0}}, 713 {name: "CMPL/base=AX/offset=-0x1/c=1", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 1, exp: []byte{0x83, 0x78, 0xff, 0x1}}, 714 {name: "CMPL/base=AX/offset=-0x1/c=-1", inst: CMPL, baseReg: RegAX, offset: -0x1, c: -1, exp: []byte{0x83, 0x78, 0xff, 0xff}}, 715 {name: "CMPL/base=AX/offset=-0x1/c=100", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 100, exp: []byte{0x83, 0x78, 0xff, 0x64}}, 716 {name: "CMPL/base=AX/offset=-0x1/c=-100", inst: CMPL, baseReg: RegAX, offset: -0x1, c: -100, exp: []byte{0x83, 0x78, 0xff, 0x9c}}, 717 {name: "CMPL/base=AX/offset=-0x1/c=127", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 127, exp: []byte{0x83, 0x78, 0xff, 0x7f}}, 718 {name: "CMPL/base=AX/offset=-0x1/c=-128", inst: CMPL, baseReg: RegAX, offset: -0x1, c: -128, exp: []byte{0x83, 0x78, 0xff, 0x80}}, 719 {name: "CMPL/base=AX/offset=-0x1/c=32767", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 32767, exp: []byte{0x81, 0x78, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 720 {name: "CMPL/base=AX/offset=-0x1/c=-32768", inst: CMPL, baseReg: RegAX, offset: -0x1, c: -32768, exp: []byte{0x81, 0x78, 0xff, 0x0, 0x80, 0xff, 0xff}}, 721 {name: "CMPL/base=AX/offset=-0x1/c=1048576", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 1048576, exp: []byte{0x81, 0x78, 0xff, 0x0, 0x0, 0x10, 0x0}}, 722 {name: "CMPL/base=AX/offset=-0x1/c=-1048576", inst: CMPL, baseReg: RegAX, offset: -0x1, c: -1048576, exp: []byte{0x81, 0x78, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 723 {name: "CMPL/base=AX/offset=-0x1/c=2147483647", inst: CMPL, baseReg: RegAX, offset: -0x1, c: 2147483647, exp: []byte{0x81, 0x78, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 724 {name: "CMPL/base=AX/offset=-0x1/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: -0x1, c: -2147483648, exp: []byte{0x81, 0x78, 0xff, 0x0, 0x0, 0x0, 0x80}}, 725 {name: "CMPL/base=AX/offset=0x4db/c=0", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 0, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0}}, 726 {name: "CMPL/base=AX/offset=0x4db/c=1", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 1, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x1}}, 727 {name: "CMPL/base=AX/offset=0x4db/c=-1", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: -1, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0xff}}, 728 {name: "CMPL/base=AX/offset=0x4db/c=100", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 100, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x64}}, 729 {name: "CMPL/base=AX/offset=0x4db/c=-100", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: -100, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x9c}}, 730 {name: "CMPL/base=AX/offset=0x4db/c=127", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 127, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x7f}}, 731 {name: "CMPL/base=AX/offset=0x4db/c=-128", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: -128, exp: []byte{0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x80}}, 732 {name: "CMPL/base=AX/offset=0x4db/c=32767", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 32767, exp: []byte{0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 733 {name: "CMPL/base=AX/offset=0x4db/c=-32768", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: -32768, exp: []byte{0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 734 {name: "CMPL/base=AX/offset=0x4db/c=1048576", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 1048576, exp: []byte{0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 735 {name: "CMPL/base=AX/offset=0x4db/c=-1048576", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: -1048576, exp: []byte{0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 736 {name: "CMPL/base=AX/offset=0x4db/c=2147483647", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: 2147483647, exp: []byte{0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 737 {name: "CMPL/base=AX/offset=0x4db/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: 0x4db, c: -2147483648, exp: []byte{0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 738 {name: "CMPL/base=AX/offset=-0x4d2/c=0", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 0, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0}}, 739 {name: "CMPL/base=AX/offset=-0x4d2/c=1", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 1, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x1}}, 740 {name: "CMPL/base=AX/offset=-0x4d2/c=-1", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: -1, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0xff}}, 741 {name: "CMPL/base=AX/offset=-0x4d2/c=100", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 100, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x64}}, 742 {name: "CMPL/base=AX/offset=-0x4d2/c=-100", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: -100, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x9c}}, 743 {name: "CMPL/base=AX/offset=-0x4d2/c=127", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 127, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x7f}}, 744 {name: "CMPL/base=AX/offset=-0x4d2/c=-128", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: -128, exp: []byte{0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x80}}, 745 {name: "CMPL/base=AX/offset=-0x4d2/c=32767", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 32767, exp: []byte{0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 746 {name: "CMPL/base=AX/offset=-0x4d2/c=-32768", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: -32768, exp: []byte{0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 747 {name: "CMPL/base=AX/offset=-0x4d2/c=1048576", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 1048576, exp: []byte{0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 748 {name: "CMPL/base=AX/offset=-0x4d2/c=-1048576", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: -1048576, exp: []byte{0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 749 {name: "CMPL/base=AX/offset=-0x4d2/c=2147483647", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: 2147483647, exp: []byte{0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 750 {name: "CMPL/base=AX/offset=-0x4d2/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: -0x4d2, c: -2147483648, exp: []byte{0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 751 {name: "CMPL/base=AX/offset=0x7fffffff/c=0", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 0, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0}}, 752 {name: "CMPL/base=AX/offset=0x7fffffff/c=1", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 1, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x1}}, 753 {name: "CMPL/base=AX/offset=0x7fffffff/c=-1", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: -1, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0xff}}, 754 {name: "CMPL/base=AX/offset=0x7fffffff/c=100", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 100, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x64}}, 755 {name: "CMPL/base=AX/offset=0x7fffffff/c=-100", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: -100, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x9c}}, 756 {name: "CMPL/base=AX/offset=0x7fffffff/c=127", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 127, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x7f}}, 757 {name: "CMPL/base=AX/offset=0x7fffffff/c=-128", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: -128, exp: []byte{0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x80}}, 758 {name: "CMPL/base=AX/offset=0x7fffffff/c=32767", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 32767, exp: []byte{0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x0, 0x0}}, 759 {name: "CMPL/base=AX/offset=0x7fffffff/c=-32768", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: -32768, exp: []byte{0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0xff, 0xff}}, 760 {name: "CMPL/base=AX/offset=0x7fffffff/c=1048576", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 1048576, exp: []byte{0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x10, 0x0}}, 761 {name: "CMPL/base=AX/offset=0x7fffffff/c=-1048576", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: -1048576, exp: []byte{0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0xf0, 0xff}}, 762 {name: "CMPL/base=AX/offset=0x7fffffff/c=2147483647", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: 2147483647, exp: []byte{0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f}}, 763 {name: "CMPL/base=AX/offset=0x7fffffff/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: 0x7fffffff, c: -2147483648, exp: []byte{0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80}}, 764 {name: "CMPL/base=AX/offset=-0x80000000/c=0", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 0, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0}}, 765 {name: "CMPL/base=AX/offset=-0x80000000/c=1", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 1, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x1}}, 766 {name: "CMPL/base=AX/offset=-0x80000000/c=-1", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: -1, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0xff}}, 767 {name: "CMPL/base=AX/offset=-0x80000000/c=100", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 100, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x64}}, 768 {name: "CMPL/base=AX/offset=-0x80000000/c=-100", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: -100, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x9c}}, 769 {name: "CMPL/base=AX/offset=-0x80000000/c=127", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 127, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x7f}}, 770 {name: "CMPL/base=AX/offset=-0x80000000/c=-128", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: -128, exp: []byte{0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x80}}, 771 {name: "CMPL/base=AX/offset=-0x80000000/c=32767", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 32767, exp: []byte{0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0}}, 772 {name: "CMPL/base=AX/offset=-0x80000000/c=-32768", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: -32768, exp: []byte{0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0xff, 0xff}}, 773 {name: "CMPL/base=AX/offset=-0x80000000/c=1048576", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 1048576, exp: []byte{0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x10, 0x0}}, 774 {name: "CMPL/base=AX/offset=-0x80000000/c=-1048576", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: -1048576, exp: []byte{0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf0, 0xff}}, 775 {name: "CMPL/base=AX/offset=-0x80000000/c=2147483647", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: 2147483647, exp: []byte{0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f}}, 776 {name: "CMPL/base=AX/offset=-0x80000000/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: -0x80000000, c: -2147483648, exp: []byte{0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80}}, 777 {name: "CMPL/base=AX/offset=0x7fff/c=0", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 0, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 778 {name: "CMPL/base=AX/offset=0x7fff/c=1", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 1, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x1}}, 779 {name: "CMPL/base=AX/offset=0x7fff/c=-1", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: -1, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0xff}}, 780 {name: "CMPL/base=AX/offset=0x7fff/c=100", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 100, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x64}}, 781 {name: "CMPL/base=AX/offset=0x7fff/c=-100", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: -100, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x9c}}, 782 {name: "CMPL/base=AX/offset=0x7fff/c=127", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 127, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x7f}}, 783 {name: "CMPL/base=AX/offset=0x7fff/c=-128", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: -128, exp: []byte{0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x80}}, 784 {name: "CMPL/base=AX/offset=0x7fff/c=32767", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 32767, exp: []byte{0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 785 {name: "CMPL/base=AX/offset=0x7fff/c=-32768", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: -32768, exp: []byte{0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 786 {name: "CMPL/base=AX/offset=0x7fff/c=1048576", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 1048576, exp: []byte{0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 787 {name: "CMPL/base=AX/offset=0x7fff/c=-1048576", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: -1048576, exp: []byte{0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 788 {name: "CMPL/base=AX/offset=0x7fff/c=2147483647", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: 2147483647, exp: []byte{0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 789 {name: "CMPL/base=AX/offset=0x7fff/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: 0x7fff, c: -2147483648, exp: []byte{0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 790 {name: "CMPL/base=AX/offset=-0x8000/c=0", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 0, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0}}, 791 {name: "CMPL/base=AX/offset=-0x8000/c=1", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 1, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x1}}, 792 {name: "CMPL/base=AX/offset=-0x8000/c=-1", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: -1, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0xff}}, 793 {name: "CMPL/base=AX/offset=-0x8000/c=100", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 100, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x64}}, 794 {name: "CMPL/base=AX/offset=-0x8000/c=-100", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: -100, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x9c}}, 795 {name: "CMPL/base=AX/offset=-0x8000/c=127", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 127, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x7f}}, 796 {name: "CMPL/base=AX/offset=-0x8000/c=-128", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: -128, exp: []byte{0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x80}}, 797 {name: "CMPL/base=AX/offset=-0x8000/c=32767", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 32767, exp: []byte{0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 798 {name: "CMPL/base=AX/offset=-0x8000/c=-32768", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: -32768, exp: []byte{0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 799 {name: "CMPL/base=AX/offset=-0x8000/c=1048576", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 1048576, exp: []byte{0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 800 {name: "CMPL/base=AX/offset=-0x8000/c=-1048576", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: -1048576, exp: []byte{0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 801 {name: "CMPL/base=AX/offset=-0x8000/c=2147483647", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: 2147483647, exp: []byte{0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 802 {name: "CMPL/base=AX/offset=-0x8000/c=-2147483648", inst: CMPL, baseReg: RegAX, offset: -0x8000, c: -2147483648, exp: []byte{0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 803 {name: "CMPL/base=R8/offset=0x0/c=0", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 0, exp: []byte{0x41, 0x83, 0x38, 0x0}}, 804 {name: "CMPL/base=R8/offset=0x0/c=1", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 1, exp: []byte{0x41, 0x83, 0x38, 0x1}}, 805 {name: "CMPL/base=R8/offset=0x0/c=-1", inst: CMPL, baseReg: RegR8, offset: 0x0, c: -1, exp: []byte{0x41, 0x83, 0x38, 0xff}}, 806 {name: "CMPL/base=R8/offset=0x0/c=100", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 100, exp: []byte{0x41, 0x83, 0x38, 0x64}}, 807 {name: "CMPL/base=R8/offset=0x0/c=-100", inst: CMPL, baseReg: RegR8, offset: 0x0, c: -100, exp: []byte{0x41, 0x83, 0x38, 0x9c}}, 808 {name: "CMPL/base=R8/offset=0x0/c=127", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 127, exp: []byte{0x41, 0x83, 0x38, 0x7f}}, 809 {name: "CMPL/base=R8/offset=0x0/c=-128", inst: CMPL, baseReg: RegR8, offset: 0x0, c: -128, exp: []byte{0x41, 0x83, 0x38, 0x80}}, 810 {name: "CMPL/base=R8/offset=0x0/c=32767", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 32767, exp: []byte{0x41, 0x81, 0x38, 0xff, 0x7f, 0x0, 0x0}}, 811 {name: "CMPL/base=R8/offset=0x0/c=-32768", inst: CMPL, baseReg: RegR8, offset: 0x0, c: -32768, exp: []byte{0x41, 0x81, 0x38, 0x0, 0x80, 0xff, 0xff}}, 812 {name: "CMPL/base=R8/offset=0x0/c=1048576", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 1048576, exp: []byte{0x41, 0x81, 0x38, 0x0, 0x0, 0x10, 0x0}}, 813 {name: "CMPL/base=R8/offset=0x0/c=-1048576", inst: CMPL, baseReg: RegR8, offset: 0x0, c: -1048576, exp: []byte{0x41, 0x81, 0x38, 0x0, 0x0, 0xf0, 0xff}}, 814 {name: "CMPL/base=R8/offset=0x0/c=2147483647", inst: CMPL, baseReg: RegR8, offset: 0x0, c: 2147483647, exp: []byte{0x41, 0x81, 0x38, 0xff, 0xff, 0xff, 0x7f}}, 815 {name: "CMPL/base=R8/offset=0x0/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: 0x0, c: -2147483648, exp: []byte{0x41, 0x81, 0x38, 0x0, 0x0, 0x0, 0x80}}, 816 {name: "CMPL/base=R8/offset=0x1/c=0", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 0, exp: []byte{0x41, 0x83, 0x78, 0x1, 0x0}}, 817 {name: "CMPL/base=R8/offset=0x1/c=1", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 1, exp: []byte{0x41, 0x83, 0x78, 0x1, 0x1}}, 818 {name: "CMPL/base=R8/offset=0x1/c=-1", inst: CMPL, baseReg: RegR8, offset: 0x1, c: -1, exp: []byte{0x41, 0x83, 0x78, 0x1, 0xff}}, 819 {name: "CMPL/base=R8/offset=0x1/c=100", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 100, exp: []byte{0x41, 0x83, 0x78, 0x1, 0x64}}, 820 {name: "CMPL/base=R8/offset=0x1/c=-100", inst: CMPL, baseReg: RegR8, offset: 0x1, c: -100, exp: []byte{0x41, 0x83, 0x78, 0x1, 0x9c}}, 821 {name: "CMPL/base=R8/offset=0x1/c=127", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 127, exp: []byte{0x41, 0x83, 0x78, 0x1, 0x7f}}, 822 {name: "CMPL/base=R8/offset=0x1/c=-128", inst: CMPL, baseReg: RegR8, offset: 0x1, c: -128, exp: []byte{0x41, 0x83, 0x78, 0x1, 0x80}}, 823 {name: "CMPL/base=R8/offset=0x1/c=32767", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 32767, exp: []byte{0x41, 0x81, 0x78, 0x1, 0xff, 0x7f, 0x0, 0x0}}, 824 {name: "CMPL/base=R8/offset=0x1/c=-32768", inst: CMPL, baseReg: RegR8, offset: 0x1, c: -32768, exp: []byte{0x41, 0x81, 0x78, 0x1, 0x0, 0x80, 0xff, 0xff}}, 825 {name: "CMPL/base=R8/offset=0x1/c=1048576", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 1048576, exp: []byte{0x41, 0x81, 0x78, 0x1, 0x0, 0x0, 0x10, 0x0}}, 826 {name: "CMPL/base=R8/offset=0x1/c=-1048576", inst: CMPL, baseReg: RegR8, offset: 0x1, c: -1048576, exp: []byte{0x41, 0x81, 0x78, 0x1, 0x0, 0x0, 0xf0, 0xff}}, 827 {name: "CMPL/base=R8/offset=0x1/c=2147483647", inst: CMPL, baseReg: RegR8, offset: 0x1, c: 2147483647, exp: []byte{0x41, 0x81, 0x78, 0x1, 0xff, 0xff, 0xff, 0x7f}}, 828 {name: "CMPL/base=R8/offset=0x1/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: 0x1, c: -2147483648, exp: []byte{0x41, 0x81, 0x78, 0x1, 0x0, 0x0, 0x0, 0x80}}, 829 {name: "CMPL/base=R8/offset=-0x1/c=0", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 0, exp: []byte{0x41, 0x83, 0x78, 0xff, 0x0}}, 830 {name: "CMPL/base=R8/offset=-0x1/c=1", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 1, exp: []byte{0x41, 0x83, 0x78, 0xff, 0x1}}, 831 {name: "CMPL/base=R8/offset=-0x1/c=-1", inst: CMPL, baseReg: RegR8, offset: -0x1, c: -1, exp: []byte{0x41, 0x83, 0x78, 0xff, 0xff}}, 832 {name: "CMPL/base=R8/offset=-0x1/c=100", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 100, exp: []byte{0x41, 0x83, 0x78, 0xff, 0x64}}, 833 {name: "CMPL/base=R8/offset=-0x1/c=-100", inst: CMPL, baseReg: RegR8, offset: -0x1, c: -100, exp: []byte{0x41, 0x83, 0x78, 0xff, 0x9c}}, 834 {name: "CMPL/base=R8/offset=-0x1/c=127", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 127, exp: []byte{0x41, 0x83, 0x78, 0xff, 0x7f}}, 835 {name: "CMPL/base=R8/offset=-0x1/c=-128", inst: CMPL, baseReg: RegR8, offset: -0x1, c: -128, exp: []byte{0x41, 0x83, 0x78, 0xff, 0x80}}, 836 {name: "CMPL/base=R8/offset=-0x1/c=32767", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 32767, exp: []byte{0x41, 0x81, 0x78, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 837 {name: "CMPL/base=R8/offset=-0x1/c=-32768", inst: CMPL, baseReg: RegR8, offset: -0x1, c: -32768, exp: []byte{0x41, 0x81, 0x78, 0xff, 0x0, 0x80, 0xff, 0xff}}, 838 {name: "CMPL/base=R8/offset=-0x1/c=1048576", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 1048576, exp: []byte{0x41, 0x81, 0x78, 0xff, 0x0, 0x0, 0x10, 0x0}}, 839 {name: "CMPL/base=R8/offset=-0x1/c=-1048576", inst: CMPL, baseReg: RegR8, offset: -0x1, c: -1048576, exp: []byte{0x41, 0x81, 0x78, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 840 {name: "CMPL/base=R8/offset=-0x1/c=2147483647", inst: CMPL, baseReg: RegR8, offset: -0x1, c: 2147483647, exp: []byte{0x41, 0x81, 0x78, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 841 {name: "CMPL/base=R8/offset=-0x1/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: -0x1, c: -2147483648, exp: []byte{0x41, 0x81, 0x78, 0xff, 0x0, 0x0, 0x0, 0x80}}, 842 {name: "CMPL/base=R8/offset=0x4db/c=0", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 0, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0}}, 843 {name: "CMPL/base=R8/offset=0x4db/c=1", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 1, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x1}}, 844 {name: "CMPL/base=R8/offset=0x4db/c=-1", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: -1, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0xff}}, 845 {name: "CMPL/base=R8/offset=0x4db/c=100", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 100, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x64}}, 846 {name: "CMPL/base=R8/offset=0x4db/c=-100", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: -100, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x9c}}, 847 {name: "CMPL/base=R8/offset=0x4db/c=127", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 127, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x7f}}, 848 {name: "CMPL/base=R8/offset=0x4db/c=-128", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: -128, exp: []byte{0x41, 0x83, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x80}}, 849 {name: "CMPL/base=R8/offset=0x4db/c=32767", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 32767, exp: []byte{0x41, 0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 850 {name: "CMPL/base=R8/offset=0x4db/c=-32768", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: -32768, exp: []byte{0x41, 0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 851 {name: "CMPL/base=R8/offset=0x4db/c=1048576", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 1048576, exp: []byte{0x41, 0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 852 {name: "CMPL/base=R8/offset=0x4db/c=-1048576", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: -1048576, exp: []byte{0x41, 0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 853 {name: "CMPL/base=R8/offset=0x4db/c=2147483647", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: 2147483647, exp: []byte{0x41, 0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 854 {name: "CMPL/base=R8/offset=0x4db/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: 0x4db, c: -2147483648, exp: []byte{0x41, 0x81, 0xb8, 0xdb, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 855 {name: "CMPL/base=R8/offset=-0x4d2/c=0", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 0, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0}}, 856 {name: "CMPL/base=R8/offset=-0x4d2/c=1", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 1, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x1}}, 857 {name: "CMPL/base=R8/offset=-0x4d2/c=-1", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: -1, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0xff}}, 858 {name: "CMPL/base=R8/offset=-0x4d2/c=100", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 100, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x64}}, 859 {name: "CMPL/base=R8/offset=-0x4d2/c=-100", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: -100, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x9c}}, 860 {name: "CMPL/base=R8/offset=-0x4d2/c=127", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 127, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x7f}}, 861 {name: "CMPL/base=R8/offset=-0x4d2/c=-128", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: -128, exp: []byte{0x41, 0x83, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x80}}, 862 {name: "CMPL/base=R8/offset=-0x4d2/c=32767", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 32767, exp: []byte{0x41, 0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 863 {name: "CMPL/base=R8/offset=-0x4d2/c=-32768", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: -32768, exp: []byte{0x41, 0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 864 {name: "CMPL/base=R8/offset=-0x4d2/c=1048576", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 1048576, exp: []byte{0x41, 0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 865 {name: "CMPL/base=R8/offset=-0x4d2/c=-1048576", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: -1048576, exp: []byte{0x41, 0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 866 {name: "CMPL/base=R8/offset=-0x4d2/c=2147483647", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: 2147483647, exp: []byte{0x41, 0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 867 {name: "CMPL/base=R8/offset=-0x4d2/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: -0x4d2, c: -2147483648, exp: []byte{0x41, 0x81, 0xb8, 0x2e, 0xfb, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 868 {name: "CMPL/base=R8/offset=0x7fffffff/c=0", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 0, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0}}, 869 {name: "CMPL/base=R8/offset=0x7fffffff/c=1", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 1, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x1}}, 870 {name: "CMPL/base=R8/offset=0x7fffffff/c=-1", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: -1, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0xff}}, 871 {name: "CMPL/base=R8/offset=0x7fffffff/c=100", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 100, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x64}}, 872 {name: "CMPL/base=R8/offset=0x7fffffff/c=-100", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: -100, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x9c}}, 873 {name: "CMPL/base=R8/offset=0x7fffffff/c=127", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 127, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x7f}}, 874 {name: "CMPL/base=R8/offset=0x7fffffff/c=-128", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: -128, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x80}}, 875 {name: "CMPL/base=R8/offset=0x7fffffff/c=32767", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 32767, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x7f, 0x0, 0x0}}, 876 {name: "CMPL/base=R8/offset=0x7fffffff/c=-32768", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: -32768, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x80, 0xff, 0xff}}, 877 {name: "CMPL/base=R8/offset=0x7fffffff/c=1048576", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 1048576, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x10, 0x0}}, 878 {name: "CMPL/base=R8/offset=0x7fffffff/c=-1048576", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: -1048576, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0xf0, 0xff}}, 879 {name: "CMPL/base=R8/offset=0x7fffffff/c=2147483647", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: 2147483647, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x7f}}, 880 {name: "CMPL/base=R8/offset=0x7fffffff/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: 0x7fffffff, c: -2147483648, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80}}, 881 {name: "CMPL/base=R8/offset=-0x80000000/c=0", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 0, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0}}, 882 {name: "CMPL/base=R8/offset=-0x80000000/c=1", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 1, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x1}}, 883 {name: "CMPL/base=R8/offset=-0x80000000/c=-1", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: -1, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0xff}}, 884 {name: "CMPL/base=R8/offset=-0x80000000/c=100", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 100, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x64}}, 885 {name: "CMPL/base=R8/offset=-0x80000000/c=-100", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: -100, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x9c}}, 886 {name: "CMPL/base=R8/offset=-0x80000000/c=127", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 127, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x7f}}, 887 {name: "CMPL/base=R8/offset=-0x80000000/c=-128", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: -128, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x80}}, 888 {name: "CMPL/base=R8/offset=-0x80000000/c=32767", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 32767, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0}}, 889 {name: "CMPL/base=R8/offset=-0x80000000/c=-32768", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: -32768, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x80, 0xff, 0xff}}, 890 {name: "CMPL/base=R8/offset=-0x80000000/c=1048576", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 1048576, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x10, 0x0}}, 891 {name: "CMPL/base=R8/offset=-0x80000000/c=-1048576", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: -1048576, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0xf0, 0xff}}, 892 {name: "CMPL/base=R8/offset=-0x80000000/c=2147483647", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: 2147483647, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f}}, 893 {name: "CMPL/base=R8/offset=-0x80000000/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: -0x80000000, c: -2147483648, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x80}}, 894 {name: "CMPL/base=R8/offset=0x7fff/c=0", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 0, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0}}, 895 {name: "CMPL/base=R8/offset=0x7fff/c=1", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 1, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x1}}, 896 {name: "CMPL/base=R8/offset=0x7fff/c=-1", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: -1, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0xff}}, 897 {name: "CMPL/base=R8/offset=0x7fff/c=100", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 100, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x64}}, 898 {name: "CMPL/base=R8/offset=0x7fff/c=-100", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: -100, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x9c}}, 899 {name: "CMPL/base=R8/offset=0x7fff/c=127", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 127, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x7f}}, 900 {name: "CMPL/base=R8/offset=0x7fff/c=-128", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: -128, exp: []byte{0x41, 0x83, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x80}}, 901 {name: "CMPL/base=R8/offset=0x7fff/c=32767", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 32767, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0xff, 0x7f, 0x0, 0x0}}, 902 {name: "CMPL/base=R8/offset=0x7fff/c=-32768", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: -32768, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff}}, 903 {name: "CMPL/base=R8/offset=0x7fff/c=1048576", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 1048576, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0}}, 904 {name: "CMPL/base=R8/offset=0x7fff/c=-1048576", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: -1048576, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff}}, 905 {name: "CMPL/base=R8/offset=0x7fff/c=2147483647", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: 2147483647, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0xff, 0xff, 0xff, 0x7f}}, 906 {name: "CMPL/base=R8/offset=0x7fff/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: 0x7fff, c: -2147483648, exp: []byte{0x41, 0x81, 0xb8, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, 907 {name: "CMPL/base=R8/offset=-0x8000/c=0", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 0, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0}}, 908 {name: "CMPL/base=R8/offset=-0x8000/c=1", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 1, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x1}}, 909 {name: "CMPL/base=R8/offset=-0x8000/c=-1", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: -1, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0xff}}, 910 {name: "CMPL/base=R8/offset=-0x8000/c=100", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 100, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x64}}, 911 {name: "CMPL/base=R8/offset=-0x8000/c=-100", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: -100, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x9c}}, 912 {name: "CMPL/base=R8/offset=-0x8000/c=127", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 127, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x7f}}, 913 {name: "CMPL/base=R8/offset=-0x8000/c=-128", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: -128, exp: []byte{0x41, 0x83, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x80}}, 914 {name: "CMPL/base=R8/offset=-0x8000/c=32767", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 32767, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0xff, 0x7f, 0x0, 0x0}}, 915 {name: "CMPL/base=R8/offset=-0x8000/c=-32768", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: -32768, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x80, 0xff, 0xff}}, 916 {name: "CMPL/base=R8/offset=-0x8000/c=1048576", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 1048576, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x10, 0x0}}, 917 {name: "CMPL/base=R8/offset=-0x8000/c=-1048576", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: -1048576, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xff}}, 918 {name: "CMPL/base=R8/offset=-0x8000/c=2147483647", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: 2147483647, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f}}, 919 {name: "CMPL/base=R8/offset=-0x8000/c=-2147483648", inst: CMPL, baseReg: RegR8, offset: -0x8000, c: -2147483648, exp: []byte{0x41, 0x81, 0xb8, 0x0, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x80}}, 920 } 921 922 for _, tc := range tests { 923 a := NewAssembler() 924 err := a.encodeMemoryToConst(&nodeImpl{ 925 instruction: tc.inst, 926 types: operandTypesMemoryToConst, srcReg: tc.baseReg, srcConst: tc.offset, dstConst: tc.c, 927 }) 928 require.NoError(t, err, tc.name) 929 require.Equal(t, tc.exp, a.buf.Bytes(), tc.name) 930 } 931 } 932 933 func TestAssemblerImpl_ResolveForwardRelativeJumps(t *testing.T) { 934 t.Run("long jump", func(t *testing.T) { 935 t.Run("error", func(t *testing.T) { 936 originOffset, targetOffset := uint64(0), uint64(math.MaxInt64) 937 origin := &nodeImpl{instruction: JMP, offsetInBinaryField: originOffset} 938 target := &nodeImpl{offsetInBinaryField: targetOffset, jumpOrigins: map[*nodeImpl]struct{}{origin: {}}} 939 a := NewAssembler() 940 err := a.ResolveForwardRelativeJumps(target) 941 require.EqualError(t, err, "too large jump offset 9223372036854775802 for encoding JMP") 942 }) 943 t.Run("ok", func(t *testing.T) { 944 originOffset := uint64(0) 945 tests := []struct { 946 instruction asm.Instruction 947 targetOffset uint64 948 expectedOffsetFromEIP int32 949 writtenOffsetIndexInBinary int 950 }{ 951 { 952 instruction: JMP, targetOffset: 1234, 953 writtenOffsetIndexInBinary: 1, // JMP has one opcode byte for long jump. 954 expectedOffsetFromEIP: 1234 - 5, // the instruction length of long relative jmp. 955 }, 956 { 957 instruction: JCC, targetOffset: 1234, 958 writtenOffsetIndexInBinary: 2, // Conditional jumps has two opcode for long jump. 959 expectedOffsetFromEIP: 1234 - 6, // the instruction length of long relative JCC 960 }, 961 } 962 963 for _, tt := range tests { 964 tc := tt 965 origin := &nodeImpl{instruction: tc.instruction, offsetInBinaryField: originOffset} 966 target := &nodeImpl{offsetInBinaryField: tc.targetOffset, jumpOrigins: map[*nodeImpl]struct{}{origin: {}}} 967 a := NewAssembler() 968 969 // Grow the capacity of buffer so that we could put the offset. 970 a.buf.Write([]byte{0, 0, 0, 0, 0, 0}) // Relative long jumps are at most 6 bytes. 971 972 err := a.ResolveForwardRelativeJumps(target) 973 require.NoError(t, err) 974 975 actual := binary.LittleEndian.Uint32(a.buf.Bytes()[tc.writtenOffsetIndexInBinary:]) 976 require.Equal(t, tc.expectedOffsetFromEIP, int32(actual)) 977 } 978 }) 979 }) 980 t.Run("short jump", func(t *testing.T) { 981 t.Run("reassemble", func(t *testing.T) { 982 originOffset := uint64(0) 983 tests := []struct { 984 instruction asm.Instruction 985 targetOffset uint64 986 }{ 987 { 988 instruction: JMP, 989 targetOffset: 10000, 990 }, 991 { 992 instruction: JMP, 993 // Relative jump offset = 130 - len(JMP instruction bytes) = 130 - 2 = 128 > math.MaxInt8. 994 targetOffset: 130, 995 }, 996 { 997 instruction: JCC, 998 targetOffset: 10000, 999 }, 1000 { 1001 instruction: JCC, 1002 // Relative jump offset = 130 - len(JCC instruction bytes) = 130 -2 = 128 > math.MaxInt8. 1003 targetOffset: 130, 1004 }, 1005 } 1006 1007 for _, tt := range tests { 1008 tc := tt 1009 origin := &nodeImpl{instruction: tc.instruction, offsetInBinaryField: originOffset, flag: nodeFlagShortForwardJump} 1010 target := &nodeImpl{offsetInBinaryField: tc.targetOffset, jumpOrigins: map[*nodeImpl]struct{}{origin: {}}} 1011 origin.jumpTarget = target 1012 1013 a := NewAssembler() 1014 err := a.ResolveForwardRelativeJumps(target) 1015 require.NoError(t, err) 1016 1017 require.True(t, a.forceReAssemble) 1018 require.True(t, origin.flag&nodeFlagShortForwardJump == 0) 1019 } 1020 }) 1021 t.Run("ok", func(t *testing.T) { 1022 originOffset := uint64(0) 1023 tests := []struct { 1024 instruction asm.Instruction 1025 targetOffset uint64 1026 expectedOffsetFromEIP byte 1027 }{ 1028 { 1029 instruction: JMP, targetOffset: 129, 1030 expectedOffsetFromEIP: 129 - 2, // short jumps are of 2 bytes. 1031 }, 1032 { 1033 instruction: JCC, targetOffset: 129, 1034 expectedOffsetFromEIP: 129 - 2, // short jumps are of 2 bytes. 1035 }, 1036 } 1037 1038 for _, tt := range tests { 1039 tc := tt 1040 origin := &nodeImpl{instruction: tc.instruction, offsetInBinaryField: originOffset, flag: nodeFlagShortForwardJump} 1041 target := &nodeImpl{offsetInBinaryField: tc.targetOffset, jumpOrigins: map[*nodeImpl]struct{}{origin: {}}} 1042 origin.jumpTarget = target 1043 1044 a := NewAssembler() 1045 1046 // Grow the capacity of buffer so that we could put the offset. 1047 a.buf.Write([]byte{0, 0}) // Relative short jumps are of 2 bytes. 1048 1049 err := a.ResolveForwardRelativeJumps(target) 1050 require.NoError(t, err) 1051 1052 actual := a.buf.Bytes()[1] // For short jumps, the opcode has one opcode so the offset is writte at 2nd byte. 1053 require.Equal(t, tc.expectedOffsetFromEIP, actual) 1054 } 1055 }) 1056 }) 1057 }