From: Carl Love Date: Tue, 17 Nov 2020 01:09:47 +0000 (-0600) Subject: VSX Permute Control Vector Generate Operation tests. X-Git-Tag: VALGRIND_3_18_0~146 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4bcc6c8a97c10c4dd41b35bd3b3035ec4037d524;p=thirdparty%2Fvalgrind.git VSX Permute Control Vector Generate Operation tests. --- diff --git a/NEWS b/NEWS index aa398cf54b..2e42e74b2e 100644 --- a/NEWS +++ b/NEWS @@ -154,6 +154,7 @@ where XXXXXX is the bug number as listed below. 428909 helgrind: need to intercept duplicate libc definitions for Fedora 33 429352 PPC ISA 3.1 support is missing, part 7 429354 PPC ISA 3.1 support is missing, part 8 +429375 PPC ISA 3.1 support is missing, part 9 429692 unhandled ppc64le-linux syscall: 147 (getsid) 429864 s390x: C++ atomic test_and_set yields false-positive memcheck diagnostics diff --git a/none/tests/ppc64/test_isa_3_1_XT.c b/none/tests/ppc64/test_isa_3_1_XT.c index c16ddedac3..a54e8763a7 100644 --- a/none/tests/ppc64/test_isa_3_1_XT.c +++ b/none/tests/ppc64/test_isa_3_1_XT.c @@ -491,6 +491,54 @@ static void test_pstxv_4 (void) { static void test_pstxv_0 (void) { __asm__ __volatile__ ("pstxv %x0, 0(%1), 0" :: "wa" (vec_xs), "r" (ra) ); } +static void test_xxgenpcvbm_imm0 (void) { + __asm__ __volatile__ ("xxgenpcvbm %x0, %1, 0" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvbm_imm1 (void) { + __asm__ __volatile__ ("xxgenpcvbm %x0, %1, 1" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvbm_imm2 (void) { + __asm__ __volatile__ ("xxgenpcvbm %x0, %1, 2" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvbm_imm3 (void) { + __asm__ __volatile__ ("xxgenpcvbm %x0, %1, 3" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvhm_imm0 (void) { + __asm__ __volatile__ ("xxgenpcvhm %x0, %1, 0" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvhm_imm1 (void) { + __asm__ __volatile__ ("xxgenpcvhm %x0, %1, 1" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvhm_imm2 (void) { + __asm__ __volatile__ ("xxgenpcvhm %x0, %1, 2" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvhm_imm3 (void) { + __asm__ __volatile__ ("xxgenpcvhm %x0, %1, 3" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvwm_imm0 (void) { + __asm__ __volatile__ ("xxgenpcvwm %x0, %1, 0" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvwm_imm1 (void) { + __asm__ __volatile__ ("xxgenpcvwm %x0, %1, 1" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvwm_imm2 (void) { + __asm__ __volatile__ ("xxgenpcvwm %x0, %1, 2" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvwm_imm3 (void) { + __asm__ __volatile__ ("xxgenpcvwm %x0, %1, 3" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvdm_imm0 (void) { + __asm__ __volatile__ ("xxgenpcvdm %x0, %1, 0" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvdm_imm1 (void) { + __asm__ __volatile__ ("xxgenpcvdm %x0, %1, 1" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvdm_imm2 (void) { + __asm__ __volatile__ ("xxgenpcvdm %x0, %1, 2" : "=wa" (vec_xt) : "v" (vrb) ); +} +static void test_xxgenpcvdm_imm3 (void) { + __asm__ __volatile__ ("xxgenpcvdm %x0, %1, 3" : "=wa" (vec_xt) : "v" (vrb) ); +} static test_list_t testgroup_generic[] = { { &test_lxvkq_imm1, "lxvkq imm1", "XT,UIM"}, /* bcwp */ @@ -592,6 +640,22 @@ static test_list_t testgroup_generic[] = { { &test_xxblendvw, "xxblendvw", "XT,XA,XB,XC"}, /* bcs */ { &test_xxeval_imm0, "xxeval imm0", "XT,XA,XB,XC,IMM"}, /* bcwp */ { &test_xxeval_imm3, "xxeval imm3", "XT,XA,XB,XC,IMM"}, /* bcwp */ + { &test_xxgenpcvbm_imm0, "xxgenpcvbm imm0", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvbm_imm1, "xxgenpcvbm imm1", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvbm_imm2, "xxgenpcvbm imm2", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvbm_imm3, "xxgenpcvbm imm3", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvdm_imm0, "xxgenpcvdm imm0", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvdm_imm1, "xxgenpcvdm imm1", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvdm_imm2, "xxgenpcvdm imm2", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvdm_imm3, "xxgenpcvdm imm3", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvhm_imm0, "xxgenpcvhm imm0", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvhm_imm1, "xxgenpcvhm imm1", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvhm_imm2, "xxgenpcvhm imm2", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvhm_imm3, "xxgenpcvhm imm3", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvwm_imm0, "xxgenpcvwm imm0", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvwm_imm1, "xxgenpcvwm imm1", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvwm_imm2, "xxgenpcvwm imm2", "XT,VRB,IMM"}, /* bcwp */ + { &test_xxgenpcvwm_imm3, "xxgenpcvwm imm3", "XT,VRB,IMM"}, /* bcwp */ { &test_xxpermx_imm0, "xxpermx imm0", "XT,XA,XB,XC,UIM"}, /* bcwp */ { &test_xxpermx_imm3, "xxpermx imm3", "XT,XA,XB,XC,UIM"}, /* bcwp */ { &test_xxsplti32dx_ix0_imm0xa5a5a5a5, "xxsplti32dx ix0_imm0xa5a5a5a5", "XT,IX,IMM32"}, /* bcwp */ diff --git a/none/tests/ppc64/test_isa_3_1_XT.stdout.exp b/none/tests/ppc64/test_isa_3_1_XT.stdout.exp index efa95884e9..8b5f1d1a36 100644 --- a/none/tests/ppc64/test_isa_3_1_XT.stdout.exp +++ b/none/tests/ppc64/test_isa_3_1_XT.stdout.exp @@ -4644,6 +4644,230 @@ xxeval imm3 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 xxeval imm3 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 => 8000000000000000 7f800000ff800000 xxeval imm3 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 8000000000000000,7f800000ff800000 => 8000000000000000 7f800000ff800000 +xxgenpcvbm imm0 7f800000ff800000,ff8000007f800000 => 18031a1b04051e1f 1121314021617 +xxgenpcvbm imm0 ff8000007f800000,ff7ffffe7f7ffffe => 5061a1b1c071e1f 11010214150304 +xxgenpcvbm imm0 ff7ffffe7f7ffffe,0080000e8080000e => 31904051c1d0607 1000121301021617 +xxgenpcvbm imm0 0080000e8080000e,0180055e0180077e => 18021a1b03041e1f 1000121314011617 +xxgenpcvbm imm0 0180055e0180077e,0000111e8000222e => 18011a1b1c021e1f 1011121300151617 +xxgenpcvbm imm0 0000111e8000222e,7ff0000000000000 => 18191a1b011d1e1f 1000121314151617 +xxgenpcvbm imm0 7ff0000000000000,fff0000000000000 => 18021a1b1c1d1e1f 1121314151617 +xxgenpcvbm imm0 fff0000000000000,2208400000000000 => 11a1b1c1d1e1f 1011121314151617 +xxgenpcvbm imm0 2208400000000000,0000000000000009 => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvbm imm0 0000000000000009,ffff000180000001 => 18191a1b1c1d1e1f 1121302151617 +xxgenpcvbm imm0 ffff000180000001,0000000000000000 => 11a1b021d1e1f 1011121314151617 +xxgenpcvbm imm0 0000000000000000,8000000000000000 => 18191a1b1c1d1e1f 11121314151617 +xxgenpcvbm imm0 8000000000000000,7f800000ff800000 => 3191a1b1c1d1e1f 1000121301021617 + +xxgenpcvbm imm1 7f800000ff800000,ff8000007f800000 => 0 105090c0d0000 +xxgenpcvbm imm1 ff8000007f800000,ff7ffffe7f7ffffe => 0 203060708090d +xxgenpcvbm imm1 ff7ffffe7f7ffffe,0080000e8080000e => 0 10405080a0b0e0f +xxgenpcvbm imm1 0080000e8080000e,0180055e0180077e => 0 105090c0d000000 +xxgenpcvbm imm1 0180055e0180077e,0000111e8000222e => 0 4090d0000000000 +xxgenpcvbm imm1 0000111e8000222e,7ff0000000000000 => 0 10c000000000000 +xxgenpcvbm imm1 7ff0000000000000,fff0000000000000 => 0 1090000000000 +xxgenpcvbm imm1 fff0000000000000,2208400000000000 => 0 809000000000000 +xxgenpcvbm imm1 2208400000000000,0000000000000009 => 0 0 +xxgenpcvbm imm1 0000000000000009,ffff000180000001 => 0 1040000000000 +xxgenpcvbm imm1 ffff000180000001,0000000000000000 => 0 8090c0000000000 +xxgenpcvbm imm1 0000000000000000,8000000000000000 => 0 0 +xxgenpcvbm imm1 8000000000000000,7f800000ff800000 => 0 104050800000000 + +xxgenpcvbm imm2 7f800000ff800000,ff8000007f800000 => 1702151401001110 5041d1c1b031918 +xxgenpcvbm imm2 ff8000007f800000,ff7ffffe7f7ffffe => 201151413001110 71e06051b1a0403 +xxgenpcvbm imm2 ff7ffffe7f7ffffe,0080000e8080000e => 416030213120100 1f071d1c06051918 +xxgenpcvbm imm2 0080000e8080000e,0180055e0180077e => 1702151401001110 1f041d1c1b031918 +xxgenpcvbm imm2 0180055e0180077e,0000111e8000222e => 1701151413001110 1f1e1d1c021a1918 +xxgenpcvbm imm2 0000111e8000222e,7ff0000000000000 => 1716151400121110 1f011d1c1b1a1918 +xxgenpcvbm imm2 7ff0000000000000,fff0000000000000 => 1700151413121110 2011d1c1b1a1918 +xxgenpcvbm imm2 fff0000000000000,2208400000000000 => 100151413121110 1f1e1d1c1b1a1918 +xxgenpcvbm imm2 2208400000000000,0000000000000009 => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvbm imm2 0000000000000009,ffff000180000001 => 1716151413121110 2011d1c001a1918 +xxgenpcvbm imm2 ffff000180000001,0000000000000000 => 201151400121110 1f1e1d1c1b1a1918 +xxgenpcvbm imm2 0000000000000000,8000000000000000 => 1716151413121110 1e1d1c1b1a1918 +xxgenpcvbm imm2 8000000000000000,7f800000ff800000 => 16151413121110 1f031d1c02011918 + +xxgenpcvbm imm3 7f800000ff800000,ff8000007f800000 => f0e0a060302 0 +xxgenpcvbm imm3 ff8000007f800000,ff7ffffe7f7ffffe => f0d0c0908070602 0 +xxgenpcvbm imm3 ff7ffffe7f7ffffe,0080000e8080000e => e0b0a0705040100 0 +xxgenpcvbm imm3 0080000e8080000e,0180055e0180077e => e0a060302 0 +xxgenpcvbm imm3 0180055e0180077e,0000111e8000222e => b0602 0 +xxgenpcvbm imm3 0000111e8000222e,7ff0000000000000 => e03 0 +xxgenpcvbm imm3 7ff0000000000000,fff0000000000000 => f0e06 0 +xxgenpcvbm imm3 fff0000000000000,2208400000000000 => 706 0 +xxgenpcvbm imm3 2208400000000000,0000000000000009 => 0 0 +xxgenpcvbm imm3 0000000000000009,ffff000180000001 => f0e0b 0 +xxgenpcvbm imm3 ffff000180000001,0000000000000000 => 70603 0 +xxgenpcvbm imm3 0000000000000000,8000000000000000 => f 0 +xxgenpcvbm imm3 8000000000000000,7f800000ff800000 => e0b0a07 0 + +xxgenpcvdm imm0 7f800000ff800000,ff8000007f800000 => 18191a1b1c1d1e1f 1020304050607 +xxgenpcvdm imm0 ff8000007f800000,ff7ffffe7f7ffffe => 8090a0b0c0d0e0f 1020304050607 +xxgenpcvdm imm0 ff7ffffe7f7ffffe,0080000e8080000e => 1020304050607 1011121314151617 +xxgenpcvdm imm0 0080000e8080000e,0180055e0180077e => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvdm imm0 0180055e0180077e,0000111e8000222e => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvdm imm0 0000111e8000222e,7ff0000000000000 => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvdm imm0 7ff0000000000000,fff0000000000000 => 18191a1b1c1d1e1f 1020304050607 +xxgenpcvdm imm0 fff0000000000000,2208400000000000 => 1020304050607 1011121314151617 +xxgenpcvdm imm0 2208400000000000,0000000000000009 => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvdm imm0 0000000000000009,ffff000180000001 => 18191a1b1c1d1e1f 1020304050607 +xxgenpcvdm imm0 ffff000180000001,0000000000000000 => 1020304050607 1011121314151617 +xxgenpcvdm imm0 0000000000000000,8000000000000000 => 18191a1b1c1d1e1f 1020304050607 +xxgenpcvdm imm0 8000000000000000,7f800000ff800000 => 1020304050607 1011121314151617 + +xxgenpcvdm imm1 7f800000ff800000,ff8000007f800000 => 0 1020304050607 +xxgenpcvdm imm1 ff8000007f800000,ff7ffffe7f7ffffe => 8090a0b0c0d0e0f 1020304050607 +xxgenpcvdm imm1 ff7ffffe7f7ffffe,0080000e8080000e => 0 8090a0b0c0d0e0f +xxgenpcvdm imm1 0080000e8080000e,0180055e0180077e => 0 0 +xxgenpcvdm imm1 0180055e0180077e,0000111e8000222e => 0 0 +xxgenpcvdm imm1 0000111e8000222e,7ff0000000000000 => 0 0 +xxgenpcvdm imm1 7ff0000000000000,fff0000000000000 => 0 1020304050607 +xxgenpcvdm imm1 fff0000000000000,2208400000000000 => 0 8090a0b0c0d0e0f +xxgenpcvdm imm1 2208400000000000,0000000000000009 => 0 0 +xxgenpcvdm imm1 0000000000000009,ffff000180000001 => 0 1020304050607 +xxgenpcvdm imm1 ffff000180000001,0000000000000000 => 0 8090a0b0c0d0e0f +xxgenpcvdm imm1 0000000000000000,8000000000000000 => 0 1020304050607 +xxgenpcvdm imm1 8000000000000000,7f800000ff800000 => 0 8090a0b0c0d0e0f + +xxgenpcvdm imm2 7f800000ff800000,ff8000007f800000 => 1716151413121110 706050403020100 +xxgenpcvdm imm2 ff8000007f800000,ff7ffffe7f7ffffe => 706050403020100 f0e0d0c0b0a0908 +xxgenpcvdm imm2 ff7ffffe7f7ffffe,0080000e8080000e => 706050403020100 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 0080000e8080000e,0180055e0180077e => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 0180055e0180077e,0000111e8000222e => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 0000111e8000222e,7ff0000000000000 => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 7ff0000000000000,fff0000000000000 => 1716151413121110 706050403020100 +xxgenpcvdm imm2 fff0000000000000,2208400000000000 => 706050403020100 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 2208400000000000,0000000000000009 => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 0000000000000009,ffff000180000001 => 1716151413121110 706050403020100 +xxgenpcvdm imm2 ffff000180000001,0000000000000000 => 706050403020100 1f1e1d1c1b1a1918 +xxgenpcvdm imm2 0000000000000000,8000000000000000 => 1716151413121110 706050403020100 +xxgenpcvdm imm2 8000000000000000,7f800000ff800000 => 706050403020100 1f1e1d1c1b1a1918 + +xxgenpcvdm imm3 7f800000ff800000,ff8000007f800000 => f0e0d0c0b0a0908 0 +xxgenpcvdm imm3 ff8000007f800000,ff7ffffe7f7ffffe => 706050403020100 f0e0d0c0b0a0908 +xxgenpcvdm imm3 ff7ffffe7f7ffffe,0080000e8080000e => 706050403020100 0 +xxgenpcvdm imm3 0080000e8080000e,0180055e0180077e => 0 0 +xxgenpcvdm imm3 0180055e0180077e,0000111e8000222e => 0 0 +xxgenpcvdm imm3 0000111e8000222e,7ff0000000000000 => 0 0 +xxgenpcvdm imm3 7ff0000000000000,fff0000000000000 => f0e0d0c0b0a0908 0 +xxgenpcvdm imm3 fff0000000000000,2208400000000000 => 706050403020100 0 +xxgenpcvdm imm3 2208400000000000,0000000000000009 => 0 0 +xxgenpcvdm imm3 0000000000000009,ffff000180000001 => f0e0d0c0b0a0908 0 +xxgenpcvdm imm3 ffff000180000001,0000000000000000 => 706050403020100 0 +xxgenpcvdm imm3 0000000000000000,8000000000000000 => f0e0d0c0b0a0908 0 +xxgenpcvdm imm3 8000000000000000,7f800000ff800000 => 706050403020100 0 + +xxgenpcvhm imm0 7f800000ff800000,ff8000007f800000 => 18191a1b02031e1f 1121314151617 +xxgenpcvhm imm0 ff8000007f800000,ff7ffffe7f7ffffe => 6071a1b1c1d1e1f 1020314150405 +xxgenpcvhm imm0 ff7ffffe7f7ffffe,0080000e8080000e => 20304051c1d0607 1011121300011617 +xxgenpcvhm imm0 0080000e8080000e,0180055e0180077e => 18191a1b00011e1f 1011121314151617 +xxgenpcvhm imm0 0180055e0180077e,0000111e8000222e => 18191a1b1c1d1e1f 1011121300011617 +xxgenpcvhm imm0 0000111e8000222e,7ff0000000000000 => 18191a1b00011e1f 1011121314151617 +xxgenpcvhm imm0 7ff0000000000000,fff0000000000000 => 18191a1b1c1d1e1f 1121314151617 +xxgenpcvhm imm0 fff0000000000000,2208400000000000 => 11a1b1c1d1e1f 1011121314151617 +xxgenpcvhm imm0 2208400000000000,0000000000000009 => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvhm imm0 0000000000000009,ffff000180000001 => 18191a1b1c1d1e1f 1121302031617 +xxgenpcvhm imm0 ffff000180000001,0000000000000000 => 11a1b02031e1f 1011121314151617 +xxgenpcvhm imm0 0000000000000000,8000000000000000 => 18191a1b1c1d1e1f 1121314151617 +xxgenpcvhm imm0 8000000000000000,7f800000ff800000 => 2031a1b1c1d1e1f 1011121300011617 + +xxgenpcvhm imm1 7f800000ff800000,ff8000007f800000 => 0 10c0d00000000 +xxgenpcvhm imm1 ff8000007f800000,ff7ffffe7f7ffffe => 0 1020306070809 +xxgenpcvhm imm1 ff7ffffe7f7ffffe,0080000e8080000e => 0 40508090a0b0e0f +xxgenpcvhm imm1 0080000e8080000e,0180055e0180077e => 0 c0d000000000000 +xxgenpcvhm imm1 0180055e0180077e,0000111e8000222e => 0 405000000000000 +xxgenpcvhm imm1 0000111e8000222e,7ff0000000000000 => 0 c0d000000000000 +xxgenpcvhm imm1 7ff0000000000000,fff0000000000000 => 0 1000000000000 +xxgenpcvhm imm1 fff0000000000000,2208400000000000 => 0 809000000000000 +xxgenpcvhm imm1 2208400000000000,0000000000000009 => 0 0 +xxgenpcvhm imm1 0000000000000009,ffff000180000001 => 0 1040500000000 +xxgenpcvhm imm1 ffff000180000001,0000000000000000 => 0 8090c0d00000000 +xxgenpcvhm imm1 0000000000000000,8000000000000000 => 0 1000000000000 +xxgenpcvhm imm1 8000000000000000,7f800000ff800000 => 0 405080900000000 + +xxgenpcvhm imm2 7f800000ff800000,ff8000007f800000 => 1716151401001110 3021d1c1b1a1918 +xxgenpcvhm imm2 ff8000007f800000,ff7ffffe7f7ffffe => 100151413121110 70605041b1a0302 +xxgenpcvhm imm2 ff7ffffe7f7ffffe,0080000e8080000e => 504030213120100 1f1e1d1c07061918 +xxgenpcvhm imm2 0080000e8080000e,0180055e0180077e => 1716151401001110 1f1e1d1c1b1a1918 +xxgenpcvhm imm2 0180055e0180077e,0000111e8000222e => 1716151413121110 1f1e1d1c01001918 +xxgenpcvhm imm2 0000111e8000222e,7ff0000000000000 => 1716151401001110 1f1e1d1c1b1a1918 +xxgenpcvhm imm2 7ff0000000000000,fff0000000000000 => 1716151413121110 1001d1c1b1a1918 +xxgenpcvhm imm2 fff0000000000000,2208400000000000 => 100151413121110 1f1e1d1c1b1a1918 +xxgenpcvhm imm2 2208400000000000,0000000000000009 => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvhm imm2 0000000000000009,ffff000180000001 => 1716151413121110 3021d1c01001918 +xxgenpcvhm imm2 ffff000180000001,0000000000000000 => 302151401001110 1f1e1d1c1b1a1918 +xxgenpcvhm imm2 0000000000000000,8000000000000000 => 1716151413121110 1001d1c1b1a1918 +xxgenpcvhm imm2 8000000000000000,7f800000ff800000 => 100151413121110 1f1e1d1c03021918 + +xxgenpcvhm imm3 7f800000ff800000,ff8000007f800000 => f0e0302 0 +xxgenpcvhm imm3 ff8000007f800000,ff7ffffe7f7ffffe => f0e0d0c09080706 0 +xxgenpcvhm imm3 ff7ffffe7f7ffffe,0080000e8080000e => b0a070605040100 0 +xxgenpcvhm imm3 0080000e8080000e,0180055e0180077e => 302 0 +xxgenpcvhm imm3 0180055e0180077e,0000111e8000222e => b0a 0 +xxgenpcvhm imm3 0000111e8000222e,7ff0000000000000 => 302 0 +xxgenpcvhm imm3 7ff0000000000000,fff0000000000000 => f0e 0 +xxgenpcvhm imm3 fff0000000000000,2208400000000000 => 706 0 +xxgenpcvhm imm3 2208400000000000,0000000000000009 => 0 0 +xxgenpcvhm imm3 0000000000000009,ffff000180000001 => f0e0b0a 0 +xxgenpcvhm imm3 ffff000180000001,0000000000000000 => 7060302 0 +xxgenpcvhm imm3 0000000000000000,8000000000000000 => f0e 0 +xxgenpcvhm imm3 8000000000000000,7f800000ff800000 => b0a0706 0 + +xxgenpcvwm imm0 7f800000ff800000,ff8000007f800000 => 18191a1b04050607 1020314151617 +xxgenpcvwm imm0 ff8000007f800000,ff7ffffe7f7ffffe => 40506071c1d1e1f 1020314151617 +xxgenpcvwm imm0 ff7ffffe7f7ffffe,0080000e8080000e => 40506071c1d1e1f 1011121300010203 +xxgenpcvwm imm0 0080000e8080000e,0180055e0180077e => 18191a1b00010203 1011121314151617 +xxgenpcvwm imm0 0180055e0180077e,0000111e8000222e => 18191a1b1c1d1e1f 1011121300010203 +xxgenpcvwm imm0 0000111e8000222e,7ff0000000000000 => 18191a1b00010203 1011121314151617 +xxgenpcvwm imm0 7ff0000000000000,fff0000000000000 => 18191a1b1c1d1e1f 1020314151617 +xxgenpcvwm imm0 fff0000000000000,2208400000000000 => 102031c1d1e1f 1011121314151617 +xxgenpcvwm imm0 2208400000000000,0000000000000009 => 18191a1b1c1d1e1f 1011121314151617 +xxgenpcvwm imm0 0000000000000009,ffff000180000001 => 18191a1b1c1d1e1f 1020304050607 +xxgenpcvwm imm0 ffff000180000001,0000000000000000 => 1020304050607 1011121314151617 +xxgenpcvwm imm0 0000000000000000,8000000000000000 => 18191a1b1c1d1e1f 1020314151617 +xxgenpcvwm imm0 8000000000000000,7f800000ff800000 => 40506071c1d1e1f 1011121300010203 + +xxgenpcvwm imm1 7f800000ff800000,ff8000007f800000 => 0 102030c0d0e0f +xxgenpcvwm imm1 ff8000007f800000,ff7ffffe7f7ffffe => 0 1020308090a0b +xxgenpcvwm imm1 ff7ffffe7f7ffffe,0080000e8080000e => 0 405060708090a0b +xxgenpcvwm imm1 0080000e8080000e,0180055e0180077e => 0 c0d0e0f00000000 +xxgenpcvwm imm1 0180055e0180077e,0000111e8000222e => 0 405060700000000 +xxgenpcvwm imm1 0000111e8000222e,7ff0000000000000 => 0 c0d0e0f00000000 +xxgenpcvwm imm1 7ff0000000000000,fff0000000000000 => 0 1020300000000 +xxgenpcvwm imm1 fff0000000000000,2208400000000000 => 0 8090a0b00000000 +xxgenpcvwm imm1 2208400000000000,0000000000000009 => 0 0 +xxgenpcvwm imm1 0000000000000009,ffff000180000001 => 0 1020304050607 +xxgenpcvwm imm1 ffff000180000001,0000000000000000 => 0 8090a0b0c0d0e0f +xxgenpcvwm imm1 0000000000000000,8000000000000000 => 0 1020300000000 +xxgenpcvwm imm1 8000000000000000,7f800000ff800000 => 0 405060708090a0b + +xxgenpcvwm imm2 7f800000ff800000,ff8000007f800000 => 1716151403020100 70605041b1a1918 +xxgenpcvwm imm2 ff8000007f800000,ff7ffffe7f7ffffe => 302010013121110 70605041b1a1918 +xxgenpcvwm imm2 ff7ffffe7f7ffffe,0080000e8080000e => 302010013121110 1f1e1d1c07060504 +xxgenpcvwm imm2 0080000e8080000e,0180055e0180077e => 1716151403020100 1f1e1d1c1b1a1918 +xxgenpcvwm imm2 0180055e0180077e,0000111e8000222e => 1716151413121110 1f1e1d1c03020100 +xxgenpcvwm imm2 0000111e8000222e,7ff0000000000000 => 1716151403020100 1f1e1d1c1b1a1918 +xxgenpcvwm imm2 7ff0000000000000,fff0000000000000 => 1716151413121110 30201001b1a1918 +xxgenpcvwm imm2 fff0000000000000,2208400000000000 => 302010013121110 1f1e1d1c1b1a1918 +xxgenpcvwm imm2 2208400000000000,0000000000000009 => 1716151413121110 1f1e1d1c1b1a1918 +xxgenpcvwm imm2 0000000000000009,ffff000180000001 => 1716151413121110 706050403020100 +xxgenpcvwm imm2 ffff000180000001,0000000000000000 => 706050403020100 1f1e1d1c1b1a1918 +xxgenpcvwm imm2 0000000000000000,8000000000000000 => 1716151413121110 30201001b1a1918 +xxgenpcvwm imm2 8000000000000000,7f800000ff800000 => 302010013121110 1f1e1d1c07060504 + +xxgenpcvwm imm3 7f800000ff800000,ff8000007f800000 => f0e0d0c03020100 0 +xxgenpcvwm imm3 ff8000007f800000,ff7ffffe7f7ffffe => f0e0d0c07060504 0 +xxgenpcvwm imm3 ff7ffffe7f7ffffe,0080000e8080000e => b0a090807060504 0 +xxgenpcvwm imm3 0080000e8080000e,0180055e0180077e => 3020100 0 +xxgenpcvwm imm3 0180055e0180077e,0000111e8000222e => b0a0908 0 +xxgenpcvwm imm3 0000111e8000222e,7ff0000000000000 => 3020100 0 +xxgenpcvwm imm3 7ff0000000000000,fff0000000000000 => f0e0d0c 0 +xxgenpcvwm imm3 fff0000000000000,2208400000000000 => 7060504 0 +xxgenpcvwm imm3 2208400000000000,0000000000000009 => 0 0 +xxgenpcvwm imm3 0000000000000009,ffff000180000001 => f0e0d0c0b0a0908 0 +xxgenpcvwm imm3 ffff000180000001,0000000000000000 => 706050403020100 0 +xxgenpcvwm imm3 0000000000000000,8000000000000000 => f0e0d0c 0 +xxgenpcvwm imm3 8000000000000000,7f800000ff800000 => b0a090807060504 0 + xxpermx imm0 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 => ffff0000ffff ffff0000ffff xxpermx imm0 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 => ffff0000ffff ffff0000ffff xxpermx imm0 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 7f800000ff800000,ff8000007f800000 => ffff0000ffff ffff0000ffff @@ -7094,4 +7318,4 @@ xxspltiw imm3 => 300000003 300000003 xxspltiw imm8 => 800000008 800000008 -All done. Tested 142 different instruction groups +All done. Tested 158 different instruction groups