From e61be2f80f46c716cffa11b5f03fd319b8615c33 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Thu, 31 Aug 2023 20:08:28 +0900 Subject: [PATCH] [gamecode] Add 2- and 3-component swizzles VM side of the work needed for #58. Tests are still only 4-component, but the geometric algebra tests seem to have 2-component covered at least a little bit. --- libs/gamecode/opcodes.py | 20 +- libs/gamecode/pr_debug.c | 2 +- libs/gamecode/pr_exec.c | 34 +- libs/gamecode/test/test-callret.c | 8 +- libs/gamecode/test/test-double.c | 4 +- libs/gamecode/test/test-float.c | 4 +- libs/gamecode/test/test-swizzle.c | 1152 ++++++++++++++--------------- libs/gamecode/test/test-vector.c | 8 +- 8 files changed, 638 insertions(+), 594 deletions(-) diff --git a/libs/gamecode/opcodes.py b/libs/gamecode/opcodes.py index fe786d988..64d3570cb 100644 --- a/libs/gamecode/opcodes.py +++ b/libs/gamecode/opcodes.py @@ -3,6 +3,7 @@ bitmap_txt = """ 0 0001 mmss store 0 0010 mmss push 0 0011 mmss pop +0 0111 00ts swizzle2 0 0111 01t0 wedge2 0 1ccc ttss compare 0 0000 00nn @@ -510,15 +511,27 @@ string_formats = { }, } swizzle_formats = { - "opcode": "OP_SWIZZLE_{swiz_type[t]}", + "opcode": "OP_SWIZZLE_{swiz_type[t]}_4", "mnemonic": "swizzle.{swiz_type[t]}", "opname": "swizzle", "format": "%Ga.%Sb %gc", "widths": "4, 0, 4", - "types": "{swizzle_types[t]}", + "types": "{swizzle_types[t]}, ev_short, {swizzle_types[t]}", "args": { "swiz_type": ['F', 'D'], - "swizzle_types": float_t, + "swizzle_types": unsigned_t, + }, +} +swizzle2_formats = { + "opcode": "OP_SWIZZLE_{swiz_type[t]}_{s+2}", + "mnemonic": "swizzle.{swiz_type[t]}", + "opname": "swizzle", + "format": "%Ga.%Sb %gc", + "widths": "{s+2}, 0, {s+2}", + "types": "{swizzle_types[t]}, ev_short, {swizzle_types[t]}", + "args": { + "swiz_type": ['F', 'D'], + "swizzle_types": unsigned_t, }, } wedge2_formats = { @@ -628,6 +641,7 @@ group_map = { "store64": store64_formats, "string": string_formats, "swizzle": swizzle_formats, + "swizzle2": swizzle2_formats, "return": return_formats, "udivops": udivops_formats, "vecops": vecops_formats, diff --git a/libs/gamecode/pr_debug.c b/libs/gamecode/pr_debug.c index 0cf11f479..f256e937e 100644 --- a/libs/gamecode/pr_debug.c +++ b/libs/gamecode/pr_debug.c @@ -1518,7 +1518,7 @@ pr_debug_ulong_view (qfot_type_t *type, pr_type_t *value, void *_data) if (i) { dstring_appendstr (dstr, ", "); } - dasprintf (dstr, "%" PRIu64, *(uint64_t *)value); + dasprintf (dstr, "%" PRIx64, *(uint64_t *)value); } if (type->basic.width > 1) { dstring_appendstr (dstr, "]"); diff --git a/libs/gamecode/pr_exec.c b/libs/gamecode/pr_exec.c index d92b97352..4a3ec3eef 100644 --- a/libs/gamecode/pr_exec.c +++ b/libs/gamecode/pr_exec.c @@ -2291,6 +2291,36 @@ pr_exec_ruamoko (progs_t *pr, int exitdepth) // 0 0110 // spare // 0 0111 + case OP_SWIZZLE_F_2: + { + auto s2 = OPA(ivec2); + pr_ivec4_t s4 = { s2[0], s2[1] }; + s4 = pr_swizzle_f (s4, (pr_ushort_t) st->b); + OPC(ivec2) = (pr_ivec2_t) { s4[0], s4[1] }; + } + break; + case OP_SWIZZLE_F_3: + { + auto s4 = loadvec3i (&OPA(int)); + s4 = pr_swizzle_f (s4, (pr_ushort_t) st->b); + storevec3i (&OPA(int), s4); + } + break; + case OP_SWIZZLE_D_2: + { + auto s2 = OPA(lvec2); + pr_lvec4_t s4 = { s2[0], s2[1] }; + s4 = pr_swizzle_d (s4, (pr_ushort_t) st->b); + OPC(lvec2) = (pr_lvec2_t) { s4[0], s4[1] }; + } + break; + case OP_SWIZZLE_D_3: + { + auto s4 = loadvec3l (&OPA(long)); + s4 = pr_swizzle_d (s4, (pr_ushort_t) st->b); + storevec3l (&OPC(long), s4); + } + break; case OP_WEDGE_F_2: { auto a = OPA(vec2); @@ -2598,7 +2628,7 @@ pr_exec_ruamoko (progs_t *pr, int exitdepth) break; // 1 1010 OP_cmp_T (GT, u, int, ivec2, ivec4, >, uint, uivec2, uivec4); - case OP_SWIZZLE_F: + case OP_SWIZZLE_F_4: OPC(ivec4) = pr_swizzle_f (OPA(ivec4), (pr_ushort_t) st->b); break; case OP_SCALE_F_2: @@ -2611,7 +2641,7 @@ pr_exec_ruamoko (progs_t *pr, int exitdepth) OPC(vec4) = OPA(vec4) * OPB(float); break; OP_cmp_T (GT, U, long, lvec2, lvec4, >, ulong, ulvec2, ulvec4); - case OP_SWIZZLE_D: + case OP_SWIZZLE_D_4: OPC(lvec4) = pr_swizzle_d (OPA(lvec4), (pr_ushort_t) st->b); break; case OP_SCALE_D_2: diff --git a/libs/gamecode/test/test-callret.c b/libs/gamecode/test/test-callret.c index d90b95efa..a80a04c29 100644 --- a/libs/gamecode/test/test-callret.c +++ b/libs/gamecode/test/test-callret.c @@ -67,13 +67,13 @@ static dstatement_t callret_statements[] = { #define c 20 // in locals int { OP(2, 0, 1, OP_STORE_A_1), xn+1,0, x }, // init xn to [1, x, 0, 0] { OP(2, 0, 0, OP_STORE_A_1), xn, 0, 4 }, - { OP(2, 0, 2, OP_SWIZZLE_F), xn, 0x0044, xn }, // xn -> [1, x, 1, x] + { OP(2, 0, 2, OP_SWIZZLE_F_4), xn, 0x0044, xn },// xn -> [1, x, 1, x] { OP(1, 1, 2, OP_MUL_F_1), x, x, x2 }, // x2 -> [x*x, ?, ?, ?] - { OP(2, 0, 2, OP_SWIZZLE_F), x2, 0x0300, x2},//x2 -> [-x*x, -x*x, x*x, x*x] + { OP(2, 0, 2, OP_SWIZZLE_F_4), x2, 0x0300, x2},//x2 -> [-x*x, -x*x, x*x, x*x] { OP(2, 0, 0, OP_STORE_A_1), fa, 0, 4 }, // init factorial { OP(2, 0, 0, OP_STORE_A_1), fa+1,0, 5 }, - { OP(2, 0, 2, OP_SWIZZLE_F), fa, 0x0044, fa }, // fa -> [1, 2, 1, 2] - { OP(2, 0, 2, OP_SWIZZLE_F), fa, 0x0000, fi }, // init fi -> [1, 1, 1, 1] + { OP(2, 0, 2, OP_SWIZZLE_F_4), fa, 0x0044, fa },// fa -> [1, 2, 1, 2] + { OP(2, 0, 2, OP_SWIZZLE_F_4), fa, 0x0000, fi },// init fi -> [1, 1, 1, 1] { OP(2, 2, 2, OP_SUB_F_4), ac, ac, ac }, // init acc (output) to 0 { OP(0, 0, 2, OP_LEA_A), 25, 0, c }, // init count // loop: diff --git a/libs/gamecode/test/test-double.c b/libs/gamecode/test/test-double.c index 33bd4ff7a..7e38af572 100644 --- a/libs/gamecode/test/test-double.c +++ b/libs/gamecode/test/test-double.c @@ -117,9 +117,9 @@ static pr_dvec4_t double_cossin_expect[] = { static dstatement_t double_cossin_statements[] = { { OP(0, 0, 0, OP_STORE_A_2), 42, 0, 8 }, // init xn -> [?, x] { OP(0, 0, 0, OP_STORE_A_2), 40, 0, 16 }, // init xn -> [1, x] - { OP(0, 0, 0, OP_SWIZZLE_D), 8,0xc000, 32 }, // init x2 -> [x, x, 0, 0] + { OP(0, 0, 0, OP_SWIZZLE_D_4), 8,0xc000, 32 }, // init x2 -> [x, x, 0, 0] { OP(0, 0, 0, OP_MUL_D_2), 32, 32, 32 }, // x2 -> [x*x, x*x, 0, 0] - { OP(0, 0, 0, OP_SWIZZLE_D), 32,0xc3e4, 32 }, // init x2 -> -x2 + { OP(0, 0, 0, OP_SWIZZLE_D_4), 32,0xc3e4, 32 }, // init x2 -> -x2 { OP(0, 0, 0, OP_SUB_D_4), 0, 0, 0 }, // init acc (output) to 0 // loop: { OP(0, 0, 0, OP_ADD_D_2), 0, 40, 0 }, // acc += xn diff --git a/libs/gamecode/test/test-float.c b/libs/gamecode/test/test-float.c index 576518128..0af591792 100644 --- a/libs/gamecode/test/test-float.c +++ b/libs/gamecode/test/test-float.c @@ -117,9 +117,9 @@ static pr_vec4_t float_cossin_expect[] = { static dstatement_t float_cossin_statements[] = { { OP(0, 0, 0, OP_STORE_A_1), 21, 0, 4 }, // init xn -> [?, x] { OP(0, 0, 0, OP_STORE_A_1), 20, 0, 8 }, // init xn -> [1, x] - { OP(0, 0, 0, OP_SWIZZLE_F), 4, 0xc000, 16 },// init x2 -> [x, x, 0, 0] + { OP(0, 0, 0, OP_SWIZZLE_F_4), 4, 0xc000, 16 },// init x2 -> [x, x, 0, 0] { OP(0, 0, 0, OP_MUL_F_2), 16, 16, 16 }, // x2 -> [x*x, x*x, 0, 0] - { OP(0, 0, 0, OP_SWIZZLE_F), 16, 0xc3e4, 16 },// init x2 -> -x2 + { OP(0, 0, 0, OP_SWIZZLE_F_4), 16, 0xc3e4, 16 },// init x2 -> -x2 { OP(0, 0, 0, OP_SUB_F_4), 0, 0, 0 }, // init acc (output) to 0 // loop: { OP(0, 0, 0, OP_ADD_F_2), 0, 20, 0 }, // acc += xn diff --git a/libs/gamecode/test/test-swizzle.c b/libs/gamecode/test/test-swizzle.c index c47acbb5c..f560d3543 100644 --- a/libs/gamecode/test/test-swizzle.c +++ b/libs/gamecode/test/test-swizzle.c @@ -520,262 +520,262 @@ static pr_vec4_t swizzle_f_expect[] = { }; static dstatement_t swizzle_f_statements[] = { - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0000, 4 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0001, 8 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0002, 12 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0003, 16 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0004, 20 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0005, 24 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0006, 28 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0007, 32 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0008, 36 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0009, 40 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x000a, 44 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x000b, 48 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x000c, 52 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x000d, 56 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x000e, 60 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x000f, 64 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0010, 68 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0011, 72 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0012, 76 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0013, 80 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0014, 84 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0015, 88 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0016, 92 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0017, 96 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0018, 100 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0019, 104 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x001a, 108 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x001b, 112 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x001c, 116 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x001d, 120 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x001e, 124 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x001f, 128 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0020, 132 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0021, 136 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0022, 140 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0023, 144 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0024, 148 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0025, 152 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0026, 156 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0027, 160 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0028, 164 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0029, 168 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x002a, 172 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x002b, 176 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x002c, 180 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x002d, 184 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x002e, 188 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x002f, 192 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0030, 196 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0031, 200 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0032, 204 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0033, 208 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0034, 212 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0035, 216 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0036, 220 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0037, 224 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0038, 228 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0039, 232 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x003a, 236 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x003b, 240 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x003c, 244 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x003d, 248 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x003e, 252 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x003f, 256 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0040, 260 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0041, 264 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0042, 268 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0043, 272 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0044, 276 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0045, 280 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0046, 284 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0047, 288 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0048, 292 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0049, 296 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x004a, 300 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x004b, 304 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x004c, 308 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x004d, 312 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x004e, 316 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x004f, 320 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0050, 324 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0051, 328 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0052, 332 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0053, 336 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0054, 340 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0055, 344 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0056, 348 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0057, 352 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0058, 356 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0059, 360 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x005a, 364 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x005b, 368 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x005c, 372 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x005d, 376 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x005e, 380 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x005f, 384 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0060, 388 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0061, 392 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0062, 396 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0063, 400 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0064, 404 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0065, 408 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0066, 412 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0067, 416 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0068, 420 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0069, 424 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x006a, 428 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x006b, 432 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x006c, 436 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x006d, 440 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x006e, 444 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x006f, 448 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0070, 452 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0071, 456 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0072, 460 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0073, 464 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0074, 468 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0075, 472 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0076, 476 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0077, 480 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0078, 484 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0079, 488 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x007a, 492 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x007b, 496 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x007c, 500 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x007d, 504 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x007e, 508 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x007f, 512 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0080, 516 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0081, 520 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0082, 524 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0083, 528 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0084, 532 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0085, 536 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0086, 540 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0087, 544 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0088, 548 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0089, 552 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x008a, 556 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x008b, 560 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x008c, 564 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x008d, 568 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x008e, 572 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x008f, 576 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0090, 580 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0091, 584 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0092, 588 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0093, 592 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0094, 596 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0095, 600 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0096, 604 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0097, 608 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0098, 612 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0099, 616 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x009a, 620 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x009b, 624 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x009c, 628 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x009d, 632 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x009e, 636 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x009f, 640 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a0, 644 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a1, 648 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a2, 652 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a3, 656 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a4, 660 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a5, 664 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a6, 668 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a7, 672 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a8, 676 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00a9, 680 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00aa, 684 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ab, 688 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ac, 692 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ad, 696 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ae, 700 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00af, 704 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b0, 708 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b1, 712 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b2, 716 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b3, 720 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b4, 724 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b5, 728 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b6, 732 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b7, 736 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b8, 740 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00b9, 744 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ba, 748 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00bb, 752 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00bc, 756 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00bd, 760 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00be, 764 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00bf, 768 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c0, 772 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c1, 776 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c2, 780 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c3, 784 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c4, 788 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c5, 792 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c6, 796 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c7, 800 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c8, 804 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00c9, 808 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ca, 812 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00cb, 816 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00cc, 820 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00cd, 824 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ce, 828 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00cf, 832 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d0, 836 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d1, 840 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d2, 844 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d3, 848 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d4, 852 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d5, 856 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d6, 860 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d7, 864 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d8, 868 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00d9, 872 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00da, 876 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00db, 880 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00dc, 884 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00dd, 888 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00de, 892 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00df, 896 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e0, 900 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e1, 904 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e2, 908 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e3, 912 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e4, 916 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e5, 920 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e6, 924 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e7, 928 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e8, 932 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e9, 936 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ea, 940 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00eb, 944 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ec, 948 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ed, 952 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ee, 956 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ef, 960 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f0, 964 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f1, 968 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f2, 972 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f3, 976 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f4, 980 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f5, 984 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f6, 988 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f7, 992 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f8, 996 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00f9, 1000 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00fa, 1004 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00fb, 1008 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00fc, 1012 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00fd, 1016 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00fe, 1020 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00ff, 1024 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0000, 4 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0001, 8 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0002, 12 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0003, 16 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0004, 20 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0005, 24 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0006, 28 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0007, 32 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0008, 36 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0009, 40 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x000a, 44 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x000b, 48 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x000c, 52 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x000d, 56 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x000e, 60 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x000f, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0010, 68 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0011, 72 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0012, 76 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0013, 80 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0014, 84 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0015, 88 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0016, 92 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0017, 96 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0018, 100 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0019, 104 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x001a, 108 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x001b, 112 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x001c, 116 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x001d, 120 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x001e, 124 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x001f, 128 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0020, 132 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0021, 136 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0022, 140 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0023, 144 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0024, 148 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0025, 152 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0026, 156 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0027, 160 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0028, 164 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0029, 168 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x002a, 172 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x002b, 176 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x002c, 180 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x002d, 184 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x002e, 188 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x002f, 192 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0030, 196 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0031, 200 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0032, 204 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0033, 208 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0034, 212 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0035, 216 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0036, 220 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0037, 224 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0038, 228 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0039, 232 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x003a, 236 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x003b, 240 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x003c, 244 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x003d, 248 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x003e, 252 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x003f, 256 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0040, 260 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0041, 264 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0042, 268 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0043, 272 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0044, 276 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0045, 280 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0046, 284 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0047, 288 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0048, 292 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0049, 296 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x004a, 300 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x004b, 304 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x004c, 308 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x004d, 312 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x004e, 316 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x004f, 320 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0050, 324 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0051, 328 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0052, 332 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0053, 336 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0054, 340 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0055, 344 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0056, 348 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0057, 352 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0058, 356 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0059, 360 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x005a, 364 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x005b, 368 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x005c, 372 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x005d, 376 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x005e, 380 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x005f, 384 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0060, 388 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0061, 392 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0062, 396 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0063, 400 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0064, 404 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0065, 408 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0066, 412 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0067, 416 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0068, 420 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0069, 424 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x006a, 428 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x006b, 432 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x006c, 436 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x006d, 440 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x006e, 444 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x006f, 448 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0070, 452 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0071, 456 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0072, 460 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0073, 464 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0074, 468 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0075, 472 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0076, 476 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0077, 480 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0078, 484 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0079, 488 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x007a, 492 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x007b, 496 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x007c, 500 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x007d, 504 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x007e, 508 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x007f, 512 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0080, 516 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0081, 520 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0082, 524 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0083, 528 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0084, 532 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0085, 536 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0086, 540 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0087, 544 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0088, 548 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0089, 552 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x008a, 556 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x008b, 560 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x008c, 564 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x008d, 568 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x008e, 572 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x008f, 576 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0090, 580 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0091, 584 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0092, 588 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0093, 592 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0094, 596 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0095, 600 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0096, 604 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0097, 608 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0098, 612 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0099, 616 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x009a, 620 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x009b, 624 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x009c, 628 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x009d, 632 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x009e, 636 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x009f, 640 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a0, 644 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a1, 648 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a2, 652 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a3, 656 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a4, 660 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a5, 664 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a6, 668 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a7, 672 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a8, 676 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00a9, 680 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00aa, 684 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ab, 688 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ac, 692 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ad, 696 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ae, 700 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00af, 704 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b0, 708 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b1, 712 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b2, 716 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b3, 720 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b4, 724 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b5, 728 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b6, 732 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b7, 736 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b8, 740 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00b9, 744 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ba, 748 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00bb, 752 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00bc, 756 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00bd, 760 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00be, 764 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00bf, 768 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c0, 772 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c1, 776 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c2, 780 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c3, 784 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c4, 788 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c5, 792 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c6, 796 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c7, 800 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c8, 804 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00c9, 808 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ca, 812 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00cb, 816 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00cc, 820 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00cd, 824 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ce, 828 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00cf, 832 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d0, 836 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d1, 840 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d2, 844 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d3, 848 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d4, 852 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d5, 856 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d6, 860 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d7, 864 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d8, 868 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00d9, 872 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00da, 876 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00db, 880 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00dc, 884 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00dd, 888 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00de, 892 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00df, 896 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e0, 900 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e1, 904 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e2, 908 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e3, 912 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e4, 916 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e5, 920 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e6, 924 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e7, 928 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e8, 932 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e9, 936 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ea, 940 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00eb, 944 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ec, 948 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ed, 952 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ee, 956 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ef, 960 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f0, 964 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f1, 968 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f2, 972 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f3, 976 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f4, 980 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f5, 984 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f6, 988 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f7, 992 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f8, 996 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00f9, 1000 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00fa, 1004 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00fb, 1008 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00fc, 1012 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00fd, 1016 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00fe, 1020 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00ff, 1024 }, }; static pr_vec4_t neg_f_init[] = { @@ -819,22 +819,22 @@ static pr_vec4_t neg_f_expect[] = { }; static dstatement_t neg_f_statements[] = { - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e4, 4 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x01e4, 8 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x02e4, 12 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x03e4, 16 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x04e4, 20 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x05e4, 24 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x06e4, 28 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x07e4, 32 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x08e4, 36 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x09e4, 40 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0ae4, 44 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0be4, 48 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0ce4, 52 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0de4, 56 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0ee4, 60 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x0fe4, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e4, 4 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x01e4, 8 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x02e4, 12 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x03e4, 16 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x04e4, 20 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x05e4, 24 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x06e4, 28 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x07e4, 32 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x08e4, 36 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x09e4, 40 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0ae4, 44 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0be4, 48 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0ce4, 52 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0de4, 56 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0ee4, 60 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x0fe4, 64 }, }; static pr_vec4_t zero_f_init[] = { @@ -878,22 +878,22 @@ static pr_vec4_t zero_f_expect[] = { }; static dstatement_t zero_f_statements[] = { - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x00e4, 4 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x10e4, 8 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x20e4, 12 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x30e4, 16 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x40e4, 20 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x50e4, 24 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x60e4, 28 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x70e4, 32 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x80e4, 36 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0x90e4, 40 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0xa0e4, 44 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0xb0e4, 48 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0xc0e4, 52 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0xd0e4, 56 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0xe0e4, 60 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 0, 0xf0e4, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x00e4, 4 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x10e4, 8 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x20e4, 12 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x30e4, 16 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x40e4, 20 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x50e4, 24 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x60e4, 28 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x70e4, 32 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x80e4, 36 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0x90e4, 40 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0xa0e4, 44 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0xb0e4, 48 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0xc0e4, 52 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0xd0e4, 56 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0xe0e4, 60 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 0, 0xf0e4, 64 }, }; static pr_dvec4_t swizzle_d_init[] = { @@ -1416,262 +1416,262 @@ static pr_dvec4_t swizzle_d_expect[] = { }; static dstatement_t swizzle_d_statements[] = { - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0000, 8 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0001, 16 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0002, 24 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0003, 32 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0004, 40 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0005, 48 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0006, 56 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0007, 64 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0008, 72 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0009, 80 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x000a, 88 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x000b, 96 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x000c, 104 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x000d, 112 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x000e, 120 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x000f, 128 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0010, 136 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0011, 144 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0012, 152 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0013, 160 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0014, 168 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0015, 176 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0016, 184 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0017, 192 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0018, 200 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0019, 208 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x001a, 216 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x001b, 224 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x001c, 232 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x001d, 240 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x001e, 248 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x001f, 256 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0020, 264 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0021, 272 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0022, 280 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0023, 288 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0024, 296 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0025, 304 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0026, 312 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0027, 320 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0028, 328 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0029, 336 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x002a, 344 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x002b, 352 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x002c, 360 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x002d, 368 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x002e, 376 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x002f, 384 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0030, 392 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0031, 400 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0032, 408 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0033, 416 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0034, 424 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0035, 432 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0036, 440 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0037, 448 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0038, 456 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0039, 464 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x003a, 472 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x003b, 480 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x003c, 488 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x003d, 496 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x003e, 504 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x003f, 512 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0040, 520 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0041, 528 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0042, 536 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0043, 544 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0044, 552 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0045, 560 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0046, 568 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0047, 576 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0048, 584 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0049, 592 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x004a, 600 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x004b, 608 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x004c, 616 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x004d, 624 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x004e, 632 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x004f, 640 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0050, 648 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0051, 656 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0052, 664 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0053, 672 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0054, 680 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0055, 688 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0056, 696 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0057, 704 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0058, 712 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0059, 720 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x005a, 728 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x005b, 736 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x005c, 744 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x005d, 752 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x005e, 760 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x005f, 768 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0060, 776 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0061, 784 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0062, 792 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0063, 800 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0064, 808 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0065, 816 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0066, 824 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0067, 832 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0068, 840 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0069, 848 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x006a, 856 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x006b, 864 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x006c, 872 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x006d, 880 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x006e, 888 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x006f, 896 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0070, 904 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0071, 912 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0072, 920 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0073, 928 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0074, 936 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0075, 944 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0076, 952 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0077, 960 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0078, 968 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0079, 976 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x007a, 984 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x007b, 992 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x007c, 1000 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x007d, 1008 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x007e, 1016 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x007f, 1024 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0080, 1032 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0081, 1040 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0082, 1048 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0083, 1056 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0084, 1064 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0085, 1072 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0086, 1080 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0087, 1088 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0088, 1096 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0089, 1104 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x008a, 1112 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x008b, 1120 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x008c, 1128 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x008d, 1136 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x008e, 1144 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x008f, 1152 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0090, 1160 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0091, 1168 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0092, 1176 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0093, 1184 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0094, 1192 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0095, 1200 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0096, 1208 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0097, 1216 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0098, 1224 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0099, 1232 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x009a, 1240 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x009b, 1248 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x009c, 1256 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x009d, 1264 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x009e, 1272 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x009f, 1280 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a0, 1288 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a1, 1296 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a2, 1304 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a3, 1312 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a4, 1320 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a5, 1328 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a6, 1336 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a7, 1344 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a8, 1352 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00a9, 1360 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00aa, 1368 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ab, 1376 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ac, 1384 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ad, 1392 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ae, 1400 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00af, 1408 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b0, 1416 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b1, 1424 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b2, 1432 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b3, 1440 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b4, 1448 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b5, 1456 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b6, 1464 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b7, 1472 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b8, 1480 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00b9, 1488 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ba, 1496 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00bb, 1504 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00bc, 1512 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00bd, 1520 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00be, 1528 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00bf, 1536 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c0, 1544 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c1, 1552 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c2, 1560 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c3, 1568 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c4, 1576 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c5, 1584 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c6, 1592 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c7, 1600 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c8, 1608 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00c9, 1616 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ca, 1624 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00cb, 1632 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00cc, 1640 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00cd, 1648 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ce, 1656 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00cf, 1664 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d0, 1672 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d1, 1680 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d2, 1688 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d3, 1696 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d4, 1704 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d5, 1712 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d6, 1720 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d7, 1728 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d8, 1736 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00d9, 1744 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00da, 1752 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00db, 1760 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00dc, 1768 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00dd, 1776 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00de, 1784 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00df, 1792 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e0, 1800 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e1, 1808 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e2, 1816 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e3, 1824 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e4, 1832 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e5, 1840 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e6, 1848 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e7, 1856 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e8, 1864 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e9, 1872 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ea, 1880 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00eb, 1888 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ec, 1896 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ed, 1904 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ee, 1912 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ef, 1920 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f0, 1928 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f1, 1936 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f2, 1944 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f3, 1952 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f4, 1960 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f5, 1968 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f6, 1976 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f7, 1984 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f8, 1992 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00f9, 2000 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00fa, 2008 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00fb, 2016 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00fc, 2024 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00fd, 2032 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00fe, 2040 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00ff, 2048 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0000, 8 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0001, 16 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0002, 24 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0003, 32 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0004, 40 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0005, 48 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0006, 56 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0007, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0008, 72 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0009, 80 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x000a, 88 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x000b, 96 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x000c, 104 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x000d, 112 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x000e, 120 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x000f, 128 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0010, 136 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0011, 144 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0012, 152 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0013, 160 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0014, 168 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0015, 176 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0016, 184 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0017, 192 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0018, 200 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0019, 208 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x001a, 216 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x001b, 224 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x001c, 232 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x001d, 240 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x001e, 248 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x001f, 256 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0020, 264 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0021, 272 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0022, 280 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0023, 288 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0024, 296 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0025, 304 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0026, 312 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0027, 320 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0028, 328 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0029, 336 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x002a, 344 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x002b, 352 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x002c, 360 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x002d, 368 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x002e, 376 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x002f, 384 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0030, 392 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0031, 400 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0032, 408 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0033, 416 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0034, 424 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0035, 432 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0036, 440 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0037, 448 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0038, 456 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0039, 464 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x003a, 472 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x003b, 480 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x003c, 488 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x003d, 496 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x003e, 504 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x003f, 512 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0040, 520 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0041, 528 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0042, 536 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0043, 544 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0044, 552 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0045, 560 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0046, 568 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0047, 576 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0048, 584 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0049, 592 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x004a, 600 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x004b, 608 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x004c, 616 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x004d, 624 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x004e, 632 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x004f, 640 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0050, 648 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0051, 656 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0052, 664 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0053, 672 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0054, 680 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0055, 688 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0056, 696 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0057, 704 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0058, 712 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0059, 720 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x005a, 728 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x005b, 736 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x005c, 744 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x005d, 752 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x005e, 760 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x005f, 768 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0060, 776 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0061, 784 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0062, 792 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0063, 800 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0064, 808 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0065, 816 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0066, 824 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0067, 832 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0068, 840 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0069, 848 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x006a, 856 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x006b, 864 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x006c, 872 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x006d, 880 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x006e, 888 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x006f, 896 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0070, 904 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0071, 912 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0072, 920 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0073, 928 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0074, 936 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0075, 944 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0076, 952 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0077, 960 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0078, 968 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0079, 976 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x007a, 984 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x007b, 992 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x007c, 1000 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x007d, 1008 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x007e, 1016 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x007f, 1024 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0080, 1032 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0081, 1040 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0082, 1048 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0083, 1056 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0084, 1064 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0085, 1072 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0086, 1080 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0087, 1088 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0088, 1096 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0089, 1104 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x008a, 1112 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x008b, 1120 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x008c, 1128 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x008d, 1136 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x008e, 1144 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x008f, 1152 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0090, 1160 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0091, 1168 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0092, 1176 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0093, 1184 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0094, 1192 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0095, 1200 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0096, 1208 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0097, 1216 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0098, 1224 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0099, 1232 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x009a, 1240 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x009b, 1248 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x009c, 1256 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x009d, 1264 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x009e, 1272 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x009f, 1280 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a0, 1288 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a1, 1296 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a2, 1304 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a3, 1312 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a4, 1320 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a5, 1328 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a6, 1336 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a7, 1344 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a8, 1352 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00a9, 1360 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00aa, 1368 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ab, 1376 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ac, 1384 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ad, 1392 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ae, 1400 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00af, 1408 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b0, 1416 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b1, 1424 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b2, 1432 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b3, 1440 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b4, 1448 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b5, 1456 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b6, 1464 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b7, 1472 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b8, 1480 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00b9, 1488 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ba, 1496 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00bb, 1504 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00bc, 1512 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00bd, 1520 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00be, 1528 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00bf, 1536 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c0, 1544 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c1, 1552 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c2, 1560 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c3, 1568 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c4, 1576 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c5, 1584 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c6, 1592 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c7, 1600 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c8, 1608 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00c9, 1616 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ca, 1624 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00cb, 1632 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00cc, 1640 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00cd, 1648 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ce, 1656 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00cf, 1664 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d0, 1672 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d1, 1680 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d2, 1688 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d3, 1696 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d4, 1704 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d5, 1712 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d6, 1720 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d7, 1728 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d8, 1736 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00d9, 1744 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00da, 1752 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00db, 1760 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00dc, 1768 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00dd, 1776 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00de, 1784 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00df, 1792 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e0, 1800 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e1, 1808 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e2, 1816 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e3, 1824 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e4, 1832 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e5, 1840 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e6, 1848 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e7, 1856 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e8, 1864 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e9, 1872 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ea, 1880 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00eb, 1888 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ec, 1896 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ed, 1904 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ee, 1912 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ef, 1920 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f0, 1928 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f1, 1936 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f2, 1944 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f3, 1952 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f4, 1960 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f5, 1968 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f6, 1976 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f7, 1984 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f8, 1992 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00f9, 2000 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00fa, 2008 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00fb, 2016 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00fc, 2024 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00fd, 2032 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00fe, 2040 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00ff, 2048 }, }; static pr_dvec4_t neg_d_init[] = { @@ -1715,22 +1715,22 @@ static pr_dvec4_t neg_d_expect[] = { }; static dstatement_t neg_d_statements[] = { - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e4, 8 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x01e4, 16 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x02e4, 24 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x03e4, 32 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x04e4, 40 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x05e4, 48 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x06e4, 56 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x07e4, 64 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x08e4, 72 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x09e4, 80 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0ae4, 88 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0be4, 96 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0ce4, 104 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0de4, 112 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0ee4, 120 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x0fe4, 128 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e4, 8 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x01e4, 16 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x02e4, 24 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x03e4, 32 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x04e4, 40 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x05e4, 48 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x06e4, 56 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x07e4, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x08e4, 72 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x09e4, 80 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0ae4, 88 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0be4, 96 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0ce4, 104 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0de4, 112 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0ee4, 120 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x0fe4, 128 }, }; static pr_dvec4_t zero_d_init[] = { @@ -1774,22 +1774,22 @@ static pr_dvec4_t zero_d_expect[] = { }; static dstatement_t zero_d_statements[] = { - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x00e4, 8 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x10e4, 16 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x20e4, 24 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x30e4, 32 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x40e4, 40 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x50e4, 48 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x60e4, 56 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x70e4, 64 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x80e4, 72 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0x90e4, 80 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0xa0e4, 88 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0xb0e4, 96 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0xc0e4, 104 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0xd0e4, 112 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0xe0e4, 120 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 0, 0xf0e4, 128 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x00e4, 8 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x10e4, 16 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x20e4, 24 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x30e4, 32 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x40e4, 40 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x50e4, 48 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x60e4, 56 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x70e4, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x80e4, 72 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0x90e4, 80 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0xa0e4, 88 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0xb0e4, 96 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0xc0e4, 104 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0xd0e4, 112 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0xe0e4, 120 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 0, 0xf0e4, 128 }, }; test_t tests[] = { diff --git a/libs/gamecode/test/test-vector.c b/libs/gamecode/test/test-vector.c index 6536c156c..d1ffdaaf0 100644 --- a/libs/gamecode/test/test-vector.c +++ b/libs/gamecode/test/test-vector.c @@ -64,10 +64,10 @@ static dstatement_t float_vector_statements[] = { { OP(0, 0, 0, OP_VQMUL_F), 32, 24, 48 }, { OP(0, 0, 0, OP_QMUL_F), 24, 32, 52 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 24, 0x07e4, 60 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 24, 0x07e4, 60 }, { OP(0, 0, 0, OP_QMUL_F), 52, 60, 52 }, - { OP(0, 0, 0, OP_SWIZZLE_F), 24, 0x07e4, 64 }, + { OP(0, 0, 0, OP_SWIZZLE_F_4), 24, 0x07e4, 64 }, { OP(0, 0, 0, OP_QMUL_F), 64, 32, 56 }, { OP(0, 0, 0, OP_QMUL_F), 56, 24, 56 }, @@ -139,10 +139,10 @@ static dstatement_t double_vector_statements[] = { { OP(0, 0, 0, OP_VQMUL_D), 64, 48, 96 }, { OP(0, 0, 0, OP_QMUL_D), 48, 64, 104 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 48, 0x07e4, 120 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 48, 0x07e4, 120 }, { OP(0, 0, 0, OP_QMUL_D), 104, 120, 104 }, - { OP(0, 0, 0, OP_SWIZZLE_D), 48, 0x07e4, 128 }, + { OP(0, 0, 0, OP_SWIZZLE_D_4), 48, 0x07e4, 128 }, { OP(0, 0, 0, OP_QMUL_D), 128, 64, 112 }, { OP(0, 0, 0, OP_QMUL_D), 112, 48, 112 },