github.com/wasilibs/wazerox@v0.0.0-20240124024944-4923be63ab5f/internal/asm/arm64/impl_2_test.go (about)

     1  package arm64
     2  
     3  import (
     4  	"encoding/hex"
     5  	"testing"
     6  
     7  	"github.com/wasilibs/wazerox/internal/asm"
     8  	"github.com/wasilibs/wazerox/internal/testing/require"
     9  )
    10  
    11  func TestAssemblerImpl_EncodeConstToRegister(t *testing.T) {
    12  	t.Run("error", func(t *testing.T) {
    13  		tests := []struct {
    14  			n      *nodeImpl
    15  			expErr string
    16  		}{
    17  			{
    18  				n: &nodeImpl{
    19  					instruction: ADR, types: operandTypesConstToRegister,
    20  					srcReg: RegR0, srcReg2: RegR0, dstReg: RegR0,
    21  				},
    22  				expErr: "ADR is unsupported for ConstToRegister type",
    23  			},
    24  			{
    25  				n:      &nodeImpl{instruction: LSR, types: operandTypesConstToRegister, dstReg: RegR0},
    26  				expErr: "LSR with zero constant should be optimized out",
    27  			},
    28  			{
    29  				n:      &nodeImpl{instruction: LSL, types: operandTypesConstToRegister, dstReg: RegR0},
    30  				expErr: "LSL with zero constant should be optimized out",
    31  			},
    32  		}
    33  
    34  		code := asm.CodeSegment{}
    35  		defer func() { require.NoError(t, code.Unmap()) }()
    36  
    37  		for _, tt := range tests {
    38  			tc := tt
    39  			a := NewAssembler(asm.NilRegister)
    40  			buf := code.NextCodeSection()
    41  			err := a.encodeConstToRegister(buf, tc.n)
    42  			require.EqualError(t, err, tc.expErr)
    43  		}
    44  	})
    45  
    46  	tests := []struct {
    47  		name string
    48  		n    *nodeImpl
    49  		exp  []byte
    50  	}{
    51  		{
    52  			name: "add x29, sp, #0x200",
    53  			n: &nodeImpl{
    54  				instruction: ADD,
    55  				srcReg:      RegSP,
    56  				dstReg:      RegR29,
    57  				srcConst:    512,
    58  			},
    59  			exp: []byte{0xfd, 0x3, 0x8, 0x91},
    60  		},
    61  		{
    62  			name: "add x29, sp, #0x100, lsl #12",
    63  			n: &nodeImpl{
    64  				instruction: ADD,
    65  				srcReg:      RegSP,
    66  				dstReg:      RegR29,
    67  				srcConst:    0x100000,
    68  			},
    69  			exp: []byte{0xfd, 0x3, 0x44, 0x91},
    70  		},
    71  		{
    72  			name: "sub x29, sp, #0x200",
    73  			n: &nodeImpl{
    74  				instruction: SUB,
    75  				srcReg:      RegSP,
    76  				dstReg:      RegR29,
    77  				srcConst:    512,
    78  			},
    79  			exp: []byte{0xfd, 0x3, 0x8, 0xd1},
    80  		},
    81  		{
    82  			name: "sub x29, sp, #0x100, lsl #12",
    83  			n: &nodeImpl{
    84  				instruction: SUB,
    85  				srcReg:      RegSP,
    86  				dstReg:      RegR29,
    87  				srcConst:    0x100000,
    88  			},
    89  			exp: []byte{0xfd, 0x3, 0x44, 0xd1},
    90  		},
    91  		{
    92  			name: "movz x27, #0x1f54; add  sp, sp, x27",
    93  			n: &nodeImpl{
    94  				instruction: ADD,
    95  				dstReg:      RegSP,
    96  				srcConst:    8020,
    97  			},
    98  			exp: []byte{0x9b, 0xea, 0x83, 0xd2, 0xff, 0x63, 0x3b, 0x8b},
    99  		},
   100  		{
   101  			name: "movz x27, #0x1f54; add  x28, sp, x27",
   102  			n: &nodeImpl{
   103  				instruction: ADD,
   104  				srcReg:      RegSP,
   105  				dstReg:      RegR28,
   106  				srcConst:    8020,
   107  			},
   108  			exp: []byte{0x9b, 0xea, 0x83, 0xd2, 0xfc, 0x63, 0x3b, 0x8b},
   109  		},
   110  		{
   111  			name: "movz x27, #0x1f54; sub  sp, sp, x27",
   112  			n: &nodeImpl{
   113  				instruction: SUB,
   114  				dstReg:      RegSP,
   115  				srcConst:    8020,
   116  			},
   117  			exp: []byte{0x9b, 0xea, 0x83, 0xd2, 0xff, 0x63, 0x3b, 0xcb},
   118  		},
   119  		{
   120  			name: "movz x27, #0x1f54; sub  x28, sp, x27",
   121  			n: &nodeImpl{
   122  				instruction: SUB,
   123  				srcReg:      RegSP,
   124  				dstReg:      RegR28,
   125  				srcConst:    8020,
   126  			},
   127  			exp: []byte{0x9b, 0xea, 0x83, 0xd2, 0xfc, 0x63, 0x3b, 0xcb},
   128  		},
   129  		{
   130  			name: "add sp, sp, #0x200",
   131  			n: &nodeImpl{
   132  				instruction: ADD,
   133  				dstReg:      RegSP,
   134  				srcConst:    512,
   135  			},
   136  			exp: []byte{0xff, 0x3, 0x8, 0x91},
   137  		},
   138  		{
   139  			name: "sub sp, sp, #0x200",
   140  			n: &nodeImpl{
   141  				instruction: SUB,
   142  				dstReg:      RegSP,
   143  				srcConst:    512,
   144  			},
   145  			exp: []byte{0xff, 0x3, 0x8, 0xd1},
   146  		},
   147  		{
   148  			name: "and w30, w30, #1",
   149  			n: &nodeImpl{
   150  				instruction:       ANDIMM32,
   151  				dstReg:            RegR30,
   152  				srcConst:          1,
   153  				vectorArrangement: VectorArrangement16B,
   154  			},
   155  			exp: []byte{0xde, 0x3, 0x0, 0x12},
   156  		},
   157  		{
   158  			name: "and w30, w30, #7",
   159  			n: &nodeImpl{
   160  				instruction:       ANDIMM32,
   161  				dstReg:            RegR30,
   162  				srcConst:          0x7,
   163  				vectorArrangement: VectorArrangement16B,
   164  			},
   165  			exp: []byte{0xde, 0xb, 0x0, 0x12},
   166  		},
   167  		{
   168  			name: "and w30, w30, #0xf",
   169  			n: &nodeImpl{
   170  				instruction:       ANDIMM32,
   171  				dstReg:            RegR30,
   172  				srcConst:          0xf,
   173  				vectorArrangement: VectorArrangement16B,
   174  			},
   175  			exp: []byte{0xde, 0xf, 0x0, 0x12},
   176  		},
   177  		{
   178  			name: "and w30, w30, #0x1f",
   179  			n: &nodeImpl{
   180  				instruction:       ANDIMM32,
   181  				dstReg:            RegR30,
   182  				srcConst:          0x1f,
   183  				vectorArrangement: VectorArrangement16B,
   184  			},
   185  			exp: []byte{0xde, 0x13, 0x0, 0x12},
   186  		},
   187  		{
   188  			name: "and w30, w30, #0x3f",
   189  			n: &nodeImpl{
   190  				instruction:       ANDIMM32,
   191  				dstReg:            RegR30,
   192  				srcConst:          0x3f,
   193  				vectorArrangement: VectorArrangement16B,
   194  			},
   195  			exp: []byte{0xde, 0x17, 0x0, 0x12},
   196  		},
   197  		{
   198  			name: "and x30, x30, #1",
   199  			n: &nodeImpl{
   200  				instruction:       ANDIMM64,
   201  				dstReg:            RegR30,
   202  				srcConst:          1,
   203  				vectorArrangement: VectorArrangement16B,
   204  			},
   205  			exp: []byte{0xde, 0x3, 0x40, 0x92},
   206  		},
   207  		{
   208  			name: "and x30, x30, #7",
   209  			n: &nodeImpl{
   210  				instruction:       ANDIMM64,
   211  				dstReg:            RegR30,
   212  				srcConst:          0x7,
   213  				vectorArrangement: VectorArrangement16B,
   214  			},
   215  			exp: []byte{0xde, 0xb, 0x40, 0x92},
   216  		},
   217  		{
   218  			name: "and x30, x30, #0xf",
   219  			n: &nodeImpl{
   220  				instruction:       ANDIMM64,
   221  				dstReg:            RegR30,
   222  				srcConst:          0xf,
   223  				vectorArrangement: VectorArrangement16B,
   224  			},
   225  			exp: []byte{0xde, 0xf, 0x40, 0x92},
   226  		},
   227  		{
   228  			name: "and x30, x30, #0x1f",
   229  			n: &nodeImpl{
   230  				instruction:       ANDIMM64,
   231  				dstReg:            RegR30,
   232  				srcConst:          0x1f,
   233  				vectorArrangement: VectorArrangement16B,
   234  			},
   235  			exp: []byte{0xde, 0x13, 0x40, 0x92},
   236  		},
   237  		{
   238  			name: "and x30, x30, #0x3f",
   239  			n: &nodeImpl{
   240  				instruction:       ANDIMM64,
   241  				dstReg:            RegR30,
   242  				srcConst:          0x3f,
   243  				vectorArrangement: VectorArrangement16B,
   244  			},
   245  			exp: []byte{0xde, 0x17, 0x40, 0x92},
   246  		},
   247  		{name: "ADD/dst=R30/0x1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0x91}},
   248  		{name: "ADD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   249  		{name: "ADD/dst=R30/0xfff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4095}, exp: []byte{0xde, 0xff, 0x3f, 0x91}},
   250  		{name: "ADD/dst=R30/0xfffffffffffff001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4095}, exp: []byte{0xdb, 0xff, 0x81, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   251  		{name: "ADD/dst=R30/0xfff000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 16773120}, exp: []byte{0xde, 0xff, 0x7f, 0x91}},
   252  		{name: "ADD/dst=R30/0xffffffffff001000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -16773120}, exp: []byte{0xfb, 0xff, 0x9d, 0x92, 0x1b, 0xe0, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   253  		{name: "ADD/dst=R30/0x7b000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 503808}, exp: []byte{0xde, 0xef, 0x41, 0x91}},
   254  		{name: "ADD/dst=R30/0xfffffffffff85000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -503808}, exp: []byte{0xfb, 0xff, 0x95, 0x92, 0x1b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   255  		{name: "ADD/dst=R30/0x8001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 32769}, exp: []byte{0x3b, 0x0, 0x90, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   256  		{name: "ADD/dst=R30/0xffffffffffff7fff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -32769}, exp: []byte{0x1b, 0x0, 0x90, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   257  		{name: "ADD/dst=R30/0x80010000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   258  		{name: "ADD/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   259  		{name: "ADD/dst=R30/0x800100000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 140741783322624}, exp: []byte{0x3b, 0x0, 0xd0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   260  		{name: "ADD/dst=R30/0xffff7fff00000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -140741783322624}, exp: []byte{0xfb, 0xff, 0xcf, 0xd2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   261  		{name: "ADD/dst=R30/0xffffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 281474976710655}, exp: []byte{0xfb, 0xff, 0xff, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   262  		{name: "ADD/dst=R30/0xffff000000000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -281474976710655}, exp: []byte{0xfb, 0x43, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   263  		{name: "ADD/dst=R30/0xffff0000ffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -281470681743361}, exp: []byte{0xfb, 0xff, 0xdf, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   264  		{name: "ADD/dst=R30/0xffff00000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 281470681743361}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   265  		{name: "ADD/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   266  		{name: "ADD/dst=R30/0x7fffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   267  		{name: "ADD/dst=R30/0xffff00000000ffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -281474976645121}, exp: []byte{0xfb, 0x7f, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   268  		{name: "ADD/dst=R30/0xffffffff0001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 281474976645121}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xe0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   269  		{name: "ADD/dst=R30/0x100001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1048577}, exp: []byte{0xde, 0x7, 0x0, 0x91, 0xde, 0x3, 0x44, 0x91}},
   270  		{name: "ADD/dst=R30/0xffffffffffefffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1048577}, exp: []byte{0x1b, 0x2, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   271  		{name: "ADD/dst=R30/0xfffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1048575}, exp: []byte{0xfb, 0x4f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   272  		{name: "ADD/dst=R30/0xfffffffffff00001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1048575}, exp: []byte{0xfb, 0xb3, 0x6c, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   273  		{name: "ADD/dst=R30/0x800001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8388609}, exp: []byte{0xde, 0x7, 0x0, 0x91, 0xde, 0x3, 0x60, 0x91}},
   274  		{name: "ADD/dst=R30/0xffffffffff7fffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8388609}, exp: []byte{0x1b, 0x10, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   275  		{name: "ADD/dst=R30/0x40000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   276  		{name: "ADD/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   277  		{name: "ADD/dst=R30/0x2", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0x91}},
   278  		{name: "ADD/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   279  		{name: "ADD/dst=R30/0x3", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0x91}},
   280  		{name: "ADD/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   281  		{name: "ADD/dst=R30/0x1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0x91}},
   282  		{name: "ADD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   283  		{name: "ADD/dst=R30/0x11", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0x91}},
   284  		{name: "ADD/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   285  		{name: "ADD/dst=R30/0x4", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4}, exp: []byte{0xde, 0x13, 0x0, 0x91}},
   286  		{name: "ADD/dst=R30/0xfffffffffffffffc", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4}, exp: []byte{0x7b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   287  		{name: "ADD/dst=R30/0x5", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 5}, exp: []byte{0xde, 0x17, 0x0, 0x91}},
   288  		{name: "ADD/dst=R30/0xfffffffffffffffb", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -5}, exp: []byte{0x9b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   289  		{name: "ADD/dst=R30/0x3", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0x91}},
   290  		{name: "ADD/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   291  		{name: "ADD/dst=R30/0x13", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 19}, exp: []byte{0xde, 0x4f, 0x0, 0x91}},
   292  		{name: "ADD/dst=R30/0xffffffffffffffed", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -19}, exp: []byte{0x5b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   293  		{name: "ADD/dst=R30/0x8", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8}, exp: []byte{0xde, 0x23, 0x0, 0x91}},
   294  		{name: "ADD/dst=R30/0xfffffffffffffff8", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   295  		{name: "ADD/dst=R30/0x9", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 9}, exp: []byte{0xde, 0x27, 0x0, 0x91}},
   296  		{name: "ADD/dst=R30/0xfffffffffffffff7", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -9}, exp: []byte{0x1b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   297  		{name: "ADD/dst=R30/0x7", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 7}, exp: []byte{0xde, 0x1f, 0x0, 0x91}},
   298  		{name: "ADD/dst=R30/0xfffffffffffffff9", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -7}, exp: []byte{0xdb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   299  		{name: "ADD/dst=R30/0x17", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 23}, exp: []byte{0xde, 0x5f, 0x0, 0x91}},
   300  		{name: "ADD/dst=R30/0xffffffffffffffe9", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -23}, exp: []byte{0xdb, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   301  		{name: "ADD/dst=R30/0x10", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 16}, exp: []byte{0xde, 0x43, 0x0, 0x91}},
   302  		{name: "ADD/dst=R30/0xfffffffffffffff0", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -16}, exp: []byte{0xfb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   303  		{name: "ADD/dst=R30/0x11", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0x91}},
   304  		{name: "ADD/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   305  		{name: "ADD/dst=R30/0xf", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 15}, exp: []byte{0xde, 0x3f, 0x0, 0x91}},
   306  		{name: "ADD/dst=R30/0xfffffffffffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -15}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   307  		{name: "ADD/dst=R30/0x1f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0x91}},
   308  		{name: "ADD/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   309  		{name: "ADD/dst=R30/0x20", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 32}, exp: []byte{0xde, 0x83, 0x0, 0x91}},
   310  		{name: "ADD/dst=R30/0xffffffffffffffe0", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -32}, exp: []byte{0xfb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   311  		{name: "ADD/dst=R30/0x21", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 33}, exp: []byte{0xde, 0x87, 0x0, 0x91}},
   312  		{name: "ADD/dst=R30/0xffffffffffffffdf", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -33}, exp: []byte{0x1b, 0x4, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   313  		{name: "ADD/dst=R30/0x1f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0x91}},
   314  		{name: "ADD/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   315  		{name: "ADD/dst=R30/0x2f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 47}, exp: []byte{0xde, 0xbf, 0x0, 0x91}},
   316  		{name: "ADD/dst=R30/0xffffffffffffffd1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -47}, exp: []byte{0xdb, 0x5, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   317  		{name: "ADD/dst=R30/0x40", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 64}, exp: []byte{0xde, 0x3, 0x1, 0x91}},
   318  		{name: "ADD/dst=R30/0xffffffffffffffc0", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -64}, exp: []byte{0xfb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   319  		{name: "ADD/dst=R30/0x41", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 65}, exp: []byte{0xde, 0x7, 0x1, 0x91}},
   320  		{name: "ADD/dst=R30/0xffffffffffffffbf", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -65}, exp: []byte{0x1b, 0x8, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   321  		{name: "ADD/dst=R30/0x3f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 63}, exp: []byte{0xde, 0xff, 0x0, 0x91}},
   322  		{name: "ADD/dst=R30/0xffffffffffffffc1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -63}, exp: []byte{0xdb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   323  		{name: "ADD/dst=R30/0x4f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 79}, exp: []byte{0xde, 0x3f, 0x1, 0x91}},
   324  		{name: "ADD/dst=R30/0xffffffffffffffb1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -79}, exp: []byte{0xdb, 0x9, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   325  		{name: "ADD/dst=R30/0x1ffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8190}, exp: []byte{0xdb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   326  		{name: "ADD/dst=R30/0xffffffffffffe002", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8190}, exp: []byte{0xbb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   327  		{name: "ADD/dst=R30/0x1ffd", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8189}, exp: []byte{0xbb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   328  		{name: "ADD/dst=R30/0xffffffffffffe003", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8189}, exp: []byte{0x9b, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   329  		{name: "ADD/dst=R30/0x1fff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8191}, exp: []byte{0xfb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   330  		{name: "ADD/dst=R30/0xffffffffffffe001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8191}, exp: []byte{0xdb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   331  		{name: "ADD/dst=R30/0x0", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 0}, exp: []byte{0xde, 0x3, 0x1f, 0x8b}},
   332  		{name: "ADD/dst=R30/0x1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0x91}},
   333  		{name: "ADD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   334  		{name: "ADD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   335  		{name: "ADD/dst=R30/0x1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0x91}},
   336  		{name: "ADD/dst=R30/0x2", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0x91}},
   337  		{name: "ADD/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   338  		{name: "ADD/dst=R30/0x3", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0x91}},
   339  		{name: "ADD/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   340  		{name: "ADD/dst=R30/0xa", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0x91}},
   341  		{name: "ADD/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   342  		{name: "ADD/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   343  		{name: "ADD/dst=R30/0xa", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0x91}},
   344  		{name: "ADD/dst=R30/0x7b", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0x91}},
   345  		{name: "ADD/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   346  		{name: "ADD/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   347  		{name: "ADD/dst=R30/0x7b", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0x91}},
   348  		{name: "ADD/dst=R30/0x7fff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 32767}, exp: []byte{0xfb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   349  		{name: "ADD/dst=R30/0xffffffffffff8001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -32767}, exp: []byte{0xdb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   350  		{name: "ADD/dst=R30/0x7fffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   351  		{name: "ADD/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   352  		{name: "ADD/dst=R30/0xffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   353  		{name: "ADD/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   354  		{name: "ADD/dst=R30/0x4002", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 16386}, exp: []byte{0x5b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   355  		{name: "ADD/dst=R30/0xffffffffffffbffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -16386}, exp: []byte{0x3b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   356  		{name: "ADD/dst=R30/0xffff0000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   357  		{name: "ADD/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   358  		{name: "ADD/dst=R30/0xffff0001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294901761}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   359  		{name: "ADD/dst=R30/0xffffffff0000ffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294901761}, exp: []byte{0xfb, 0xff, 0xbf, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   360  		{name: "ADD/dst=R30/0xf00000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 251658255}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   361  		{name: "ADD/dst=R30/0xfffffffff0fffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -251658255}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   362  		{name: "ADD/dst=R30/0x7ffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 32766}, exp: []byte{0xdb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   363  		{name: "ADD/dst=R30/0xffffffffffff8002", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -32766}, exp: []byte{0xbb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   364  		{name: "ADD/dst=R30/0x7ffffffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2147483646}, exp: []byte{0xfb, 0x77, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   365  		{name: "ADD/dst=R30/0xffffffff80000002", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2147483646}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xb0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   366  		{name: "ADD/dst=R30/0xfffffffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967294}, exp: []byte{0xfb, 0x7b, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   367  		{name: "ADD/dst=R30/0xffffffff00000002", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967294}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   368  		{name: "ADD/dst=R30/0x4001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 16385}, exp: []byte{0x3b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   369  		{name: "ADD/dst=R30/0xffffffffffffbfff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -16385}, exp: []byte{0x1b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   370  		{name: "ADD/dst=R30/0xfffeffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294901759}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   371  		{name: "ADD/dst=R30/0xffffffff00010001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294901759}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   372  		{name: "ADD/dst=R30/0xffff0000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   373  		{name: "ADD/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   374  		{name: "ADD/dst=R30/0xf00000e", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 251658254}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   375  		{name: "ADD/dst=R30/0xfffffffff0fffff2", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -251658254}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   376  		{name: "ADD/dst=R30/0x8000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 32768}, exp: []byte{0xde, 0x23, 0x40, 0x91}},
   377  		{name: "ADD/dst=R30/0xffffffffffff8000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -32768}, exp: []byte{0xfb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   378  		{name: "ADD/dst=R30/0x4009", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 16393}, exp: []byte{0x3b, 0x1, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   379  		{name: "ADD/dst=R30/0xffffffffffffbff7", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -16393}, exp: []byte{0x1b, 0x1, 0x88, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   380  		{name: "ADD/dst=R30/0xffeffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 268369919}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   381  		{name: "ADD/dst=R30/0xfffffffff0010001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -268369919}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   382  		{name: "ADD/dst=R30/0xffe0000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 268304384}, exp: []byte{0xdb, 0xff, 0xa1, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   383  		{name: "ADD/dst=R30/0xfffffffff0020000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -268304384}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x5b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   384  		{name: "ADD/dst=R30/0xe00000e", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 234881038}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xc0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   385  		{name: "ADD/dst=R30/0xfffffffff1fffff2", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -234881038}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x3f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   386  		{name: "ADD/dst=R30/0x80010000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   387  		{name: "ADD/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   388  		{name: "ADD/dst=R30/0x10002", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 65538}, exp: []byte{0xde, 0xb, 0x0, 0x91, 0xde, 0x43, 0x40, 0x91}},
   389  		{name: "ADD/dst=R30/0xfffffffffffefffe", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -65538}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   390  		{name: "ADD/dst=R30/0x100000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967296}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   391  		{name: "ADD/dst=R30/0xffffffff00000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967296}, exp: []byte{0xfb, 0x7f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   392  		{name: "ADD/dst=R30/0x400000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17179869184}, exp: []byte{0x9b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   393  		{name: "ADD/dst=R30/0xfffffffc00000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17179869184}, exp: []byte{0xfb, 0x77, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   394  		{name: "ADD/dst=R30/0x10000000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1099511627776}, exp: []byte{0x1b, 0x20, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   395  		{name: "ADD/dst=R30/0xffffff0000000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1099511627776}, exp: []byte{0xfb, 0x5f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   396  		{name: "ADD/dst=R30/0x100000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967297}, exp: []byte{0xfb, 0x3, 0x0, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   397  		{name: "ADD/dst=R30/0xfffffffeffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967297}, exp: []byte{0x3b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   398  		{name: "ADD/dst=R30/0x400000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17179869185}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   399  		{name: "ADD/dst=R30/0xfffffffbffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17179869185}, exp: []byte{0x9b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   400  		{name: "ADD/dst=R30/0x10000000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1099511627777}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   401  		{name: "ADD/dst=R30/0xfffffeffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1099511627777}, exp: []byte{0x1b, 0x20, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   402  		{name: "ADD/dst=R30/0xffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   403  		{name: "ADD/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   404  		{name: "ADD/dst=R30/0x3ffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17179869183}, exp: []byte{0xfb, 0x87, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   405  		{name: "ADD/dst=R30/0xfffffffc00000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17179869183}, exp: []byte{0xfb, 0x7b, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   406  		{name: "ADD/dst=R30/0xffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1099511627775}, exp: []byte{0xfb, 0x9f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   407  		{name: "ADD/dst=R30/0xffffff0000000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1099511627775}, exp: []byte{0xfb, 0x63, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   408  		{name: "ADD/dst=R30/0x10000000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967311}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x3b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   409  		{name: "ADD/dst=R30/0xfffffffefffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967311}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xdb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   410  		{name: "ADD/dst=R30/0x40000000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17179869199}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   411  		{name: "ADD/dst=R30/0xfffffffbfffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17179869199}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0x7b, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   412  		{name: "ADD/dst=R30/0x1000000000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1099511627791}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   413  		{name: "ADD/dst=R30/0xfffffefffffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1099511627791}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0xdf, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   414  		{name: "ADD/dst=R30/0xfffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 4294967281}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   415  		{name: "ADD/dst=R30/0xffffffff0000000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -4294967281}, exp: []byte{0xfb, 0x8f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   416  		{name: "ADD/dst=R30/0x3fffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 17179869169}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0x7b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   417  		{name: "ADD/dst=R30/0xfffffffc0000000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -17179869169}, exp: []byte{0xfb, 0x87, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   418  		{name: "ADD/dst=R30/0xfffffffff1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1099511627761}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xfb, 0x1f, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   419  		{name: "ADD/dst=R30/0xffffff000000000f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1099511627761}, exp: []byte{0xfb, 0x6f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   420  		{name: "ADD/dst=R30/0x7fffffffffffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 9223372036854775807}, exp: []byte{0x1b, 0x0, 0xf0, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   421  		{name: "ADD/dst=R30/0x8000000000000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -9223372036854775807}, exp: []byte{0xfb, 0x7, 0x41, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   422  		{name: "ADD/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   423  		{name: "ADD/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0x8b}},
   424  		{name: "ADD/dst=R30/0x40000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   425  		{name: "ADD/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0x8b}},
   426  		{name: "ADD/dst=R30/0x7000000010000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8070450532516364288}, exp: []byte{0x1b, 0x0, 0xa2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   427  		{name: "ADD/dst=R30/0x8ffffffff0000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8070450532516364288}, exp: []byte{0x1b, 0x0, 0xbe, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   428  		{name: "ADD/dst=R30/0x7000000100000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8070450536542896128}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   429  		{name: "ADD/dst=R30/0x8fffffff00000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8070450536542896128}, exp: []byte{0xfb, 0xff, 0xdf, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   430  		{name: "ADD/dst=R30/0x7000100000000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8070468124433973248}, exp: []byte{0x1b, 0x0, 0xc2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   431  		{name: "ADD/dst=R30/0x8ffff00000000000", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8070468124433973248}, exp: []byte{0x1b, 0x0, 0xde, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   432  		{name: "ADD/dst=R30/0x154b4", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 87220}, exp: []byte{0xde, 0xd3, 0x12, 0x91, 0xde, 0x57, 0x40, 0x91}},
   433  		{name: "ADD/dst=R30/0xfffffffffffeab4c", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -87220}, exp: []byte{0x7b, 0x96, 0x8a, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   434  		{name: "ADD/dst=R30/0x40008", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 262152}, exp: []byte{0xde, 0x23, 0x0, 0x91, 0xde, 0x3, 0x41, 0x91}},
   435  		{name: "ADD/dst=R30/0xfffffffffffbfff8", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -262152}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0x7b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   436  		{name: "ADD/dst=R30/0xffff0000c466361f", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -281471681677793}, exp: []byte{0xfb, 0xc3, 0x86, 0xd2, 0xdb, 0x8c, 0xb8, 0xf2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   437  		{name: "ADD/dst=R30/0xffff3b99c9e1", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 281471681677793}, exp: []byte{0x3b, 0x3c, 0x99, 0xd2, 0x3b, 0x73, 0xa7, 0xf2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   438  		{name: "ADD/dst=R30/0xc465c9ff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 3295005183}, exp: []byte{0xfb, 0x3f, 0x99, 0xd2, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   439  		{name: "ADD/dst=R30/0xffffffff3b9a3601", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -3295005183}, exp: []byte{0xdb, 0x3f, 0x99, 0x92, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   440  		{name: "ADD/dst=R30/0x89705f4136b4a598", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -8543223759426509416}, exp: []byte{0x1b, 0xb3, 0x94, 0xd2, 0x9b, 0xd6, 0xa6, 0xf2, 0x3b, 0xe8, 0xcb, 0xf2, 0x1b, 0x2e, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   441  		{name: "ADD/dst=R30/0x768fa0bec94b5a68", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 8543223759426509416}, exp: []byte{0x1b, 0x4d, 0x8b, 0xd2, 0x7b, 0x29, 0xb9, 0xf2, 0xdb, 0x17, 0xd4, 0xf2, 0xfb, 0xd1, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   442  		{name: "ADD/dst=R30/0xffffffffc4653600", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -1000000000}, exp: []byte{0xfb, 0x3f, 0x99, 0x92, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   443  		{name: "ADD/dst=R30/0x3b9aca00", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 1000000000}, exp: []byte{0x1b, 0x40, 0x99, 0xd2, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0x8b}},
   444  		{name: "ADD/dst=R30/0xffffff", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: 16777215}, exp: []byte{0xfb, 0x5f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   445  		{name: "ADD/dst=R30/0xffffffffff000001", n: &nodeImpl{instruction: ADD, dstReg: RegR30, srcConst: -16777215}, exp: []byte{0xfb, 0xa3, 0x68, 0xb2, 0xde, 0x3, 0x1b, 0x8b}},
   446  		{name: "ADDS/dst=R30/0x1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xb1}},
   447  		{name: "ADDS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   448  		{name: "ADDS/dst=R30/0xfff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4095}, exp: []byte{0xde, 0xff, 0x3f, 0xb1}},
   449  		{name: "ADDS/dst=R30/0xfffffffffffff001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4095}, exp: []byte{0xdb, 0xff, 0x81, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   450  		{name: "ADDS/dst=R30/0xfff000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 16773120}, exp: []byte{0xde, 0xff, 0x7f, 0xb1}},
   451  		{name: "ADDS/dst=R30/0xffffffffff001000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -16773120}, exp: []byte{0xfb, 0xff, 0x9d, 0x92, 0x1b, 0xe0, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   452  		{name: "ADDS/dst=R30/0x7b000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 503808}, exp: []byte{0xde, 0xef, 0x41, 0xb1}},
   453  		{name: "ADDS/dst=R30/0xfffffffffff85000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -503808}, exp: []byte{0xfb, 0xff, 0x95, 0x92, 0x1b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   454  		{name: "ADDS/dst=R30/0x8001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 32769}, exp: []byte{0x3b, 0x0, 0x90, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   455  		{name: "ADDS/dst=R30/0xffffffffffff7fff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -32769}, exp: []byte{0x1b, 0x0, 0x90, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   456  		{name: "ADDS/dst=R30/0x80010000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   457  		{name: "ADDS/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   458  		{name: "ADDS/dst=R30/0x800100000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 140741783322624}, exp: []byte{0x3b, 0x0, 0xd0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   459  		{name: "ADDS/dst=R30/0xffff7fff00000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -140741783322624}, exp: []byte{0xfb, 0xff, 0xcf, 0xd2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   460  		{name: "ADDS/dst=R30/0xffffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 281474976710655}, exp: []byte{0xfb, 0xff, 0xff, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   461  		{name: "ADDS/dst=R30/0xffff000000000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -281474976710655}, exp: []byte{0xfb, 0x43, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   462  		{name: "ADDS/dst=R30/0xffff0000ffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -281470681743361}, exp: []byte{0xfb, 0xff, 0xdf, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   463  		{name: "ADDS/dst=R30/0xffff00000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 281470681743361}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   464  		{name: "ADDS/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   465  		{name: "ADDS/dst=R30/0x7fffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   466  		{name: "ADDS/dst=R30/0xffff00000000ffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -281474976645121}, exp: []byte{0xfb, 0x7f, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   467  		{name: "ADDS/dst=R30/0xffffffff0001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 281474976645121}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xe0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   468  		{name: "ADDS/dst=R30/0x100001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1048577}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x2, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   469  		{name: "ADDS/dst=R30/0xffffffffffefffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1048577}, exp: []byte{0x1b, 0x2, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   470  		{name: "ADDS/dst=R30/0xfffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1048575}, exp: []byte{0xfb, 0x4f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   471  		{name: "ADDS/dst=R30/0xfffffffffff00001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1048575}, exp: []byte{0xfb, 0xb3, 0x6c, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   472  		{name: "ADDS/dst=R30/0x800001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8388609}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x10, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   473  		{name: "ADDS/dst=R30/0xffffffffff7fffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8388609}, exp: []byte{0x1b, 0x10, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   474  		{name: "ADDS/dst=R30/0x40000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   475  		{name: "ADDS/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   476  		{name: "ADDS/dst=R30/0x2", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0xb1}},
   477  		{name: "ADDS/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   478  		{name: "ADDS/dst=R30/0x3", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xb1}},
   479  		{name: "ADDS/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   480  		{name: "ADDS/dst=R30/0x1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xb1}},
   481  		{name: "ADDS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   482  		{name: "ADDS/dst=R30/0x11", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0xb1}},
   483  		{name: "ADDS/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   484  		{name: "ADDS/dst=R30/0x4", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4}, exp: []byte{0xde, 0x13, 0x0, 0xb1}},
   485  		{name: "ADDS/dst=R30/0xfffffffffffffffc", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4}, exp: []byte{0x7b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   486  		{name: "ADDS/dst=R30/0x5", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 5}, exp: []byte{0xde, 0x17, 0x0, 0xb1}},
   487  		{name: "ADDS/dst=R30/0xfffffffffffffffb", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -5}, exp: []byte{0x9b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   488  		{name: "ADDS/dst=R30/0x3", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xb1}},
   489  		{name: "ADDS/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   490  		{name: "ADDS/dst=R30/0x13", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 19}, exp: []byte{0xde, 0x4f, 0x0, 0xb1}},
   491  		{name: "ADDS/dst=R30/0xffffffffffffffed", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -19}, exp: []byte{0x5b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   492  		{name: "ADDS/dst=R30/0x8", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8}, exp: []byte{0xde, 0x23, 0x0, 0xb1}},
   493  		{name: "ADDS/dst=R30/0xfffffffffffffff8", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   494  		{name: "ADDS/dst=R30/0x9", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 9}, exp: []byte{0xde, 0x27, 0x0, 0xb1}},
   495  		{name: "ADDS/dst=R30/0xfffffffffffffff7", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -9}, exp: []byte{0x1b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   496  		{name: "ADDS/dst=R30/0x7", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 7}, exp: []byte{0xde, 0x1f, 0x0, 0xb1}},
   497  		{name: "ADDS/dst=R30/0xfffffffffffffff9", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -7}, exp: []byte{0xdb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   498  		{name: "ADDS/dst=R30/0x17", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 23}, exp: []byte{0xde, 0x5f, 0x0, 0xb1}},
   499  		{name: "ADDS/dst=R30/0xffffffffffffffe9", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -23}, exp: []byte{0xdb, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   500  		{name: "ADDS/dst=R30/0x10", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 16}, exp: []byte{0xde, 0x43, 0x0, 0xb1}},
   501  		{name: "ADDS/dst=R30/0xfffffffffffffff0", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -16}, exp: []byte{0xfb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   502  		{name: "ADDS/dst=R30/0x11", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0xb1}},
   503  		{name: "ADDS/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   504  		{name: "ADDS/dst=R30/0xf", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 15}, exp: []byte{0xde, 0x3f, 0x0, 0xb1}},
   505  		{name: "ADDS/dst=R30/0xfffffffffffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -15}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   506  		{name: "ADDS/dst=R30/0x1f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0xb1}},
   507  		{name: "ADDS/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   508  		{name: "ADDS/dst=R30/0x20", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 32}, exp: []byte{0xde, 0x83, 0x0, 0xb1}},
   509  		{name: "ADDS/dst=R30/0xffffffffffffffe0", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -32}, exp: []byte{0xfb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   510  		{name: "ADDS/dst=R30/0x21", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 33}, exp: []byte{0xde, 0x87, 0x0, 0xb1}},
   511  		{name: "ADDS/dst=R30/0xffffffffffffffdf", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -33}, exp: []byte{0x1b, 0x4, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   512  		{name: "ADDS/dst=R30/0x1f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0xb1}},
   513  		{name: "ADDS/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   514  		{name: "ADDS/dst=R30/0x2f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 47}, exp: []byte{0xde, 0xbf, 0x0, 0xb1}},
   515  		{name: "ADDS/dst=R30/0xffffffffffffffd1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -47}, exp: []byte{0xdb, 0x5, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   516  		{name: "ADDS/dst=R30/0x40", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 64}, exp: []byte{0xde, 0x3, 0x1, 0xb1}},
   517  		{name: "ADDS/dst=R30/0xffffffffffffffc0", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -64}, exp: []byte{0xfb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   518  		{name: "ADDS/dst=R30/0x41", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 65}, exp: []byte{0xde, 0x7, 0x1, 0xb1}},
   519  		{name: "ADDS/dst=R30/0xffffffffffffffbf", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -65}, exp: []byte{0x1b, 0x8, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   520  		{name: "ADDS/dst=R30/0x3f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 63}, exp: []byte{0xde, 0xff, 0x0, 0xb1}},
   521  		{name: "ADDS/dst=R30/0xffffffffffffffc1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -63}, exp: []byte{0xdb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   522  		{name: "ADDS/dst=R30/0x4f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 79}, exp: []byte{0xde, 0x3f, 0x1, 0xb1}},
   523  		{name: "ADDS/dst=R30/0xffffffffffffffb1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -79}, exp: []byte{0xdb, 0x9, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   524  		{name: "ADDS/dst=R30/0x1ffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8190}, exp: []byte{0xdb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   525  		{name: "ADDS/dst=R30/0xffffffffffffe002", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8190}, exp: []byte{0xbb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   526  		{name: "ADDS/dst=R30/0x1ffd", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8189}, exp: []byte{0xbb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   527  		{name: "ADDS/dst=R30/0xffffffffffffe003", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8189}, exp: []byte{0x9b, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   528  		{name: "ADDS/dst=R30/0x1fff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8191}, exp: []byte{0xfb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   529  		{name: "ADDS/dst=R30/0xffffffffffffe001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8191}, exp: []byte{0xdb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   530  		{name: "ADDS/dst=R30/0x0", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 0}, exp: []byte{0xde, 0x3, 0x1f, 0xab}},
   531  		{name: "ADDS/dst=R30/0x1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xb1}},
   532  		{name: "ADDS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   533  		{name: "ADDS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   534  		{name: "ADDS/dst=R30/0x1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xb1}},
   535  		{name: "ADDS/dst=R30/0x2", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0xb1}},
   536  		{name: "ADDS/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   537  		{name: "ADDS/dst=R30/0x3", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xb1}},
   538  		{name: "ADDS/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   539  		{name: "ADDS/dst=R30/0xa", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0xb1}},
   540  		{name: "ADDS/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   541  		{name: "ADDS/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   542  		{name: "ADDS/dst=R30/0xa", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0xb1}},
   543  		{name: "ADDS/dst=R30/0x7b", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0xb1}},
   544  		{name: "ADDS/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   545  		{name: "ADDS/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   546  		{name: "ADDS/dst=R30/0x7b", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0xb1}},
   547  		{name: "ADDS/dst=R30/0x7fff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 32767}, exp: []byte{0xfb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   548  		{name: "ADDS/dst=R30/0xffffffffffff8001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -32767}, exp: []byte{0xdb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   549  		{name: "ADDS/dst=R30/0x7fffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   550  		{name: "ADDS/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   551  		{name: "ADDS/dst=R30/0xffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   552  		{name: "ADDS/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   553  		{name: "ADDS/dst=R30/0x4002", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 16386}, exp: []byte{0x5b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   554  		{name: "ADDS/dst=R30/0xffffffffffffbffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -16386}, exp: []byte{0x3b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   555  		{name: "ADDS/dst=R30/0xffff0000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   556  		{name: "ADDS/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   557  		{name: "ADDS/dst=R30/0xffff0001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294901761}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   558  		{name: "ADDS/dst=R30/0xffffffff0000ffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294901761}, exp: []byte{0xfb, 0xff, 0xbf, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   559  		{name: "ADDS/dst=R30/0xf00000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 251658255}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   560  		{name: "ADDS/dst=R30/0xfffffffff0fffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -251658255}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   561  		{name: "ADDS/dst=R30/0x7ffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 32766}, exp: []byte{0xdb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   562  		{name: "ADDS/dst=R30/0xffffffffffff8002", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -32766}, exp: []byte{0xbb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   563  		{name: "ADDS/dst=R30/0x7ffffffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2147483646}, exp: []byte{0xfb, 0x77, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   564  		{name: "ADDS/dst=R30/0xffffffff80000002", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2147483646}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xb0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   565  		{name: "ADDS/dst=R30/0xfffffffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967294}, exp: []byte{0xfb, 0x7b, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   566  		{name: "ADDS/dst=R30/0xffffffff00000002", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967294}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   567  		{name: "ADDS/dst=R30/0x4001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 16385}, exp: []byte{0x3b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   568  		{name: "ADDS/dst=R30/0xffffffffffffbfff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -16385}, exp: []byte{0x1b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   569  		{name: "ADDS/dst=R30/0xfffeffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294901759}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   570  		{name: "ADDS/dst=R30/0xffffffff00010001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294901759}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   571  		{name: "ADDS/dst=R30/0xffff0000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   572  		{name: "ADDS/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   573  		{name: "ADDS/dst=R30/0xf00000e", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 251658254}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   574  		{name: "ADDS/dst=R30/0xfffffffff0fffff2", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -251658254}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   575  		{name: "ADDS/dst=R30/0x8000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 32768}, exp: []byte{0xde, 0x23, 0x40, 0xb1}},
   576  		{name: "ADDS/dst=R30/0xffffffffffff8000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -32768}, exp: []byte{0xfb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   577  		{name: "ADDS/dst=R30/0x4009", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 16393}, exp: []byte{0x3b, 0x1, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   578  		{name: "ADDS/dst=R30/0xffffffffffffbff7", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -16393}, exp: []byte{0x1b, 0x1, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   579  		{name: "ADDS/dst=R30/0xffeffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 268369919}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   580  		{name: "ADDS/dst=R30/0xfffffffff0010001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -268369919}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   581  		{name: "ADDS/dst=R30/0xffe0000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 268304384}, exp: []byte{0xdb, 0xff, 0xa1, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   582  		{name: "ADDS/dst=R30/0xfffffffff0020000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -268304384}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x5b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   583  		{name: "ADDS/dst=R30/0xe00000e", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 234881038}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xc0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   584  		{name: "ADDS/dst=R30/0xfffffffff1fffff2", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -234881038}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x3f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   585  		{name: "ADDS/dst=R30/0x80010000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   586  		{name: "ADDS/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   587  		{name: "ADDS/dst=R30/0x10002", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 65538}, exp: []byte{0x5b, 0x0, 0x80, 0xd2, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   588  		{name: "ADDS/dst=R30/0xfffffffffffefffe", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -65538}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   589  		{name: "ADDS/dst=R30/0x100000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967296}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   590  		{name: "ADDS/dst=R30/0xffffffff00000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967296}, exp: []byte{0xfb, 0x7f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   591  		{name: "ADDS/dst=R30/0x400000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17179869184}, exp: []byte{0x9b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   592  		{name: "ADDS/dst=R30/0xfffffffc00000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17179869184}, exp: []byte{0xfb, 0x77, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   593  		{name: "ADDS/dst=R30/0x10000000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1099511627776}, exp: []byte{0x1b, 0x20, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   594  		{name: "ADDS/dst=R30/0xffffff0000000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1099511627776}, exp: []byte{0xfb, 0x5f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   595  		{name: "ADDS/dst=R30/0x100000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967297}, exp: []byte{0xfb, 0x3, 0x0, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   596  		{name: "ADDS/dst=R30/0xfffffffeffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967297}, exp: []byte{0x3b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   597  		{name: "ADDS/dst=R30/0x400000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17179869185}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   598  		{name: "ADDS/dst=R30/0xfffffffbffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17179869185}, exp: []byte{0x9b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   599  		{name: "ADDS/dst=R30/0x10000000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1099511627777}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   600  		{name: "ADDS/dst=R30/0xfffffeffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1099511627777}, exp: []byte{0x1b, 0x20, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   601  		{name: "ADDS/dst=R30/0xffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   602  		{name: "ADDS/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   603  		{name: "ADDS/dst=R30/0x3ffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17179869183}, exp: []byte{0xfb, 0x87, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   604  		{name: "ADDS/dst=R30/0xfffffffc00000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17179869183}, exp: []byte{0xfb, 0x7b, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   605  		{name: "ADDS/dst=R30/0xffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1099511627775}, exp: []byte{0xfb, 0x9f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   606  		{name: "ADDS/dst=R30/0xffffff0000000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1099511627775}, exp: []byte{0xfb, 0x63, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   607  		{name: "ADDS/dst=R30/0x10000000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967311}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x3b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   608  		{name: "ADDS/dst=R30/0xfffffffefffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967311}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xdb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   609  		{name: "ADDS/dst=R30/0x40000000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17179869199}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   610  		{name: "ADDS/dst=R30/0xfffffffbfffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17179869199}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0x7b, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   611  		{name: "ADDS/dst=R30/0x1000000000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1099511627791}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   612  		{name: "ADDS/dst=R30/0xfffffefffffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1099511627791}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0xdf, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   613  		{name: "ADDS/dst=R30/0xfffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 4294967281}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   614  		{name: "ADDS/dst=R30/0xffffffff0000000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -4294967281}, exp: []byte{0xfb, 0x8f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   615  		{name: "ADDS/dst=R30/0x3fffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 17179869169}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0x7b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   616  		{name: "ADDS/dst=R30/0xfffffffc0000000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -17179869169}, exp: []byte{0xfb, 0x87, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   617  		{name: "ADDS/dst=R30/0xfffffffff1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1099511627761}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xfb, 0x1f, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   618  		{name: "ADDS/dst=R30/0xffffff000000000f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1099511627761}, exp: []byte{0xfb, 0x6f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   619  		{name: "ADDS/dst=R30/0x7fffffffffffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 9223372036854775807}, exp: []byte{0x1b, 0x0, 0xf0, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   620  		{name: "ADDS/dst=R30/0x8000000000000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -9223372036854775807}, exp: []byte{0xfb, 0x7, 0x41, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   621  		{name: "ADDS/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   622  		{name: "ADDS/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0xab}},
   623  		{name: "ADDS/dst=R30/0x40000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   624  		{name: "ADDS/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0xab}},
   625  		{name: "ADDS/dst=R30/0x7000000010000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8070450532516364288}, exp: []byte{0x1b, 0x0, 0xa2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   626  		{name: "ADDS/dst=R30/0x8ffffffff0000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8070450532516364288}, exp: []byte{0x1b, 0x0, 0xbe, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   627  		{name: "ADDS/dst=R30/0x7000000100000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8070450536542896128}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   628  		{name: "ADDS/dst=R30/0x8fffffff00000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8070450536542896128}, exp: []byte{0xfb, 0xff, 0xdf, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   629  		{name: "ADDS/dst=R30/0x7000100000000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8070468124433973248}, exp: []byte{0x1b, 0x0, 0xc2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   630  		{name: "ADDS/dst=R30/0x8ffff00000000000", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8070468124433973248}, exp: []byte{0x1b, 0x0, 0xde, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   631  		{name: "ADDS/dst=R30/0x154b4", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 87220}, exp: []byte{0x9b, 0x96, 0x8a, 0xd2, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   632  		{name: "ADDS/dst=R30/0xfffffffffffeab4c", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -87220}, exp: []byte{0x7b, 0x96, 0x8a, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   633  		{name: "ADDS/dst=R30/0x40008", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 262152}, exp: []byte{0x1b, 0x1, 0x80, 0xd2, 0x9b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   634  		{name: "ADDS/dst=R30/0xfffffffffffbfff8", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -262152}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0x7b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   635  		{name: "ADDS/dst=R30/0xffff0000c466361f", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -281471681677793}, exp: []byte{0xfb, 0xc3, 0x86, 0xd2, 0xdb, 0x8c, 0xb8, 0xf2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   636  		{name: "ADDS/dst=R30/0xffff3b99c9e1", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 281471681677793}, exp: []byte{0x3b, 0x3c, 0x99, 0xd2, 0x3b, 0x73, 0xa7, 0xf2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   637  		{name: "ADDS/dst=R30/0xc465c9ff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 3295005183}, exp: []byte{0xfb, 0x3f, 0x99, 0xd2, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   638  		{name: "ADDS/dst=R30/0xffffffff3b9a3601", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -3295005183}, exp: []byte{0xdb, 0x3f, 0x99, 0x92, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   639  		{name: "ADDS/dst=R30/0x89705f4136b4a598", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -8543223759426509416}, exp: []byte{0x1b, 0xb3, 0x94, 0xd2, 0x9b, 0xd6, 0xa6, 0xf2, 0x3b, 0xe8, 0xcb, 0xf2, 0x1b, 0x2e, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   640  		{name: "ADDS/dst=R30/0x768fa0bec94b5a68", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 8543223759426509416}, exp: []byte{0x1b, 0x4d, 0x8b, 0xd2, 0x7b, 0x29, 0xb9, 0xf2, 0xdb, 0x17, 0xd4, 0xf2, 0xfb, 0xd1, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   641  		{name: "ADDS/dst=R30/0xffffffffc4653600", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -1000000000}, exp: []byte{0xfb, 0x3f, 0x99, 0x92, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   642  		{name: "ADDS/dst=R30/0x3b9aca00", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 1000000000}, exp: []byte{0x1b, 0x40, 0x99, 0xd2, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0xab}},
   643  		{name: "ADDS/dst=R30/0xffffff", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: 16777215}, exp: []byte{0xfb, 0x5f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   644  		{name: "ADDS/dst=R30/0xffffffffff000001", n: &nodeImpl{instruction: ADDS, dstReg: RegR30, srcConst: -16777215}, exp: []byte{0xfb, 0xa3, 0x68, 0xb2, 0xde, 0x3, 0x1b, 0xab}},
   645  		{name: "SUB/dst=R30/0x1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xd1}},
   646  		{name: "SUB/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   647  		{name: "SUB/dst=R30/0xfff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4095}, exp: []byte{0xde, 0xff, 0x3f, 0xd1}},
   648  		{name: "SUB/dst=R30/0xfffffffffffff001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4095}, exp: []byte{0xdb, 0xff, 0x81, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   649  		{name: "SUB/dst=R30/0xfff000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 16773120}, exp: []byte{0xde, 0xff, 0x7f, 0xd1}},
   650  		{name: "SUB/dst=R30/0xffffffffff001000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -16773120}, exp: []byte{0xfb, 0xff, 0x9d, 0x92, 0x1b, 0xe0, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   651  		{name: "SUB/dst=R30/0x7b000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 503808}, exp: []byte{0xde, 0xef, 0x41, 0xd1}},
   652  		{name: "SUB/dst=R30/0xfffffffffff85000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -503808}, exp: []byte{0xfb, 0xff, 0x95, 0x92, 0x1b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   653  		{name: "SUB/dst=R30/0x8001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 32769}, exp: []byte{0x3b, 0x0, 0x90, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   654  		{name: "SUB/dst=R30/0xffffffffffff7fff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -32769}, exp: []byte{0x1b, 0x0, 0x90, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   655  		{name: "SUB/dst=R30/0x80010000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   656  		{name: "SUB/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   657  		{name: "SUB/dst=R30/0x800100000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 140741783322624}, exp: []byte{0x3b, 0x0, 0xd0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   658  		{name: "SUB/dst=R30/0xffff7fff00000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -140741783322624}, exp: []byte{0xfb, 0xff, 0xcf, 0xd2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   659  		{name: "SUB/dst=R30/0xffffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 281474976710655}, exp: []byte{0xfb, 0xff, 0xff, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   660  		{name: "SUB/dst=R30/0xffff000000000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -281474976710655}, exp: []byte{0xfb, 0x43, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   661  		{name: "SUB/dst=R30/0xffff0000ffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -281470681743361}, exp: []byte{0xfb, 0xff, 0xdf, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   662  		{name: "SUB/dst=R30/0xffff00000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 281470681743361}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   663  		{name: "SUB/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   664  		{name: "SUB/dst=R30/0x7fffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   665  		{name: "SUB/dst=R30/0xffff00000000ffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -281474976645121}, exp: []byte{0xfb, 0x7f, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   666  		{name: "SUB/dst=R30/0xffffffff0001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 281474976645121}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xe0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   667  		{name: "SUB/dst=R30/0x100001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1048577}, exp: []byte{0xde, 0x7, 0x0, 0xd1, 0xde, 0x3, 0x44, 0xd1}},
   668  		{name: "SUB/dst=R30/0xffffffffffefffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1048577}, exp: []byte{0x1b, 0x2, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   669  		{name: "SUB/dst=R30/0xfffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1048575}, exp: []byte{0xfb, 0x4f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   670  		{name: "SUB/dst=R30/0xfffffffffff00001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1048575}, exp: []byte{0xfb, 0xb3, 0x6c, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   671  		{name: "SUB/dst=R30/0x800001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8388609}, exp: []byte{0xde, 0x7, 0x0, 0xd1, 0xde, 0x3, 0x60, 0xd1}},
   672  		{name: "SUB/dst=R30/0xffffffffff7fffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8388609}, exp: []byte{0x1b, 0x10, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   673  		{name: "SUB/dst=R30/0x40000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   674  		{name: "SUB/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   675  		{name: "SUB/dst=R30/0x2", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0xd1}},
   676  		{name: "SUB/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   677  		{name: "SUB/dst=R30/0x3", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xd1}},
   678  		{name: "SUB/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   679  		{name: "SUB/dst=R30/0x1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xd1}},
   680  		{name: "SUB/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   681  		{name: "SUB/dst=R30/0x11", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0xd1}},
   682  		{name: "SUB/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   683  		{name: "SUB/dst=R30/0x4", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4}, exp: []byte{0xde, 0x13, 0x0, 0xd1}},
   684  		{name: "SUB/dst=R30/0xfffffffffffffffc", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4}, exp: []byte{0x7b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   685  		{name: "SUB/dst=R30/0x5", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 5}, exp: []byte{0xde, 0x17, 0x0, 0xd1}},
   686  		{name: "SUB/dst=R30/0xfffffffffffffffb", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -5}, exp: []byte{0x9b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   687  		{name: "SUB/dst=R30/0x3", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xd1}},
   688  		{name: "SUB/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   689  		{name: "SUB/dst=R30/0x13", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 19}, exp: []byte{0xde, 0x4f, 0x0, 0xd1}},
   690  		{name: "SUB/dst=R30/0xffffffffffffffed", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -19}, exp: []byte{0x5b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   691  		{name: "SUB/dst=R30/0x8", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8}, exp: []byte{0xde, 0x23, 0x0, 0xd1}},
   692  		{name: "SUB/dst=R30/0xfffffffffffffff8", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   693  		{name: "SUB/dst=R30/0x9", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 9}, exp: []byte{0xde, 0x27, 0x0, 0xd1}},
   694  		{name: "SUB/dst=R30/0xfffffffffffffff7", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -9}, exp: []byte{0x1b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   695  		{name: "SUB/dst=R30/0x7", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 7}, exp: []byte{0xde, 0x1f, 0x0, 0xd1}},
   696  		{name: "SUB/dst=R30/0xfffffffffffffff9", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -7}, exp: []byte{0xdb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   697  		{name: "SUB/dst=R30/0x17", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 23}, exp: []byte{0xde, 0x5f, 0x0, 0xd1}},
   698  		{name: "SUB/dst=R30/0xffffffffffffffe9", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -23}, exp: []byte{0xdb, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   699  		{name: "SUB/dst=R30/0x10", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 16}, exp: []byte{0xde, 0x43, 0x0, 0xd1}},
   700  		{name: "SUB/dst=R30/0xfffffffffffffff0", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -16}, exp: []byte{0xfb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   701  		{name: "SUB/dst=R30/0x11", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0xd1}},
   702  		{name: "SUB/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   703  		{name: "SUB/dst=R30/0xf", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 15}, exp: []byte{0xde, 0x3f, 0x0, 0xd1}},
   704  		{name: "SUB/dst=R30/0xfffffffffffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -15}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   705  		{name: "SUB/dst=R30/0x1f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0xd1}},
   706  		{name: "SUB/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   707  		{name: "SUB/dst=R30/0x20", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 32}, exp: []byte{0xde, 0x83, 0x0, 0xd1}},
   708  		{name: "SUB/dst=R30/0xffffffffffffffe0", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -32}, exp: []byte{0xfb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   709  		{name: "SUB/dst=R30/0x21", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 33}, exp: []byte{0xde, 0x87, 0x0, 0xd1}},
   710  		{name: "SUB/dst=R30/0xffffffffffffffdf", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -33}, exp: []byte{0x1b, 0x4, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   711  		{name: "SUB/dst=R30/0x1f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0xd1}},
   712  		{name: "SUB/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   713  		{name: "SUB/dst=R30/0x2f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 47}, exp: []byte{0xde, 0xbf, 0x0, 0xd1}},
   714  		{name: "SUB/dst=R30/0xffffffffffffffd1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -47}, exp: []byte{0xdb, 0x5, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   715  		{name: "SUB/dst=R30/0x40", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 64}, exp: []byte{0xde, 0x3, 0x1, 0xd1}},
   716  		{name: "SUB/dst=R30/0xffffffffffffffc0", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -64}, exp: []byte{0xfb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   717  		{name: "SUB/dst=R30/0x41", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 65}, exp: []byte{0xde, 0x7, 0x1, 0xd1}},
   718  		{name: "SUB/dst=R30/0xffffffffffffffbf", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -65}, exp: []byte{0x1b, 0x8, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   719  		{name: "SUB/dst=R30/0x3f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 63}, exp: []byte{0xde, 0xff, 0x0, 0xd1}},
   720  		{name: "SUB/dst=R30/0xffffffffffffffc1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -63}, exp: []byte{0xdb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   721  		{name: "SUB/dst=R30/0x4f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 79}, exp: []byte{0xde, 0x3f, 0x1, 0xd1}},
   722  		{name: "SUB/dst=R30/0xffffffffffffffb1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -79}, exp: []byte{0xdb, 0x9, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   723  		{name: "SUB/dst=R30/0x1ffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8190}, exp: []byte{0xdb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   724  		{name: "SUB/dst=R30/0xffffffffffffe002", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8190}, exp: []byte{0xbb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   725  		{name: "SUB/dst=R30/0x1ffd", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8189}, exp: []byte{0xbb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   726  		{name: "SUB/dst=R30/0xffffffffffffe003", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8189}, exp: []byte{0x9b, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   727  		{name: "SUB/dst=R30/0x1fff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8191}, exp: []byte{0xfb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   728  		{name: "SUB/dst=R30/0xffffffffffffe001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8191}, exp: []byte{0xdb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   729  		{name: "SUB/dst=R30/0x0", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 0}, exp: []byte{0xde, 0x3, 0x1f, 0xcb}},
   730  		{name: "SUB/dst=R30/0x1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xd1}},
   731  		{name: "SUB/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   732  		{name: "SUB/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   733  		{name: "SUB/dst=R30/0x1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xd1}},
   734  		{name: "SUB/dst=R30/0x2", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0xd1}},
   735  		{name: "SUB/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   736  		{name: "SUB/dst=R30/0x3", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xd1}},
   737  		{name: "SUB/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   738  		{name: "SUB/dst=R30/0xa", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0xd1}},
   739  		{name: "SUB/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   740  		{name: "SUB/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   741  		{name: "SUB/dst=R30/0xa", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0xd1}},
   742  		{name: "SUB/dst=R30/0x7b", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0xd1}},
   743  		{name: "SUB/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   744  		{name: "SUB/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   745  		{name: "SUB/dst=R30/0x7b", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0xd1}},
   746  		{name: "SUB/dst=R30/0x7fff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 32767}, exp: []byte{0xfb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   747  		{name: "SUB/dst=R30/0xffffffffffff8001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -32767}, exp: []byte{0xdb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   748  		{name: "SUB/dst=R30/0x7fffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   749  		{name: "SUB/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   750  		{name: "SUB/dst=R30/0xffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   751  		{name: "SUB/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   752  		{name: "SUB/dst=R30/0x4002", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 16386}, exp: []byte{0x5b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   753  		{name: "SUB/dst=R30/0xffffffffffffbffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -16386}, exp: []byte{0x3b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   754  		{name: "SUB/dst=R30/0xffff0000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   755  		{name: "SUB/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   756  		{name: "SUB/dst=R30/0xffff0001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294901761}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   757  		{name: "SUB/dst=R30/0xffffffff0000ffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294901761}, exp: []byte{0xfb, 0xff, 0xbf, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   758  		{name: "SUB/dst=R30/0xf00000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 251658255}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   759  		{name: "SUB/dst=R30/0xfffffffff0fffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -251658255}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   760  		{name: "SUB/dst=R30/0x7ffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 32766}, exp: []byte{0xdb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   761  		{name: "SUB/dst=R30/0xffffffffffff8002", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -32766}, exp: []byte{0xbb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   762  		{name: "SUB/dst=R30/0x7ffffffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2147483646}, exp: []byte{0xfb, 0x77, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   763  		{name: "SUB/dst=R30/0xffffffff80000002", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2147483646}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xb0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   764  		{name: "SUB/dst=R30/0xfffffffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967294}, exp: []byte{0xfb, 0x7b, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   765  		{name: "SUB/dst=R30/0xffffffff00000002", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967294}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   766  		{name: "SUB/dst=R30/0x4001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 16385}, exp: []byte{0x3b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   767  		{name: "SUB/dst=R30/0xffffffffffffbfff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -16385}, exp: []byte{0x1b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   768  		{name: "SUB/dst=R30/0xfffeffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294901759}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   769  		{name: "SUB/dst=R30/0xffffffff00010001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294901759}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   770  		{name: "SUB/dst=R30/0xffff0000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   771  		{name: "SUB/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   772  		{name: "SUB/dst=R30/0xf00000e", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 251658254}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   773  		{name: "SUB/dst=R30/0xfffffffff0fffff2", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -251658254}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   774  		{name: "SUB/dst=R30/0x8000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 32768}, exp: []byte{0xde, 0x23, 0x40, 0xd1}},
   775  		{name: "SUB/dst=R30/0xffffffffffff8000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -32768}, exp: []byte{0xfb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   776  		{name: "SUB/dst=R30/0x4009", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 16393}, exp: []byte{0x3b, 0x1, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   777  		{name: "SUB/dst=R30/0xffffffffffffbff7", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -16393}, exp: []byte{0x1b, 0x1, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   778  		{name: "SUB/dst=R30/0xffeffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 268369919}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   779  		{name: "SUB/dst=R30/0xfffffffff0010001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -268369919}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   780  		{name: "SUB/dst=R30/0xffe0000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 268304384}, exp: []byte{0xdb, 0xff, 0xa1, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   781  		{name: "SUB/dst=R30/0xfffffffff0020000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -268304384}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x5b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   782  		{name: "SUB/dst=R30/0xe00000e", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 234881038}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xc0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   783  		{name: "SUB/dst=R30/0xfffffffff1fffff2", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -234881038}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x3f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   784  		{name: "SUB/dst=R30/0x80010000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   785  		{name: "SUB/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   786  		{name: "SUB/dst=R30/0x10002", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 65538}, exp: []byte{0xde, 0xb, 0x0, 0xd1, 0xde, 0x43, 0x40, 0xd1}},
   787  		{name: "SUB/dst=R30/0xfffffffffffefffe", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -65538}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   788  		{name: "SUB/dst=R30/0x100000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967296}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   789  		{name: "SUB/dst=R30/0xffffffff00000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967296}, exp: []byte{0xfb, 0x7f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   790  		{name: "SUB/dst=R30/0x400000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17179869184}, exp: []byte{0x9b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   791  		{name: "SUB/dst=R30/0xfffffffc00000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17179869184}, exp: []byte{0xfb, 0x77, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   792  		{name: "SUB/dst=R30/0x10000000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1099511627776}, exp: []byte{0x1b, 0x20, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   793  		{name: "SUB/dst=R30/0xffffff0000000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1099511627776}, exp: []byte{0xfb, 0x5f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   794  		{name: "SUB/dst=R30/0x100000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967297}, exp: []byte{0xfb, 0x3, 0x0, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   795  		{name: "SUB/dst=R30/0xfffffffeffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967297}, exp: []byte{0x3b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   796  		{name: "SUB/dst=R30/0x400000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17179869185}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   797  		{name: "SUB/dst=R30/0xfffffffbffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17179869185}, exp: []byte{0x9b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   798  		{name: "SUB/dst=R30/0x10000000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1099511627777}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   799  		{name: "SUB/dst=R30/0xfffffeffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1099511627777}, exp: []byte{0x1b, 0x20, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   800  		{name: "SUB/dst=R30/0xffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   801  		{name: "SUB/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   802  		{name: "SUB/dst=R30/0x3ffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17179869183}, exp: []byte{0xfb, 0x87, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   803  		{name: "SUB/dst=R30/0xfffffffc00000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17179869183}, exp: []byte{0xfb, 0x7b, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   804  		{name: "SUB/dst=R30/0xffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1099511627775}, exp: []byte{0xfb, 0x9f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   805  		{name: "SUB/dst=R30/0xffffff0000000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1099511627775}, exp: []byte{0xfb, 0x63, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   806  		{name: "SUB/dst=R30/0x10000000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967311}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x3b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   807  		{name: "SUB/dst=R30/0xfffffffefffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967311}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xdb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   808  		{name: "SUB/dst=R30/0x40000000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17179869199}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   809  		{name: "SUB/dst=R30/0xfffffffbfffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17179869199}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0x7b, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   810  		{name: "SUB/dst=R30/0x1000000000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1099511627791}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   811  		{name: "SUB/dst=R30/0xfffffefffffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1099511627791}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0xdf, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   812  		{name: "SUB/dst=R30/0xfffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 4294967281}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   813  		{name: "SUB/dst=R30/0xffffffff0000000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -4294967281}, exp: []byte{0xfb, 0x8f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   814  		{name: "SUB/dst=R30/0x3fffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 17179869169}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0x7b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   815  		{name: "SUB/dst=R30/0xfffffffc0000000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -17179869169}, exp: []byte{0xfb, 0x87, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   816  		{name: "SUB/dst=R30/0xfffffffff1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1099511627761}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xfb, 0x1f, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   817  		{name: "SUB/dst=R30/0xffffff000000000f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1099511627761}, exp: []byte{0xfb, 0x6f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   818  		{name: "SUB/dst=R30/0x7fffffffffffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 9223372036854775807}, exp: []byte{0x1b, 0x0, 0xf0, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   819  		{name: "SUB/dst=R30/0x8000000000000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -9223372036854775807}, exp: []byte{0xfb, 0x7, 0x41, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   820  		{name: "SUB/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   821  		{name: "SUB/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0xcb}},
   822  		{name: "SUB/dst=R30/0x40000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   823  		{name: "SUB/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0xcb}},
   824  		{name: "SUB/dst=R30/0x7000000010000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8070450532516364288}, exp: []byte{0x1b, 0x0, 0xa2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   825  		{name: "SUB/dst=R30/0x8ffffffff0000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8070450532516364288}, exp: []byte{0x1b, 0x0, 0xbe, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   826  		{name: "SUB/dst=R30/0x7000000100000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8070450536542896128}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   827  		{name: "SUB/dst=R30/0x8fffffff00000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8070450536542896128}, exp: []byte{0xfb, 0xff, 0xdf, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   828  		{name: "SUB/dst=R30/0x7000100000000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8070468124433973248}, exp: []byte{0x1b, 0x0, 0xc2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   829  		{name: "SUB/dst=R30/0x8ffff00000000000", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8070468124433973248}, exp: []byte{0x1b, 0x0, 0xde, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   830  		{name: "SUB/dst=R30/0x154b4", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 87220}, exp: []byte{0xde, 0xd3, 0x12, 0xd1, 0xde, 0x57, 0x40, 0xd1}},
   831  		{name: "SUB/dst=R30/0xfffffffffffeab4c", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -87220}, exp: []byte{0x7b, 0x96, 0x8a, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   832  		{name: "SUB/dst=R30/0x40008", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 262152}, exp: []byte{0xde, 0x23, 0x0, 0xd1, 0xde, 0x3, 0x41, 0xd1}},
   833  		{name: "SUB/dst=R30/0xfffffffffffbfff8", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -262152}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0x7b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   834  		{name: "SUB/dst=R30/0xffff0000c466361f", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -281471681677793}, exp: []byte{0xfb, 0xc3, 0x86, 0xd2, 0xdb, 0x8c, 0xb8, 0xf2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   835  		{name: "SUB/dst=R30/0xffff3b99c9e1", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 281471681677793}, exp: []byte{0x3b, 0x3c, 0x99, 0xd2, 0x3b, 0x73, 0xa7, 0xf2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   836  		{name: "SUB/dst=R30/0xc465c9ff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 3295005183}, exp: []byte{0xfb, 0x3f, 0x99, 0xd2, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   837  		{name: "SUB/dst=R30/0xffffffff3b9a3601", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -3295005183}, exp: []byte{0xdb, 0x3f, 0x99, 0x92, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   838  		{name: "SUB/dst=R30/0x89705f4136b4a598", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -8543223759426509416}, exp: []byte{0x1b, 0xb3, 0x94, 0xd2, 0x9b, 0xd6, 0xa6, 0xf2, 0x3b, 0xe8, 0xcb, 0xf2, 0x1b, 0x2e, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   839  		{name: "SUB/dst=R30/0x768fa0bec94b5a68", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 8543223759426509416}, exp: []byte{0x1b, 0x4d, 0x8b, 0xd2, 0x7b, 0x29, 0xb9, 0xf2, 0xdb, 0x17, 0xd4, 0xf2, 0xfb, 0xd1, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   840  		{name: "SUB/dst=R30/0xffffffffc4653600", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -1000000000}, exp: []byte{0xfb, 0x3f, 0x99, 0x92, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   841  		{name: "SUB/dst=R30/0x3b9aca00", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 1000000000}, exp: []byte{0x1b, 0x40, 0x99, 0xd2, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0xcb}},
   842  		{name: "SUB/dst=R30/0xffffff", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: 16777215}, exp: []byte{0xfb, 0x5f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   843  		{name: "SUB/dst=R30/0xffffffffff000001", n: &nodeImpl{instruction: SUB, dstReg: RegR30, srcConst: -16777215}, exp: []byte{0xfb, 0xa3, 0x68, 0xb2, 0xde, 0x3, 0x1b, 0xcb}},
   844  		{name: "SUBS/dst=R30/0x1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xf1}},
   845  		{name: "SUBS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   846  		{name: "SUBS/dst=R30/0xfff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4095}, exp: []byte{0xde, 0xff, 0x3f, 0xf1}},
   847  		{name: "SUBS/dst=R30/0xfffffffffffff001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4095}, exp: []byte{0xdb, 0xff, 0x81, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   848  		{name: "SUBS/dst=R30/0xfff000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 16773120}, exp: []byte{0xde, 0xff, 0x7f, 0xf1}},
   849  		{name: "SUBS/dst=R30/0xffffffffff001000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -16773120}, exp: []byte{0xfb, 0xff, 0x9d, 0x92, 0x1b, 0xe0, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   850  		{name: "SUBS/dst=R30/0x7b000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 503808}, exp: []byte{0xde, 0xef, 0x41, 0xf1}},
   851  		{name: "SUBS/dst=R30/0xfffffffffff85000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -503808}, exp: []byte{0xfb, 0xff, 0x95, 0x92, 0x1b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   852  		{name: "SUBS/dst=R30/0x8001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 32769}, exp: []byte{0x3b, 0x0, 0x90, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   853  		{name: "SUBS/dst=R30/0xffffffffffff7fff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -32769}, exp: []byte{0x1b, 0x0, 0x90, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   854  		{name: "SUBS/dst=R30/0x80010000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   855  		{name: "SUBS/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   856  		{name: "SUBS/dst=R30/0x800100000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 140741783322624}, exp: []byte{0x3b, 0x0, 0xd0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   857  		{name: "SUBS/dst=R30/0xffff7fff00000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -140741783322624}, exp: []byte{0xfb, 0xff, 0xcf, 0xd2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   858  		{name: "SUBS/dst=R30/0xffffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 281474976710655}, exp: []byte{0xfb, 0xff, 0xff, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   859  		{name: "SUBS/dst=R30/0xffff000000000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -281474976710655}, exp: []byte{0xfb, 0x43, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   860  		{name: "SUBS/dst=R30/0xffff0000ffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -281470681743361}, exp: []byte{0xfb, 0xff, 0xdf, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   861  		{name: "SUBS/dst=R30/0xffff00000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 281470681743361}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   862  		{name: "SUBS/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   863  		{name: "SUBS/dst=R30/0x7fffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   864  		{name: "SUBS/dst=R30/0xffff00000000ffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -281474976645121}, exp: []byte{0xfb, 0x7f, 0x50, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   865  		{name: "SUBS/dst=R30/0xffffffff0001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 281474976645121}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xe0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   866  		{name: "SUBS/dst=R30/0x100001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1048577}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x2, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   867  		{name: "SUBS/dst=R30/0xffffffffffefffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1048577}, exp: []byte{0x1b, 0x2, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   868  		{name: "SUBS/dst=R30/0xfffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1048575}, exp: []byte{0xfb, 0x4f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   869  		{name: "SUBS/dst=R30/0xfffffffffff00001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1048575}, exp: []byte{0xfb, 0xb3, 0x6c, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   870  		{name: "SUBS/dst=R30/0x800001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8388609}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x10, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   871  		{name: "SUBS/dst=R30/0xffffffffff7fffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8388609}, exp: []byte{0x1b, 0x10, 0xa0, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   872  		{name: "SUBS/dst=R30/0x40000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   873  		{name: "SUBS/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   874  		{name: "SUBS/dst=R30/0x2", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0xf1}},
   875  		{name: "SUBS/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   876  		{name: "SUBS/dst=R30/0x3", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xf1}},
   877  		{name: "SUBS/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   878  		{name: "SUBS/dst=R30/0x1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xf1}},
   879  		{name: "SUBS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   880  		{name: "SUBS/dst=R30/0x11", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0xf1}},
   881  		{name: "SUBS/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   882  		{name: "SUBS/dst=R30/0x4", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4}, exp: []byte{0xde, 0x13, 0x0, 0xf1}},
   883  		{name: "SUBS/dst=R30/0xfffffffffffffffc", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4}, exp: []byte{0x7b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   884  		{name: "SUBS/dst=R30/0x5", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 5}, exp: []byte{0xde, 0x17, 0x0, 0xf1}},
   885  		{name: "SUBS/dst=R30/0xfffffffffffffffb", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -5}, exp: []byte{0x9b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   886  		{name: "SUBS/dst=R30/0x3", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xf1}},
   887  		{name: "SUBS/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   888  		{name: "SUBS/dst=R30/0x13", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 19}, exp: []byte{0xde, 0x4f, 0x0, 0xf1}},
   889  		{name: "SUBS/dst=R30/0xffffffffffffffed", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -19}, exp: []byte{0x5b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   890  		{name: "SUBS/dst=R30/0x8", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8}, exp: []byte{0xde, 0x23, 0x0, 0xf1}},
   891  		{name: "SUBS/dst=R30/0xfffffffffffffff8", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   892  		{name: "SUBS/dst=R30/0x9", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 9}, exp: []byte{0xde, 0x27, 0x0, 0xf1}},
   893  		{name: "SUBS/dst=R30/0xfffffffffffffff7", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -9}, exp: []byte{0x1b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   894  		{name: "SUBS/dst=R30/0x7", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 7}, exp: []byte{0xde, 0x1f, 0x0, 0xf1}},
   895  		{name: "SUBS/dst=R30/0xfffffffffffffff9", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -7}, exp: []byte{0xdb, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   896  		{name: "SUBS/dst=R30/0x17", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 23}, exp: []byte{0xde, 0x5f, 0x0, 0xf1}},
   897  		{name: "SUBS/dst=R30/0xffffffffffffffe9", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -23}, exp: []byte{0xdb, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   898  		{name: "SUBS/dst=R30/0x10", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 16}, exp: []byte{0xde, 0x43, 0x0, 0xf1}},
   899  		{name: "SUBS/dst=R30/0xfffffffffffffff0", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -16}, exp: []byte{0xfb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   900  		{name: "SUBS/dst=R30/0x11", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17}, exp: []byte{0xde, 0x47, 0x0, 0xf1}},
   901  		{name: "SUBS/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1b, 0x2, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   902  		{name: "SUBS/dst=R30/0xf", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 15}, exp: []byte{0xde, 0x3f, 0x0, 0xf1}},
   903  		{name: "SUBS/dst=R30/0xfffffffffffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -15}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   904  		{name: "SUBS/dst=R30/0x1f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0xf1}},
   905  		{name: "SUBS/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   906  		{name: "SUBS/dst=R30/0x20", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 32}, exp: []byte{0xde, 0x83, 0x0, 0xf1}},
   907  		{name: "SUBS/dst=R30/0xffffffffffffffe0", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -32}, exp: []byte{0xfb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   908  		{name: "SUBS/dst=R30/0x21", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 33}, exp: []byte{0xde, 0x87, 0x0, 0xf1}},
   909  		{name: "SUBS/dst=R30/0xffffffffffffffdf", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -33}, exp: []byte{0x1b, 0x4, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   910  		{name: "SUBS/dst=R30/0x1f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x7f, 0x0, 0xf1}},
   911  		{name: "SUBS/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -31}, exp: []byte{0xdb, 0x3, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   912  		{name: "SUBS/dst=R30/0x2f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 47}, exp: []byte{0xde, 0xbf, 0x0, 0xf1}},
   913  		{name: "SUBS/dst=R30/0xffffffffffffffd1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -47}, exp: []byte{0xdb, 0x5, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   914  		{name: "SUBS/dst=R30/0x40", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 64}, exp: []byte{0xde, 0x3, 0x1, 0xf1}},
   915  		{name: "SUBS/dst=R30/0xffffffffffffffc0", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -64}, exp: []byte{0xfb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   916  		{name: "SUBS/dst=R30/0x41", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 65}, exp: []byte{0xde, 0x7, 0x1, 0xf1}},
   917  		{name: "SUBS/dst=R30/0xffffffffffffffbf", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -65}, exp: []byte{0x1b, 0x8, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   918  		{name: "SUBS/dst=R30/0x3f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 63}, exp: []byte{0xde, 0xff, 0x0, 0xf1}},
   919  		{name: "SUBS/dst=R30/0xffffffffffffffc1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -63}, exp: []byte{0xdb, 0x7, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   920  		{name: "SUBS/dst=R30/0x4f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 79}, exp: []byte{0xde, 0x3f, 0x1, 0xf1}},
   921  		{name: "SUBS/dst=R30/0xffffffffffffffb1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -79}, exp: []byte{0xdb, 0x9, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   922  		{name: "SUBS/dst=R30/0x1ffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8190}, exp: []byte{0xdb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   923  		{name: "SUBS/dst=R30/0xffffffffffffe002", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8190}, exp: []byte{0xbb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   924  		{name: "SUBS/dst=R30/0x1ffd", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8189}, exp: []byte{0xbb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   925  		{name: "SUBS/dst=R30/0xffffffffffffe003", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8189}, exp: []byte{0x9b, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   926  		{name: "SUBS/dst=R30/0x1fff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8191}, exp: []byte{0xfb, 0xff, 0x83, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   927  		{name: "SUBS/dst=R30/0xffffffffffffe001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8191}, exp: []byte{0xdb, 0xff, 0x83, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   928  		{name: "SUBS/dst=R30/0x0", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 0}, exp: []byte{0xde, 0x3, 0x1f, 0xeb}},
   929  		{name: "SUBS/dst=R30/0x1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xf1}},
   930  		{name: "SUBS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   931  		{name: "SUBS/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   932  		{name: "SUBS/dst=R30/0x1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0x7, 0x0, 0xf1}},
   933  		{name: "SUBS/dst=R30/0x2", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xb, 0x0, 0xf1}},
   934  		{name: "SUBS/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   935  		{name: "SUBS/dst=R30/0x3", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 3}, exp: []byte{0xde, 0xf, 0x0, 0xf1}},
   936  		{name: "SUBS/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5b, 0x0, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   937  		{name: "SUBS/dst=R30/0xa", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0xf1}},
   938  		{name: "SUBS/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   939  		{name: "SUBS/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3b, 0x1, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   940  		{name: "SUBS/dst=R30/0xa", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 10}, exp: []byte{0xde, 0x2b, 0x0, 0xf1}},
   941  		{name: "SUBS/dst=R30/0x7b", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0xf1}},
   942  		{name: "SUBS/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   943  		{name: "SUBS/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5b, 0xf, 0x80, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   944  		{name: "SUBS/dst=R30/0x7b", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 123}, exp: []byte{0xde, 0xef, 0x1, 0xf1}},
   945  		{name: "SUBS/dst=R30/0x7fff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 32767}, exp: []byte{0xfb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   946  		{name: "SUBS/dst=R30/0xffffffffffff8001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -32767}, exp: []byte{0xdb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   947  		{name: "SUBS/dst=R30/0x7fffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfb, 0x7b, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   948  		{name: "SUBS/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfb, 0x87, 0x61, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   949  		{name: "SUBS/dst=R30/0xffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   950  		{name: "SUBS/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   951  		{name: "SUBS/dst=R30/0x4002", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 16386}, exp: []byte{0x5b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   952  		{name: "SUBS/dst=R30/0xffffffffffffbffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -16386}, exp: []byte{0x3b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   953  		{name: "SUBS/dst=R30/0xffff0000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   954  		{name: "SUBS/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   955  		{name: "SUBS/dst=R30/0xffff0001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294901761}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   956  		{name: "SUBS/dst=R30/0xffffffff0000ffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294901761}, exp: []byte{0xfb, 0xff, 0xbf, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   957  		{name: "SUBS/dst=R30/0xf00000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 251658255}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   958  		{name: "SUBS/dst=R30/0xfffffffff0fffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -251658255}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   959  		{name: "SUBS/dst=R30/0x7ffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 32766}, exp: []byte{0xdb, 0xff, 0x8f, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   960  		{name: "SUBS/dst=R30/0xffffffffffff8002", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -32766}, exp: []byte{0xbb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   961  		{name: "SUBS/dst=R30/0x7ffffffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2147483646}, exp: []byte{0xfb, 0x77, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   962  		{name: "SUBS/dst=R30/0xffffffff80000002", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2147483646}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xb0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   963  		{name: "SUBS/dst=R30/0xfffffffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967294}, exp: []byte{0xfb, 0x7b, 0x7f, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   964  		{name: "SUBS/dst=R30/0xffffffff00000002", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967294}, exp: []byte{0xbb, 0xff, 0x9f, 0x92, 0x1b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   965  		{name: "SUBS/dst=R30/0x4001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 16385}, exp: []byte{0x3b, 0x0, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   966  		{name: "SUBS/dst=R30/0xffffffffffffbfff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -16385}, exp: []byte{0x1b, 0x0, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   967  		{name: "SUBS/dst=R30/0xfffeffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294901759}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   968  		{name: "SUBS/dst=R30/0xffffffff00010001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294901759}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   969  		{name: "SUBS/dst=R30/0xffff0000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfb, 0xff, 0xbf, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   970  		{name: "SUBS/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   971  		{name: "SUBS/dst=R30/0xf00000e", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 251658254}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xe0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   972  		{name: "SUBS/dst=R30/0xfffffffff0fffff2", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -251658254}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x1f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   973  		{name: "SUBS/dst=R30/0x8000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 32768}, exp: []byte{0xde, 0x23, 0x40, 0xf1}},
   974  		{name: "SUBS/dst=R30/0xffffffffffff8000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -32768}, exp: []byte{0xfb, 0xff, 0x8f, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   975  		{name: "SUBS/dst=R30/0x4009", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 16393}, exp: []byte{0x3b, 0x1, 0x88, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   976  		{name: "SUBS/dst=R30/0xffffffffffffbff7", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -16393}, exp: []byte{0x1b, 0x1, 0x88, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   977  		{name: "SUBS/dst=R30/0xffeffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 268369919}, exp: []byte{0xfb, 0xff, 0x9f, 0xd2, 0xdb, 0xff, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   978  		{name: "SUBS/dst=R30/0xfffffffff0010001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -268369919}, exp: []byte{0xdb, 0xff, 0x9f, 0x92, 0x3b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   979  		{name: "SUBS/dst=R30/0xffe0000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 268304384}, exp: []byte{0xdb, 0xff, 0xa1, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   980  		{name: "SUBS/dst=R30/0xfffffffff0020000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -268304384}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0x5b, 0x0, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   981  		{name: "SUBS/dst=R30/0xe00000e", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 234881038}, exp: []byte{0xdb, 0x1, 0x80, 0xd2, 0x1b, 0xc0, 0xa1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   982  		{name: "SUBS/dst=R30/0xfffffffff1fffff2", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -234881038}, exp: []byte{0xbb, 0x1, 0x80, 0x92, 0xfb, 0x3f, 0xbe, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   983  		{name: "SUBS/dst=R30/0x80010000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3b, 0x0, 0xb0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   984  		{name: "SUBS/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfb, 0xff, 0x9f, 0x92, 0xfb, 0xff, 0xaf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   985  		{name: "SUBS/dst=R30/0x10002", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 65538}, exp: []byte{0x5b, 0x0, 0x80, 0xd2, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   986  		{name: "SUBS/dst=R30/0xfffffffffffefffe", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -65538}, exp: []byte{0x3b, 0x0, 0x80, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   987  		{name: "SUBS/dst=R30/0x100000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967296}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   988  		{name: "SUBS/dst=R30/0xffffffff00000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967296}, exp: []byte{0xfb, 0x7f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   989  		{name: "SUBS/dst=R30/0x400000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17179869184}, exp: []byte{0x9b, 0x0, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   990  		{name: "SUBS/dst=R30/0xfffffffc00000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17179869184}, exp: []byte{0xfb, 0x77, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   991  		{name: "SUBS/dst=R30/0x10000000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1099511627776}, exp: []byte{0x1b, 0x20, 0xc0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
   992  		{name: "SUBS/dst=R30/0xffffff0000000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1099511627776}, exp: []byte{0xfb, 0x5f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   993  		{name: "SUBS/dst=R30/0x100000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967297}, exp: []byte{0xfb, 0x3, 0x0, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
   994  		{name: "SUBS/dst=R30/0xfffffffeffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967297}, exp: []byte{0x3b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   995  		{name: "SUBS/dst=R30/0x400000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17179869185}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   996  		{name: "SUBS/dst=R30/0xfffffffbffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17179869185}, exp: []byte{0x9b, 0x0, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   997  		{name: "SUBS/dst=R30/0x10000000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1099511627777}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
   998  		{name: "SUBS/dst=R30/0xfffffeffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1099511627777}, exp: []byte{0x1b, 0x20, 0xc0, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
   999  		{name: "SUBS/dst=R30/0xffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfb, 0x7f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1000  		{name: "SUBS/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfb, 0x83, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1001  		{name: "SUBS/dst=R30/0x3ffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17179869183}, exp: []byte{0xfb, 0x87, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1002  		{name: "SUBS/dst=R30/0xfffffffc00000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17179869183}, exp: []byte{0xfb, 0x7b, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1003  		{name: "SUBS/dst=R30/0xffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1099511627775}, exp: []byte{0xfb, 0x9f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1004  		{name: "SUBS/dst=R30/0xffffff0000000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1099511627775}, exp: []byte{0xfb, 0x63, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1005  		{name: "SUBS/dst=R30/0x10000000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967311}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x3b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1006  		{name: "SUBS/dst=R30/0xfffffffefffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967311}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xdb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1007  		{name: "SUBS/dst=R30/0x40000000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17179869199}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x9b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1008  		{name: "SUBS/dst=R30/0xfffffffbfffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17179869199}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0x7b, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1009  		{name: "SUBS/dst=R30/0x1000000000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1099511627791}, exp: []byte{0xfb, 0x1, 0x80, 0xd2, 0x1b, 0x20, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1010  		{name: "SUBS/dst=R30/0xfffffefffffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1099511627791}, exp: []byte{0xdb, 0x1, 0x80, 0x92, 0xfb, 0xdf, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1011  		{name: "SUBS/dst=R30/0xfffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 4294967281}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1012  		{name: "SUBS/dst=R30/0xffffffff0000000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -4294967281}, exp: []byte{0xfb, 0x8f, 0x60, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1013  		{name: "SUBS/dst=R30/0x3fffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 17179869169}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0x7b, 0x0, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1014  		{name: "SUBS/dst=R30/0xfffffffc0000000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -17179869169}, exp: []byte{0xfb, 0x87, 0x5e, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1015  		{name: "SUBS/dst=R30/0xfffffffff1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1099511627761}, exp: []byte{0x3b, 0xfe, 0x9f, 0xd2, 0xfb, 0xff, 0xbf, 0xf2, 0xfb, 0x1f, 0xc0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1016  		{name: "SUBS/dst=R30/0xffffff000000000f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1099511627761}, exp: []byte{0xfb, 0x6f, 0x58, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1017  		{name: "SUBS/dst=R30/0x7fffffffffffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 9223372036854775807}, exp: []byte{0x1b, 0x0, 0xf0, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
  1018  		{name: "SUBS/dst=R30/0x8000000000000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -9223372036854775807}, exp: []byte{0xfb, 0x7, 0x41, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1019  		{name: "SUBS/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
  1020  		{name: "SUBS/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1b, 0x0, 0xf0, 0xd2, 0xde, 0x3, 0x1b, 0xeb}},
  1021  		{name: "SUBS/dst=R30/0x40000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3b, 0x0, 0x80, 0xd2, 0x1b, 0x0, 0xa8, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1022  		{name: "SUBS/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1b, 0x0, 0xa8, 0x92, 0xde, 0x3, 0x1b, 0xeb}},
  1023  		{name: "SUBS/dst=R30/0x7000000010000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8070450532516364288}, exp: []byte{0x1b, 0x0, 0xa2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1024  		{name: "SUBS/dst=R30/0x8ffffffff0000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8070450532516364288}, exp: []byte{0x1b, 0x0, 0xbe, 0xd2, 0xfb, 0xff, 0xdf, 0xf2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1025  		{name: "SUBS/dst=R30/0x7000000100000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8070450536542896128}, exp: []byte{0x3b, 0x0, 0xc0, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1026  		{name: "SUBS/dst=R30/0x8fffffff00000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8070450536542896128}, exp: []byte{0xfb, 0xff, 0xdf, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1027  		{name: "SUBS/dst=R30/0x7000100000000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8070468124433973248}, exp: []byte{0x1b, 0x0, 0xc2, 0xd2, 0x1b, 0x0, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1028  		{name: "SUBS/dst=R30/0x8ffff00000000000", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8070468124433973248}, exp: []byte{0x1b, 0x0, 0xde, 0xd2, 0xfb, 0xff, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1029  		{name: "SUBS/dst=R30/0x154b4", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 87220}, exp: []byte{0x9b, 0x96, 0x8a, 0xd2, 0x3b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1030  		{name: "SUBS/dst=R30/0xfffffffffffeab4c", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -87220}, exp: []byte{0x7b, 0x96, 0x8a, 0x92, 0xdb, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1031  		{name: "SUBS/dst=R30/0x40008", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 262152}, exp: []byte{0x1b, 0x1, 0x80, 0xd2, 0x9b, 0x0, 0xa0, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1032  		{name: "SUBS/dst=R30/0xfffffffffffbfff8", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -262152}, exp: []byte{0xfb, 0x0, 0x80, 0x92, 0x7b, 0xff, 0xbf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1033  		{name: "SUBS/dst=R30/0xffff0000c466361f", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -281471681677793}, exp: []byte{0xfb, 0xc3, 0x86, 0xd2, 0xdb, 0x8c, 0xb8, 0xf2, 0xfb, 0xff, 0xff, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1034  		{name: "SUBS/dst=R30/0xffff3b99c9e1", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 281471681677793}, exp: []byte{0x3b, 0x3c, 0x99, 0xd2, 0x3b, 0x73, 0xa7, 0xf2, 0xfb, 0xff, 0xdf, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1035  		{name: "SUBS/dst=R30/0xc465c9ff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 3295005183}, exp: []byte{0xfb, 0x3f, 0x99, 0xd2, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1036  		{name: "SUBS/dst=R30/0xffffffff3b9a3601", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -3295005183}, exp: []byte{0xdb, 0x3f, 0x99, 0x92, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1037  		{name: "SUBS/dst=R30/0x89705f4136b4a598", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -8543223759426509416}, exp: []byte{0x1b, 0xb3, 0x94, 0xd2, 0x9b, 0xd6, 0xa6, 0xf2, 0x3b, 0xe8, 0xcb, 0xf2, 0x1b, 0x2e, 0xf1, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1038  		{name: "SUBS/dst=R30/0x768fa0bec94b5a68", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 8543223759426509416}, exp: []byte{0x1b, 0x4d, 0x8b, 0xd2, 0x7b, 0x29, 0xb9, 0xf2, 0xdb, 0x17, 0xd4, 0xf2, 0xfb, 0xd1, 0xee, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1039  		{name: "SUBS/dst=R30/0xffffffffc4653600", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -1000000000}, exp: []byte{0xfb, 0x3f, 0x99, 0x92, 0xbb, 0x8c, 0xb8, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1040  		{name: "SUBS/dst=R30/0x3b9aca00", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 1000000000}, exp: []byte{0x1b, 0x40, 0x99, 0xd2, 0x5b, 0x73, 0xa7, 0xf2, 0xde, 0x3, 0x1b, 0xeb}},
  1041  		{name: "SUBS/dst=R30/0xffffff", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: 16777215}, exp: []byte{0xfb, 0x5f, 0x40, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1042  		{name: "SUBS/dst=R30/0xffffffffff000001", n: &nodeImpl{instruction: SUBS, dstReg: RegR30, srcConst: -16777215}, exp: []byte{0xfb, 0xa3, 0x68, 0xb2, 0xde, 0x3, 0x1b, 0xeb}},
  1043  		{name: "MOVW/dst=R30/0x2", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 2}, exp: []byte{0xfe, 0x3, 0x1f, 0x32}},
  1044  		{name: "MOVW/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3e, 0x0, 0x80, 0x12}},
  1045  		{name: "MOVW/dst=R30/0x3", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 3}, exp: []byte{0xfe, 0x7, 0x0, 0x32}},
  1046  		{name: "MOVW/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5e, 0x0, 0x80, 0x12}},
  1047  		{name: "MOVW/dst=R30/0x1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x0, 0x32}},
  1048  		{name: "MOVW/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x12}},
  1049  		{name: "MOVW/dst=R30/0x11", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 17}, exp: []byte{0x3e, 0x2, 0x80, 0x52}},
  1050  		{name: "MOVW/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1e, 0x2, 0x80, 0x12}},
  1051  		{name: "MOVW/dst=R30/0x4", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4}, exp: []byte{0xfe, 0x3, 0x1e, 0x32}},
  1052  		{name: "MOVW/dst=R30/0xfffffffffffffffc", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4}, exp: []byte{0x7e, 0x0, 0x80, 0x12}},
  1053  		{name: "MOVW/dst=R30/0x5", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 5}, exp: []byte{0xbe, 0x0, 0x80, 0x52}},
  1054  		{name: "MOVW/dst=R30/0xfffffffffffffffb", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -5}, exp: []byte{0x9e, 0x0, 0x80, 0x12}},
  1055  		{name: "MOVW/dst=R30/0x3", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 3}, exp: []byte{0xfe, 0x7, 0x0, 0x32}},
  1056  		{name: "MOVW/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5e, 0x0, 0x80, 0x12}},
  1057  		{name: "MOVW/dst=R30/0x13", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 19}, exp: []byte{0x7e, 0x2, 0x80, 0x52}},
  1058  		{name: "MOVW/dst=R30/0xffffffffffffffed", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -19}, exp: []byte{0x5e, 0x2, 0x80, 0x12}},
  1059  		{name: "MOVW/dst=R30/0x8", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 8}, exp: []byte{0xfe, 0x3, 0x1d, 0x32}},
  1060  		{name: "MOVW/dst=R30/0xfffffffffffffff8", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -8}, exp: []byte{0xfe, 0x0, 0x80, 0x12}},
  1061  		{name: "MOVW/dst=R30/0x9", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 9}, exp: []byte{0x3e, 0x1, 0x80, 0x52}},
  1062  		{name: "MOVW/dst=R30/0xfffffffffffffff7", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -9}, exp: []byte{0x1e, 0x1, 0x80, 0x12}},
  1063  		{name: "MOVW/dst=R30/0x7", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 7}, exp: []byte{0xfe, 0xb, 0x0, 0x32}},
  1064  		{name: "MOVW/dst=R30/0xfffffffffffffff9", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -7}, exp: []byte{0xde, 0x0, 0x80, 0x12}},
  1065  		{name: "MOVW/dst=R30/0x17", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 23}, exp: []byte{0xfe, 0x2, 0x80, 0x52}},
  1066  		{name: "MOVW/dst=R30/0xffffffffffffffe9", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -23}, exp: []byte{0xde, 0x2, 0x80, 0x12}},
  1067  		{name: "MOVW/dst=R30/0x10", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 16}, exp: []byte{0xfe, 0x3, 0x1c, 0x32}},
  1068  		{name: "MOVW/dst=R30/0xfffffffffffffff0", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -16}, exp: []byte{0xfe, 0x1, 0x80, 0x12}},
  1069  		{name: "MOVW/dst=R30/0x11", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 17}, exp: []byte{0x3e, 0x2, 0x80, 0x52}},
  1070  		{name: "MOVW/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1e, 0x2, 0x80, 0x12}},
  1071  		{name: "MOVW/dst=R30/0xf", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 15}, exp: []byte{0xfe, 0xf, 0x0, 0x32}},
  1072  		{name: "MOVW/dst=R30/0xfffffffffffffff1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -15}, exp: []byte{0xde, 0x1, 0x80, 0x12}},
  1073  		{name: "MOVW/dst=R30/0x1f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 31}, exp: []byte{0xfe, 0x13, 0x0, 0x32}},
  1074  		{name: "MOVW/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -31}, exp: []byte{0xde, 0x3, 0x80, 0x12}},
  1075  		{name: "MOVW/dst=R30/0x20", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 32}, exp: []byte{0xfe, 0x3, 0x1b, 0x32}},
  1076  		{name: "MOVW/dst=R30/0xffffffffffffffe0", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -32}, exp: []byte{0xfe, 0x3, 0x80, 0x12}},
  1077  		{name: "MOVW/dst=R30/0x21", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 33}, exp: []byte{0x3e, 0x4, 0x80, 0x52}},
  1078  		{name: "MOVW/dst=R30/0xffffffffffffffdf", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -33}, exp: []byte{0x1e, 0x4, 0x80, 0x12}},
  1079  		{name: "MOVW/dst=R30/0x1f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 31}, exp: []byte{0xfe, 0x13, 0x0, 0x32}},
  1080  		{name: "MOVW/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -31}, exp: []byte{0xde, 0x3, 0x80, 0x12}},
  1081  		{name: "MOVW/dst=R30/0x2f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 47}, exp: []byte{0xfe, 0x5, 0x80, 0x52}},
  1082  		{name: "MOVW/dst=R30/0xffffffffffffffd1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -47}, exp: []byte{0xde, 0x5, 0x80, 0x12}},
  1083  		{name: "MOVW/dst=R30/0x40", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 64}, exp: []byte{0xfe, 0x3, 0x1a, 0x32}},
  1084  		{name: "MOVW/dst=R30/0xffffffffffffffc0", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -64}, exp: []byte{0xfe, 0x7, 0x80, 0x12}},
  1085  		{name: "MOVW/dst=R30/0x41", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 65}, exp: []byte{0x3e, 0x8, 0x80, 0x52}},
  1086  		{name: "MOVW/dst=R30/0xffffffffffffffbf", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -65}, exp: []byte{0x1e, 0x8, 0x80, 0x12}},
  1087  		{name: "MOVW/dst=R30/0x3f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 63}, exp: []byte{0xfe, 0x17, 0x0, 0x32}},
  1088  		{name: "MOVW/dst=R30/0xffffffffffffffc1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -63}, exp: []byte{0xde, 0x7, 0x80, 0x12}},
  1089  		{name: "MOVW/dst=R30/0x4f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 79}, exp: []byte{0xfe, 0x9, 0x80, 0x52}},
  1090  		{name: "MOVW/dst=R30/0xffffffffffffffb1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -79}, exp: []byte{0xde, 0x9, 0x80, 0x12}},
  1091  		{name: "MOVW/dst=R30/0x1ffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 8190}, exp: []byte{0xde, 0xff, 0x83, 0x52}},
  1092  		{name: "MOVW/dst=R30/0xffffffffffffe002", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -8190}, exp: []byte{0xbe, 0xff, 0x83, 0x12}},
  1093  		{name: "MOVW/dst=R30/0x1ffd", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 8189}, exp: []byte{0xbe, 0xff, 0x83, 0x52}},
  1094  		{name: "MOVW/dst=R30/0xffffffffffffe003", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -8189}, exp: []byte{0x9e, 0xff, 0x83, 0x12}},
  1095  		{name: "MOVW/dst=R30/0x1fff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 8191}, exp: []byte{0xfe, 0xff, 0x83, 0x52}},
  1096  		{name: "MOVW/dst=R30/0xffffffffffffe001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -8191}, exp: []byte{0xde, 0xff, 0x83, 0x12}},
  1097  		{name: "MOVW/dst=R30/0x0", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 0}, exp: []byte{0xfe, 0x3, 0x1f, 0x2a}},
  1098  		{name: "MOVW/dst=R30/0x1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x0, 0x32}},
  1099  		{name: "MOVW/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x12}},
  1100  		{name: "MOVW/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x12}},
  1101  		{name: "MOVW/dst=R30/0x1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x0, 0x32}},
  1102  		{name: "MOVW/dst=R30/0x2", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 2}, exp: []byte{0xfe, 0x3, 0x1f, 0x32}},
  1103  		{name: "MOVW/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3e, 0x0, 0x80, 0x12}},
  1104  		{name: "MOVW/dst=R30/0x3", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 3}, exp: []byte{0xfe, 0x7, 0x0, 0x32}},
  1105  		{name: "MOVW/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5e, 0x0, 0x80, 0x12}},
  1106  		{name: "MOVW/dst=R30/0xa", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 10}, exp: []byte{0x5e, 0x1, 0x80, 0x52}},
  1107  		{name: "MOVW/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3e, 0x1, 0x80, 0x12}},
  1108  		{name: "MOVW/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3e, 0x1, 0x80, 0x12}},
  1109  		{name: "MOVW/dst=R30/0xa", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 10}, exp: []byte{0x5e, 0x1, 0x80, 0x52}},
  1110  		{name: "MOVW/dst=R30/0x7b", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 123}, exp: []byte{0x7e, 0xf, 0x80, 0x52}},
  1111  		{name: "MOVW/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5e, 0xf, 0x80, 0x12}},
  1112  		{name: "MOVW/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5e, 0xf, 0x80, 0x12}},
  1113  		{name: "MOVW/dst=R30/0x7b", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 123}, exp: []byte{0x7e, 0xf, 0x80, 0x52}},
  1114  		{name: "MOVW/dst=R30/0x7fff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 32767}, exp: []byte{0xfe, 0xff, 0x8f, 0x52}},
  1115  		{name: "MOVW/dst=R30/0xffffffffffff8001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -32767}, exp: []byte{0xde, 0xff, 0x8f, 0x12}},
  1116  		{name: "MOVW/dst=R30/0x7fffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0x1e, 0x0, 0xb0, 0x12}},
  1117  		{name: "MOVW/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfe, 0x87, 0x1, 0x32}},
  1118  		{name: "MOVW/dst=R30/0xffffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0x1e, 0x0, 0x80, 0x12}},
  1119  		{name: "MOVW/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfe, 0x83, 0x0, 0x32}},
  1120  		{name: "MOVW/dst=R30/0x4002", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 16386}, exp: []byte{0x5e, 0x0, 0x88, 0x52}},
  1121  		{name: "MOVW/dst=R30/0xffffffffffffbffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -16386}, exp: []byte{0x3e, 0x0, 0x88, 0x12}},
  1122  		{name: "MOVW/dst=R30/0xffff0000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfe, 0xff, 0xbf, 0x52}},
  1123  		{name: "MOVW/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0x3e, 0x0, 0xa0, 0x52}},
  1124  		{name: "MOVW/dst=R30/0xffff0001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4294901761}, exp: []byte{0xde, 0xff, 0x9f, 0x12}},
  1125  		{name: "MOVW/dst=R30/0xffffffff0000ffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4294901761}, exp: []byte{0xfe, 0xff, 0x9f, 0x52}},
  1126  		{name: "MOVW/dst=R30/0xf00000f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 251658255}, exp: []byte{0xfe, 0x1, 0x80, 0x52, 0x1e, 0xe0, 0xa1, 0x72}},
  1127  		{name: "MOVW/dst=R30/0xfffffffff0fffff1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -251658255}, exp: []byte{0x3e, 0xfe, 0x9f, 0x52, 0xfe, 0x1f, 0xbe, 0x72}},
  1128  		{name: "MOVW/dst=R30/0x7ffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 32766}, exp: []byte{0xde, 0xff, 0x8f, 0x52}},
  1129  		{name: "MOVW/dst=R30/0xffffffffffff8002", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -32766}, exp: []byte{0xbe, 0xff, 0x8f, 0x12}},
  1130  		{name: "MOVW/dst=R30/0x7ffffffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 2147483646}, exp: []byte{0xfe, 0x77, 0x1f, 0x32}},
  1131  		{name: "MOVW/dst=R30/0xffffffff80000002", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -2147483646}, exp: []byte{0x5e, 0x0, 0x80, 0x52, 0x1e, 0x0, 0xb0, 0x72}},
  1132  		{name: "MOVW/dst=R30/0xfffffffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4294967294}, exp: []byte{0x3e, 0x0, 0x80, 0x12}},
  1133  		{name: "MOVW/dst=R30/0xffffffff00000002", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4294967294}, exp: []byte{0x5e, 0x0, 0x80, 0x52}},
  1134  		{name: "MOVW/dst=R30/0x4001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 16385}, exp: []byte{0x3e, 0x0, 0x88, 0x52}},
  1135  		{name: "MOVW/dst=R30/0xffffffffffffbfff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -16385}, exp: []byte{0x1e, 0x0, 0x88, 0x12}},
  1136  		{name: "MOVW/dst=R30/0xfffeffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4294901759}, exp: []byte{0x3e, 0x0, 0xa0, 0x12}},
  1137  		{name: "MOVW/dst=R30/0xffffffff00010001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4294901759}, exp: []byte{0x3e, 0x0, 0x80, 0x52, 0x3e, 0x0, 0xa0, 0x72}},
  1138  		{name: "MOVW/dst=R30/0xffff0000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfe, 0xff, 0xbf, 0x52}},
  1139  		{name: "MOVW/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0x3e, 0x0, 0xa0, 0x52}},
  1140  		{name: "MOVW/dst=R30/0xf00000e", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 251658254}, exp: []byte{0xde, 0x1, 0x80, 0x52, 0x1e, 0xe0, 0xa1, 0x72}},
  1141  		{name: "MOVW/dst=R30/0xfffffffff0fffff2", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -251658254}, exp: []byte{0x5e, 0xfe, 0x9f, 0x52, 0xfe, 0x1f, 0xbe, 0x72}},
  1142  		{name: "MOVW/dst=R30/0x8000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 32768}, exp: []byte{0xfe, 0x3, 0x11, 0x32}},
  1143  		{name: "MOVW/dst=R30/0xffffffffffff8000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -32768}, exp: []byte{0xfe, 0xff, 0x8f, 0x12}},
  1144  		{name: "MOVW/dst=R30/0x4009", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 16393}, exp: []byte{0x3e, 0x1, 0x88, 0x52}},
  1145  		{name: "MOVW/dst=R30/0xffffffffffffbff7", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -16393}, exp: []byte{0x1e, 0x1, 0x88, 0x12}},
  1146  		{name: "MOVW/dst=R30/0xffeffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 268369919}, exp: []byte{0x3e, 0x0, 0xbe, 0x12}},
  1147  		{name: "MOVW/dst=R30/0xfffffffff0010001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -268369919}, exp: []byte{0x3e, 0x0, 0x80, 0x52, 0x3e, 0x0, 0xbe, 0x72}},
  1148  		{name: "MOVW/dst=R30/0xffe0000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 268304384}, exp: []byte{0xde, 0xff, 0xa1, 0x52}},
  1149  		{name: "MOVW/dst=R30/0xfffffffff0020000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -268304384}, exp: []byte{0x5e, 0x0, 0xbe, 0x52}},
  1150  		{name: "MOVW/dst=R30/0xe00000e", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 234881038}, exp: []byte{0xde, 0x1, 0x80, 0x52, 0x1e, 0xc0, 0xa1, 0x72}},
  1151  		{name: "MOVW/dst=R30/0xfffffffff1fffff2", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -234881038}, exp: []byte{0x5e, 0xfe, 0x9f, 0x52, 0xfe, 0x3f, 0xbe, 0x72}},
  1152  		{name: "MOVW/dst=R30/0x80010000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3e, 0x0, 0xb0, 0x52}},
  1153  		{name: "MOVW/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfe, 0xff, 0xaf, 0x52}},
  1154  		{name: "MOVW/dst=R30/0x10002", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 65538}, exp: []byte{0x5e, 0x0, 0x80, 0x52, 0x3e, 0x0, 0xa0, 0x72}},
  1155  		{name: "MOVW/dst=R30/0xfffffffffffefffe", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -65538}, exp: []byte{0xde, 0xff, 0x9f, 0x52, 0xde, 0xff, 0xbf, 0x72}},
  1156  		{name: "MOVW/dst=R30/0x40000000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1073741824}, exp: []byte{0x1e, 0x0, 0xa8, 0x52}},
  1157  		{name: "MOVW/dst=R30/0xffffffffc0000000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1073741824}, exp: []byte{0x1e, 0x0, 0xb8, 0x52}},
  1158  		{name: "MOVW/dst=R30/0x40000001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3e, 0x0, 0x80, 0x52, 0x1e, 0x0, 0xa8, 0x72}},
  1159  		{name: "MOVW/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1e, 0x0, 0xa8, 0x12}},
  1160  		{name: "MOVW/dst=R30/0x3fffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1073741823}, exp: []byte{0x1e, 0x0, 0xb8, 0x12}},
  1161  		{name: "MOVW/dst=R30/0xffffffffc0000001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1073741823}, exp: []byte{0xfe, 0x8b, 0x2, 0x32}},
  1162  		{name: "MOVW/dst=R30/0x4000000f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1073741839}, exp: []byte{0xfe, 0x1, 0x80, 0x52, 0x1e, 0x0, 0xa8, 0x72}},
  1163  		{name: "MOVW/dst=R30/0xffffffffbffffff1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1073741839}, exp: []byte{0x3e, 0xfe, 0x9f, 0x52, 0xfe, 0xff, 0xb7, 0x72}},
  1164  		{name: "MOVW/dst=R30/0x3ffffff1", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1073741809}, exp: []byte{0x3e, 0xfe, 0x9f, 0x52, 0xfe, 0xff, 0xa7, 0x72}},
  1165  		{name: "MOVW/dst=R30/0xffffffffc000000f", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1073741809}, exp: []byte{0xfe, 0x97, 0x2, 0x32}},
  1166  		{name: "MOVW/dst=R30/0x7fffffffffffffff", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 9223372036854775807}, exp: []byte{0x1e, 0x0, 0x80, 0x12}},
  1167  		{name: "MOVW/dst=R30/0x8000000000000001", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -9223372036854775807}, exp: []byte{0xfe, 0x7, 0x1, 0x32}},
  1168  		{name: "MOVW/dst=R30/0xffffffffc0000000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: -1073741824}, exp: []byte{0x1e, 0x0, 0xb8, 0x52}},
  1169  		{name: "MOVW/dst=R30/0x40000000", n: &nodeImpl{instruction: MOVW, dstReg: RegR30, srcConst: 1073741824}, exp: []byte{0x1e, 0x0, 0xa8, 0x52}},
  1170  		{name: "MOVD/dst=R30/0x1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x40, 0xb2}},
  1171  		{name: "MOVD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x92}},
  1172  		{name: "MOVD/dst=R30/0xfff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4095}, exp: []byte{0xfe, 0x2f, 0x40, 0xb2}},
  1173  		{name: "MOVD/dst=R30/0xfffffffffffff001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4095}, exp: []byte{0xde, 0xff, 0x81, 0x92}},
  1174  		{name: "MOVD/dst=R30/0xfff000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 16773120}, exp: []byte{0xfe, 0x2f, 0x74, 0xb2}},
  1175  		{name: "MOVD/dst=R30/0xffffffffff001000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -16773120}, exp: []byte{0xfe, 0xff, 0x9d, 0x92, 0x1e, 0xe0, 0xbf, 0xf2}},
  1176  		{name: "MOVD/dst=R30/0x7b000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 503808}, exp: []byte{0x1e, 0x0, 0x96, 0xd2, 0xfe, 0x0, 0xa0, 0xf2}},
  1177  		{name: "MOVD/dst=R30/0xfffffffffff85000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -503808}, exp: []byte{0xfe, 0xff, 0x95, 0x92, 0x1e, 0xff, 0xbf, 0xf2}},
  1178  		{name: "MOVD/dst=R30/0x8001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 32769}, exp: []byte{0x3e, 0x0, 0x90, 0xd2}},
  1179  		{name: "MOVD/dst=R30/0xffffffffffff7fff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -32769}, exp: []byte{0x1e, 0x0, 0x90, 0x92}},
  1180  		{name: "MOVD/dst=R30/0x80010000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3e, 0x0, 0xb0, 0xd2}},
  1181  		{name: "MOVD/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfe, 0xff, 0x9f, 0x92, 0xfe, 0xff, 0xaf, 0xf2}},
  1182  		{name: "MOVD/dst=R30/0x800100000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 140741783322624}, exp: []byte{0x3e, 0x0, 0xd0, 0xd2}},
  1183  		{name: "MOVD/dst=R30/0xffff7fff00000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -140741783322624}, exp: []byte{0xfe, 0xff, 0xcf, 0xd2, 0xfe, 0xff, 0xff, 0xf2}},
  1184  		{name: "MOVD/dst=R30/0xffffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 281474976710655}, exp: []byte{0xfe, 0xff, 0xff, 0x92}},
  1185  		{name: "MOVD/dst=R30/0xffff000000000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -281474976710655}, exp: []byte{0xfe, 0x43, 0x50, 0xb2}},
  1186  		{name: "MOVD/dst=R30/0xffff0000ffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -281470681743361}, exp: []byte{0xfe, 0xff, 0xdf, 0x92}},
  1187  		{name: "MOVD/dst=R30/0xffff00000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 281470681743361}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0xfe, 0xff, 0xdf, 0xf2}},
  1188  		{name: "MOVD/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfe, 0x87, 0x61, 0xb2}},
  1189  		{name: "MOVD/dst=R30/0x7fffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfe, 0x7b, 0x40, 0xb2}},
  1190  		{name: "MOVD/dst=R30/0xffff00000000ffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -281474976645121}, exp: []byte{0xfe, 0x7f, 0x50, 0xb2}},
  1191  		{name: "MOVD/dst=R30/0xffffffff0001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 281474976645121}, exp: []byte{0xde, 0xff, 0x9f, 0x92, 0x1e, 0x0, 0xe0, 0xf2}},
  1192  		{name: "MOVD/dst=R30/0x100001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1048577}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0x1e, 0x2, 0xa0, 0xf2}},
  1193  		{name: "MOVD/dst=R30/0xffffffffffefffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1048577}, exp: []byte{0x1e, 0x2, 0xa0, 0x92}},
  1194  		{name: "MOVD/dst=R30/0xfffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1048575}, exp: []byte{0xfe, 0x4f, 0x40, 0xb2}},
  1195  		{name: "MOVD/dst=R30/0xfffffffffff00001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1048575}, exp: []byte{0xfe, 0xb3, 0x6c, 0xb2}},
  1196  		{name: "MOVD/dst=R30/0x800001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8388609}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0x1e, 0x10, 0xa0, 0xf2}},
  1197  		{name: "MOVD/dst=R30/0xffffffffff7fffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8388609}, exp: []byte{0x1e, 0x10, 0xa0, 0x92}},
  1198  		{name: "MOVD/dst=R30/0x40000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0x1e, 0x0, 0xa8, 0xf2}},
  1199  		{name: "MOVD/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1e, 0x0, 0xa8, 0x92}},
  1200  		{name: "MOVD/dst=R30/0x2", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2}, exp: []byte{0xfe, 0x3, 0x7f, 0xb2}},
  1201  		{name: "MOVD/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3e, 0x0, 0x80, 0x92}},
  1202  		{name: "MOVD/dst=R30/0x3", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 3}, exp: []byte{0xfe, 0x7, 0x40, 0xb2}},
  1203  		{name: "MOVD/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5e, 0x0, 0x80, 0x92}},
  1204  		{name: "MOVD/dst=R30/0x1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x40, 0xb2}},
  1205  		{name: "MOVD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x92}},
  1206  		{name: "MOVD/dst=R30/0x11", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17}, exp: []byte{0x3e, 0x2, 0x80, 0xd2}},
  1207  		{name: "MOVD/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1e, 0x2, 0x80, 0x92}},
  1208  		{name: "MOVD/dst=R30/0x4", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4}, exp: []byte{0xfe, 0x3, 0x7e, 0xb2}},
  1209  		{name: "MOVD/dst=R30/0xfffffffffffffffc", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4}, exp: []byte{0x7e, 0x0, 0x80, 0x92}},
  1210  		{name: "MOVD/dst=R30/0x5", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 5}, exp: []byte{0xbe, 0x0, 0x80, 0xd2}},
  1211  		{name: "MOVD/dst=R30/0xfffffffffffffffb", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -5}, exp: []byte{0x9e, 0x0, 0x80, 0x92}},
  1212  		{name: "MOVD/dst=R30/0x3", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 3}, exp: []byte{0xfe, 0x7, 0x40, 0xb2}},
  1213  		{name: "MOVD/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5e, 0x0, 0x80, 0x92}},
  1214  		{name: "MOVD/dst=R30/0x13", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 19}, exp: []byte{0x7e, 0x2, 0x80, 0xd2}},
  1215  		{name: "MOVD/dst=R30/0xffffffffffffffed", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -19}, exp: []byte{0x5e, 0x2, 0x80, 0x92}},
  1216  		{name: "MOVD/dst=R30/0x8", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8}, exp: []byte{0xfe, 0x3, 0x7d, 0xb2}},
  1217  		{name: "MOVD/dst=R30/0xfffffffffffffff8", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8}, exp: []byte{0xfe, 0x0, 0x80, 0x92}},
  1218  		{name: "MOVD/dst=R30/0x9", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 9}, exp: []byte{0x3e, 0x1, 0x80, 0xd2}},
  1219  		{name: "MOVD/dst=R30/0xfffffffffffffff7", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -9}, exp: []byte{0x1e, 0x1, 0x80, 0x92}},
  1220  		{name: "MOVD/dst=R30/0x7", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 7}, exp: []byte{0xfe, 0xb, 0x40, 0xb2}},
  1221  		{name: "MOVD/dst=R30/0xfffffffffffffff9", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -7}, exp: []byte{0xde, 0x0, 0x80, 0x92}},
  1222  		{name: "MOVD/dst=R30/0x17", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 23}, exp: []byte{0xfe, 0x2, 0x80, 0xd2}},
  1223  		{name: "MOVD/dst=R30/0xffffffffffffffe9", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -23}, exp: []byte{0xde, 0x2, 0x80, 0x92}},
  1224  		{name: "MOVD/dst=R30/0x10", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 16}, exp: []byte{0xfe, 0x3, 0x7c, 0xb2}},
  1225  		{name: "MOVD/dst=R30/0xfffffffffffffff0", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -16}, exp: []byte{0xfe, 0x1, 0x80, 0x92}},
  1226  		{name: "MOVD/dst=R30/0x11", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17}, exp: []byte{0x3e, 0x2, 0x80, 0xd2}},
  1227  		{name: "MOVD/dst=R30/0xffffffffffffffef", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17}, exp: []byte{0x1e, 0x2, 0x80, 0x92}},
  1228  		{name: "MOVD/dst=R30/0xf", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 15}, exp: []byte{0xfe, 0xf, 0x40, 0xb2}},
  1229  		{name: "MOVD/dst=R30/0xfffffffffffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -15}, exp: []byte{0xde, 0x1, 0x80, 0x92}},
  1230  		{name: "MOVD/dst=R30/0x1f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 31}, exp: []byte{0xfe, 0x13, 0x40, 0xb2}},
  1231  		{name: "MOVD/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -31}, exp: []byte{0xde, 0x3, 0x80, 0x92}},
  1232  		{name: "MOVD/dst=R30/0x20", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 32}, exp: []byte{0xfe, 0x3, 0x7b, 0xb2}},
  1233  		{name: "MOVD/dst=R30/0xffffffffffffffe0", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -32}, exp: []byte{0xfe, 0x3, 0x80, 0x92}},
  1234  		{name: "MOVD/dst=R30/0x21", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 33}, exp: []byte{0x3e, 0x4, 0x80, 0xd2}},
  1235  		{name: "MOVD/dst=R30/0xffffffffffffffdf", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -33}, exp: []byte{0x1e, 0x4, 0x80, 0x92}},
  1236  		{name: "MOVD/dst=R30/0x1f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 31}, exp: []byte{0xfe, 0x13, 0x40, 0xb2}},
  1237  		{name: "MOVD/dst=R30/0xffffffffffffffe1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -31}, exp: []byte{0xde, 0x3, 0x80, 0x92}},
  1238  		{name: "MOVD/dst=R30/0x2f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 47}, exp: []byte{0xfe, 0x5, 0x80, 0xd2}},
  1239  		{name: "MOVD/dst=R30/0xffffffffffffffd1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -47}, exp: []byte{0xde, 0x5, 0x80, 0x92}},
  1240  		{name: "MOVD/dst=R30/0x40", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 64}, exp: []byte{0xfe, 0x3, 0x7a, 0xb2}},
  1241  		{name: "MOVD/dst=R30/0xffffffffffffffc0", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -64}, exp: []byte{0xfe, 0x7, 0x80, 0x92}},
  1242  		{name: "MOVD/dst=R30/0x41", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 65}, exp: []byte{0x3e, 0x8, 0x80, 0xd2}},
  1243  		{name: "MOVD/dst=R30/0xffffffffffffffbf", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -65}, exp: []byte{0x1e, 0x8, 0x80, 0x92}},
  1244  		{name: "MOVD/dst=R30/0x3f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 63}, exp: []byte{0xfe, 0x17, 0x40, 0xb2}},
  1245  		{name: "MOVD/dst=R30/0xffffffffffffffc1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -63}, exp: []byte{0xde, 0x7, 0x80, 0x92}},
  1246  		{name: "MOVD/dst=R30/0x4f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 79}, exp: []byte{0xfe, 0x9, 0x80, 0xd2}},
  1247  		{name: "MOVD/dst=R30/0xffffffffffffffb1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -79}, exp: []byte{0xde, 0x9, 0x80, 0x92}},
  1248  		{name: "MOVD/dst=R30/0x1ffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8190}, exp: []byte{0xde, 0xff, 0x83, 0xd2}},
  1249  		{name: "MOVD/dst=R30/0xffffffffffffe002", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8190}, exp: []byte{0xbe, 0xff, 0x83, 0x92}},
  1250  		{name: "MOVD/dst=R30/0x1ffd", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8189}, exp: []byte{0xbe, 0xff, 0x83, 0xd2}},
  1251  		{name: "MOVD/dst=R30/0xffffffffffffe003", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8189}, exp: []byte{0x9e, 0xff, 0x83, 0x92}},
  1252  		{name: "MOVD/dst=R30/0x1fff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8191}, exp: []byte{0xfe, 0xff, 0x83, 0xd2}},
  1253  		{name: "MOVD/dst=R30/0xffffffffffffe001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8191}, exp: []byte{0xde, 0xff, 0x83, 0x92}},
  1254  		{name: "MOVD/dst=R30/0x0", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 0}, exp: []byte{0x1e, 0x0, 0x80, 0xd2}},
  1255  		{name: "MOVD/dst=R30/0x1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x40, 0xb2}},
  1256  		{name: "MOVD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x92}},
  1257  		{name: "MOVD/dst=R30/0xffffffffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1}, exp: []byte{0x1e, 0x0, 0x80, 0x92}},
  1258  		{name: "MOVD/dst=R30/0x1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1}, exp: []byte{0xfe, 0x3, 0x40, 0xb2}},
  1259  		{name: "MOVD/dst=R30/0x2", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2}, exp: []byte{0xfe, 0x3, 0x7f, 0xb2}},
  1260  		{name: "MOVD/dst=R30/0xfffffffffffffffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2}, exp: []byte{0x3e, 0x0, 0x80, 0x92}},
  1261  		{name: "MOVD/dst=R30/0x3", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 3}, exp: []byte{0xfe, 0x7, 0x40, 0xb2}},
  1262  		{name: "MOVD/dst=R30/0xfffffffffffffffd", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -3}, exp: []byte{0x5e, 0x0, 0x80, 0x92}},
  1263  		{name: "MOVD/dst=R30/0xa", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 10}, exp: []byte{0x5e, 0x1, 0x80, 0xd2}},
  1264  		{name: "MOVD/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3e, 0x1, 0x80, 0x92}},
  1265  		{name: "MOVD/dst=R30/0xfffffffffffffff6", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -10}, exp: []byte{0x3e, 0x1, 0x80, 0x92}},
  1266  		{name: "MOVD/dst=R30/0xa", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 10}, exp: []byte{0x5e, 0x1, 0x80, 0xd2}},
  1267  		{name: "MOVD/dst=R30/0x7b", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 123}, exp: []byte{0x7e, 0xf, 0x80, 0xd2}},
  1268  		{name: "MOVD/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5e, 0xf, 0x80, 0x92}},
  1269  		{name: "MOVD/dst=R30/0xffffffffffffff85", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -123}, exp: []byte{0x5e, 0xf, 0x80, 0x92}},
  1270  		{name: "MOVD/dst=R30/0x7b", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 123}, exp: []byte{0x7e, 0xf, 0x80, 0xd2}},
  1271  		{name: "MOVD/dst=R30/0x7fff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 32767}, exp: []byte{0xfe, 0xff, 0x8f, 0xd2}},
  1272  		{name: "MOVD/dst=R30/0xffffffffffff8001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -32767}, exp: []byte{0xde, 0xff, 0x8f, 0x92}},
  1273  		{name: "MOVD/dst=R30/0x7fffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2147483647}, exp: []byte{0xfe, 0x7b, 0x40, 0xb2}},
  1274  		{name: "MOVD/dst=R30/0xffffffff80000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2147483647}, exp: []byte{0xfe, 0x87, 0x61, 0xb2}},
  1275  		{name: "MOVD/dst=R30/0xffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfe, 0x7f, 0x40, 0xb2}},
  1276  		{name: "MOVD/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfe, 0x83, 0x60, 0xb2}},
  1277  		{name: "MOVD/dst=R30/0x4002", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 16386}, exp: []byte{0x5e, 0x0, 0x88, 0xd2}},
  1278  		{name: "MOVD/dst=R30/0xffffffffffffbffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -16386}, exp: []byte{0x3e, 0x0, 0x88, 0x92}},
  1279  		{name: "MOVD/dst=R30/0xffff0000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfe, 0xff, 0xbf, 0xd2}},
  1280  		{name: "MOVD/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfe, 0xff, 0x9f, 0x92, 0x3e, 0x0, 0xa0, 0xf2}},
  1281  		{name: "MOVD/dst=R30/0xffff0001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294901761}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0xfe, 0xff, 0xbf, 0xf2}},
  1282  		{name: "MOVD/dst=R30/0xffffffff0000ffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294901761}, exp: []byte{0xfe, 0xff, 0xbf, 0x92}},
  1283  		{name: "MOVD/dst=R30/0xf00000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 251658255}, exp: []byte{0xfe, 0x1, 0x80, 0xd2, 0x1e, 0xe0, 0xa1, 0xf2}},
  1284  		{name: "MOVD/dst=R30/0xfffffffff0fffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -251658255}, exp: []byte{0xde, 0x1, 0x80, 0x92, 0xfe, 0x1f, 0xbe, 0xf2}},
  1285  		{name: "MOVD/dst=R30/0x7ffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 32766}, exp: []byte{0xde, 0xff, 0x8f, 0xd2}},
  1286  		{name: "MOVD/dst=R30/0xffffffffffff8002", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -32766}, exp: []byte{0xbe, 0xff, 0x8f, 0x92}},
  1287  		{name: "MOVD/dst=R30/0x7ffffffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2147483646}, exp: []byte{0xfe, 0x77, 0x7f, 0xb2}},
  1288  		{name: "MOVD/dst=R30/0xffffffff80000002", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2147483646}, exp: []byte{0xbe, 0xff, 0x9f, 0x92, 0x1e, 0x0, 0xb0, 0xf2}},
  1289  		{name: "MOVD/dst=R30/0xfffffffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967294}, exp: []byte{0xfe, 0x7b, 0x7f, 0xb2}},
  1290  		{name: "MOVD/dst=R30/0xffffffff00000002", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967294}, exp: []byte{0xbe, 0xff, 0x9f, 0x92, 0x1e, 0x0, 0xa0, 0xf2}},
  1291  		{name: "MOVD/dst=R30/0x4001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 16385}, exp: []byte{0x3e, 0x0, 0x88, 0xd2}},
  1292  		{name: "MOVD/dst=R30/0xffffffffffffbfff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -16385}, exp: []byte{0x1e, 0x0, 0x88, 0x92}},
  1293  		{name: "MOVD/dst=R30/0xfffeffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294901759}, exp: []byte{0xfe, 0xff, 0x9f, 0xd2, 0xde, 0xff, 0xbf, 0xf2}},
  1294  		{name: "MOVD/dst=R30/0xffffffff00010001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294901759}, exp: []byte{0xde, 0xff, 0x9f, 0x92, 0x3e, 0x0, 0xa0, 0xf2}},
  1295  		{name: "MOVD/dst=R30/0xffff0000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294901760}, exp: []byte{0xfe, 0xff, 0xbf, 0xd2}},
  1296  		{name: "MOVD/dst=R30/0xffffffff00010000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294901760}, exp: []byte{0xfe, 0xff, 0x9f, 0x92, 0x3e, 0x0, 0xa0, 0xf2}},
  1297  		{name: "MOVD/dst=R30/0xf00000e", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 251658254}, exp: []byte{0xde, 0x1, 0x80, 0xd2, 0x1e, 0xe0, 0xa1, 0xf2}},
  1298  		{name: "MOVD/dst=R30/0xfffffffff0fffff2", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -251658254}, exp: []byte{0xbe, 0x1, 0x80, 0x92, 0xfe, 0x1f, 0xbe, 0xf2}},
  1299  		{name: "MOVD/dst=R30/0x8000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 32768}, exp: []byte{0xfe, 0x3, 0x71, 0xb2}},
  1300  		{name: "MOVD/dst=R30/0xffffffffffff8000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -32768}, exp: []byte{0xfe, 0xff, 0x8f, 0x92}},
  1301  		{name: "MOVD/dst=R30/0x4009", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 16393}, exp: []byte{0x3e, 0x1, 0x88, 0xd2}},
  1302  		{name: "MOVD/dst=R30/0xffffffffffffbff7", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -16393}, exp: []byte{0x1e, 0x1, 0x88, 0x92}},
  1303  		{name: "MOVD/dst=R30/0xffeffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 268369919}, exp: []byte{0xfe, 0xff, 0x9f, 0xd2, 0xde, 0xff, 0xa1, 0xf2}},
  1304  		{name: "MOVD/dst=R30/0xfffffffff0010001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -268369919}, exp: []byte{0xde, 0xff, 0x9f, 0x92, 0x3e, 0x0, 0xbe, 0xf2}},
  1305  		{name: "MOVD/dst=R30/0xffe0000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 268304384}, exp: []byte{0xde, 0xff, 0xa1, 0xd2}},
  1306  		{name: "MOVD/dst=R30/0xfffffffff0020000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -268304384}, exp: []byte{0xfe, 0xff, 0x9f, 0x92, 0x5e, 0x0, 0xbe, 0xf2}},
  1307  		{name: "MOVD/dst=R30/0xe00000e", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 234881038}, exp: []byte{0xde, 0x1, 0x80, 0xd2, 0x1e, 0xc0, 0xa1, 0xf2}},
  1308  		{name: "MOVD/dst=R30/0xfffffffff1fffff2", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -234881038}, exp: []byte{0xbe, 0x1, 0x80, 0x92, 0xfe, 0x3f, 0xbe, 0xf2}},
  1309  		{name: "MOVD/dst=R30/0x80010000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 2147549184}, exp: []byte{0x3e, 0x0, 0xb0, 0xd2}},
  1310  		{name: "MOVD/dst=R30/0xffffffff7fff0000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -2147549184}, exp: []byte{0xfe, 0xff, 0x9f, 0x92, 0xfe, 0xff, 0xaf, 0xf2}},
  1311  		{name: "MOVD/dst=R30/0x10002", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 65538}, exp: []byte{0x5e, 0x0, 0x80, 0xd2, 0x3e, 0x0, 0xa0, 0xf2}},
  1312  		{name: "MOVD/dst=R30/0xfffffffffffefffe", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -65538}, exp: []byte{0x3e, 0x0, 0x80, 0x92, 0xde, 0xff, 0xbf, 0xf2}},
  1313  		{name: "MOVD/dst=R30/0x100000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967296}, exp: []byte{0x3e, 0x0, 0xc0, 0xd2}},
  1314  		{name: "MOVD/dst=R30/0xffffffff00000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967296}, exp: []byte{0xfe, 0x7f, 0x60, 0xb2}},
  1315  		{name: "MOVD/dst=R30/0x400000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17179869184}, exp: []byte{0x9e, 0x0, 0xc0, 0xd2}},
  1316  		{name: "MOVD/dst=R30/0xfffffffc00000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17179869184}, exp: []byte{0xfe, 0x77, 0x5e, 0xb2}},
  1317  		{name: "MOVD/dst=R30/0x10000000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1099511627776}, exp: []byte{0x1e, 0x20, 0xc0, 0xd2}},
  1318  		{name: "MOVD/dst=R30/0xffffff0000000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1099511627776}, exp: []byte{0xfe, 0x5f, 0x58, 0xb2}},
  1319  		{name: "MOVD/dst=R30/0x100000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967297}, exp: []byte{0xfe, 0x3, 0x0, 0xb2}},
  1320  		{name: "MOVD/dst=R30/0xfffffffeffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967297}, exp: []byte{0x3e, 0x0, 0xc0, 0x92}},
  1321  		{name: "MOVD/dst=R30/0x400000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17179869185}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0x9e, 0x0, 0xc0, 0xf2}},
  1322  		{name: "MOVD/dst=R30/0xfffffffbffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17179869185}, exp: []byte{0x9e, 0x0, 0xc0, 0x92}},
  1323  		{name: "MOVD/dst=R30/0x10000000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1099511627777}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0x1e, 0x20, 0xc0, 0xf2}},
  1324  		{name: "MOVD/dst=R30/0xfffffeffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1099511627777}, exp: []byte{0x1e, 0x20, 0xc0, 0x92}},
  1325  		{name: "MOVD/dst=R30/0xffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967295}, exp: []byte{0xfe, 0x7f, 0x40, 0xb2}},
  1326  		{name: "MOVD/dst=R30/0xffffffff00000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967295}, exp: []byte{0xfe, 0x83, 0x60, 0xb2}},
  1327  		{name: "MOVD/dst=R30/0x3ffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17179869183}, exp: []byte{0xfe, 0x87, 0x40, 0xb2}},
  1328  		{name: "MOVD/dst=R30/0xfffffffc00000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17179869183}, exp: []byte{0xfe, 0x7b, 0x5e, 0xb2}},
  1329  		{name: "MOVD/dst=R30/0xffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1099511627775}, exp: []byte{0xfe, 0x9f, 0x40, 0xb2}},
  1330  		{name: "MOVD/dst=R30/0xffffff0000000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1099511627775}, exp: []byte{0xfe, 0x63, 0x58, 0xb2}},
  1331  		{name: "MOVD/dst=R30/0x10000000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967311}, exp: []byte{0xfe, 0x1, 0x80, 0xd2, 0x3e, 0x0, 0xc0, 0xf2}},
  1332  		{name: "MOVD/dst=R30/0xfffffffefffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967311}, exp: []byte{0xde, 0x1, 0x80, 0x92, 0xde, 0xff, 0xdf, 0xf2}},
  1333  		{name: "MOVD/dst=R30/0x40000000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17179869199}, exp: []byte{0xfe, 0x1, 0x80, 0xd2, 0x9e, 0x0, 0xc0, 0xf2}},
  1334  		{name: "MOVD/dst=R30/0xfffffffbfffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17179869199}, exp: []byte{0xde, 0x1, 0x80, 0x92, 0x7e, 0xff, 0xdf, 0xf2}},
  1335  		{name: "MOVD/dst=R30/0x1000000000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1099511627791}, exp: []byte{0xfe, 0x1, 0x80, 0xd2, 0x1e, 0x20, 0xc0, 0xf2}},
  1336  		{name: "MOVD/dst=R30/0xfffffefffffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1099511627791}, exp: []byte{0xde, 0x1, 0x80, 0x92, 0xfe, 0xdf, 0xdf, 0xf2}},
  1337  		{name: "MOVD/dst=R30/0xfffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 4294967281}, exp: []byte{0x3e, 0xfe, 0x9f, 0xd2, 0xfe, 0xff, 0xbf, 0xf2}},
  1338  		{name: "MOVD/dst=R30/0xffffffff0000000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -4294967281}, exp: []byte{0xfe, 0x8f, 0x60, 0xb2}},
  1339  		{name: "MOVD/dst=R30/0x3fffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 17179869169}, exp: []byte{0x3e, 0xfe, 0x9f, 0xd2, 0xfe, 0xff, 0xbf, 0xf2, 0x7e, 0x0, 0xc0, 0xf2}},
  1340  		{name: "MOVD/dst=R30/0xfffffffc0000000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -17179869169}, exp: []byte{0xfe, 0x87, 0x5e, 0xb2}},
  1341  		{name: "MOVD/dst=R30/0xfffffffff1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1099511627761}, exp: []byte{0x3e, 0xfe, 0x9f, 0xd2, 0xfe, 0xff, 0xbf, 0xf2, 0xfe, 0x1f, 0xc0, 0xf2}},
  1342  		{name: "MOVD/dst=R30/0xffffff000000000f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1099511627761}, exp: []byte{0xfe, 0x6f, 0x58, 0xb2}},
  1343  		{name: "MOVD/dst=R30/0x7fffffffffffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 9223372036854775807}, exp: []byte{0x1e, 0x0, 0xf0, 0x92}},
  1344  		{name: "MOVD/dst=R30/0x8000000000000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -9223372036854775807}, exp: []byte{0xfe, 0x7, 0x41, 0xb2}},
  1345  		{name: "MOVD/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1e, 0x0, 0xf0, 0xd2}},
  1346  		{name: "MOVD/dst=R30/0x8000000000000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -9223372036854775808}, exp: []byte{0x1e, 0x0, 0xf0, 0xd2}},
  1347  		{name: "MOVD/dst=R30/0x40000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1073741825}, exp: []byte{0x3e, 0x0, 0x80, 0xd2, 0x1e, 0x0, 0xa8, 0xf2}},
  1348  		{name: "MOVD/dst=R30/0xffffffffbfffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1073741825}, exp: []byte{0x1e, 0x0, 0xa8, 0x92}},
  1349  		{name: "MOVD/dst=R30/0x7000000010000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8070450532516364288}, exp: []byte{0x1e, 0x0, 0xa2, 0xd2, 0x1e, 0x0, 0xee, 0xf2}},
  1350  		{name: "MOVD/dst=R30/0x8ffffffff0000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8070450532516364288}, exp: []byte{0x1e, 0x0, 0xbe, 0xd2, 0xfe, 0xff, 0xdf, 0xf2, 0xfe, 0xff, 0xf1, 0xf2}},
  1351  		{name: "MOVD/dst=R30/0x7000000100000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8070450536542896128}, exp: []byte{0x3e, 0x0, 0xc0, 0xd2, 0x1e, 0x0, 0xee, 0xf2}},
  1352  		{name: "MOVD/dst=R30/0x8fffffff00000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8070450536542896128}, exp: []byte{0xfe, 0xff, 0xdf, 0xd2, 0xfe, 0xff, 0xf1, 0xf2}},
  1353  		{name: "MOVD/dst=R30/0x7000100000000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8070468124433973248}, exp: []byte{0x1e, 0x0, 0xc2, 0xd2, 0x1e, 0x0, 0xee, 0xf2}},
  1354  		{name: "MOVD/dst=R30/0x8ffff00000000000", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8070468124433973248}, exp: []byte{0x1e, 0x0, 0xde, 0xd2, 0xfe, 0xff, 0xf1, 0xf2}},
  1355  		{name: "MOVD/dst=R30/0x154b4", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 87220}, exp: []byte{0x9e, 0x96, 0x8a, 0xd2, 0x3e, 0x0, 0xa0, 0xf2}},
  1356  		{name: "MOVD/dst=R30/0xfffffffffffeab4c", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -87220}, exp: []byte{0x7e, 0x96, 0x8a, 0x92, 0xde, 0xff, 0xbf, 0xf2}},
  1357  		{name: "MOVD/dst=R30/0x40008", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 262152}, exp: []byte{0x1e, 0x1, 0x80, 0xd2, 0x9e, 0x0, 0xa0, 0xf2}},
  1358  		{name: "MOVD/dst=R30/0xfffffffffffbfff8", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -262152}, exp: []byte{0xfe, 0x0, 0x80, 0x92, 0x7e, 0xff, 0xbf, 0xf2}},
  1359  		{name: "MOVD/dst=R30/0xffff0000c466361f", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -281471681677793}, exp: []byte{0xfe, 0xc3, 0x86, 0xd2, 0xde, 0x8c, 0xb8, 0xf2, 0xfe, 0xff, 0xff, 0xf2}},
  1360  		{name: "MOVD/dst=R30/0xffff3b99c9e1", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 281471681677793}, exp: []byte{0x3e, 0x3c, 0x99, 0xd2, 0x3e, 0x73, 0xa7, 0xf2, 0xfe, 0xff, 0xdf, 0xf2}},
  1361  		{name: "MOVD/dst=R30/0xc465c9ff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 3295005183}, exp: []byte{0xfe, 0x3f, 0x99, 0xd2, 0xbe, 0x8c, 0xb8, 0xf2}},
  1362  		{name: "MOVD/dst=R30/0xffffffff3b9a3601", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -3295005183}, exp: []byte{0xde, 0x3f, 0x99, 0x92, 0x5e, 0x73, 0xa7, 0xf2}},
  1363  		{name: "MOVD/dst=R30/0x89705f4136b4a598", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -8543223759426509416}, exp: []byte{0x1e, 0xb3, 0x94, 0xd2, 0x9e, 0xd6, 0xa6, 0xf2, 0x3e, 0xe8, 0xcb, 0xf2, 0x1e, 0x2e, 0xf1, 0xf2}},
  1364  		{name: "MOVD/dst=R30/0x768fa0bec94b5a68", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 8543223759426509416}, exp: []byte{0x1e, 0x4d, 0x8b, 0xd2, 0x7e, 0x29, 0xb9, 0xf2, 0xde, 0x17, 0xd4, 0xf2, 0xfe, 0xd1, 0xee, 0xf2}},
  1365  		{name: "MOVD/dst=R30/0xffffffffc4653600", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -1000000000}, exp: []byte{0xfe, 0x3f, 0x99, 0x92, 0xbe, 0x8c, 0xb8, 0xf2}},
  1366  		{name: "MOVD/dst=R30/0x3b9aca00", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 1000000000}, exp: []byte{0x1e, 0x40, 0x99, 0xd2, 0x5e, 0x73, 0xa7, 0xf2}},
  1367  		{name: "MOVD/dst=R30/0xffffff", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: 16777215}, exp: []byte{0xfe, 0x5f, 0x40, 0xb2}},
  1368  		{name: "MOVD/dst=R30/0xffffffffff000001", n: &nodeImpl{instruction: MOVD, dstReg: RegR30, srcConst: -16777215}, exp: []byte{0xfe, 0xa3, 0x68, 0xb2}},
  1369  		{name: "LSL/dst=R30/0x1", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0xfb, 0x7f, 0xd3}},
  1370  		{name: "LSL/dst=R30/0x2", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xf7, 0x7e, 0xd3}},
  1371  		{name: "LSL/dst=R30/0x4", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 4}, exp: []byte{0xde, 0xef, 0x7c, 0xd3}},
  1372  		{name: "LSL/dst=R30/0x10", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 16}, exp: []byte{0xde, 0xbf, 0x70, 0xd3}},
  1373  		{name: "LSL/dst=R30/0x1f", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0x83, 0x61, 0xd3}},
  1374  		{name: "LSL/dst=R30/0x20", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 32}, exp: []byte{0xde, 0x7f, 0x60, 0xd3}},
  1375  		{name: "LSL/dst=R30/0x3f", n: &nodeImpl{instruction: LSL, dstReg: RegR30, srcConst: 63}, exp: []byte{0xde, 0x3, 0x41, 0xd3}},
  1376  		{name: "LSR/dst=R30/0x1", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 1}, exp: []byte{0xde, 0xff, 0x41, 0xd3}},
  1377  		{name: "LSR/dst=R30/0x2", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 2}, exp: []byte{0xde, 0xff, 0x42, 0xd3}},
  1378  		{name: "LSR/dst=R30/0x4", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 4}, exp: []byte{0xde, 0xff, 0x44, 0xd3}},
  1379  		{name: "LSR/dst=R30/0x10", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 16}, exp: []byte{0xde, 0xff, 0x50, 0xd3}},
  1380  		{name: "LSR/dst=R30/0x1f", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 31}, exp: []byte{0xde, 0xff, 0x5f, 0xd3}},
  1381  		{name: "LSR/dst=R30/0x20", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 32}, exp: []byte{0xde, 0xff, 0x60, 0xd3}},
  1382  		{name: "LSR/dst=R30/0x3f", n: &nodeImpl{instruction: LSR, dstReg: RegR30, srcConst: 63}, exp: []byte{0xde, 0xff, 0x7f, 0xd3}},
  1383  	}
  1384  
  1385  	code := asm.CodeSegment{}
  1386  	defer func() { require.NoError(t, code.Unmap()) }()
  1387  
  1388  	for _, tt := range tests {
  1389  		tc := tt
  1390  		t.Run(tc.name, func(t *testing.T) {
  1391  			a := NewAssembler(RegR27)
  1392  			buf := code.NextCodeSection()
  1393  			err := a.encodeConstToRegister(buf, tc.n)
  1394  			require.NoError(t, err)
  1395  
  1396  			err = a.Assemble(buf)
  1397  			require.NoError(t, err)
  1398  
  1399  			actual := buf.Bytes()
  1400  			require.Equal(t, tc.exp, actual, hex.EncodeToString(actual))
  1401  		})
  1402  	}
  1403  }