Home | History | Annotate | Download | only in amd64
      1 #include <math.h>
      2 #include <setjmp.h>
      3 #include <signal.h>
      4 #include <stdio.h>
      5 #include <stdlib.h>
      6 
      7 typedef union {
      8   char sb[1];
      9   unsigned char ub[1];
     10 } reg8_t;
     11 
     12 typedef union {
     13   char sb[2];
     14   unsigned char ub[2];
     15   short sw[1];
     16   unsigned short uw[1];
     17 } reg16_t;
     18 
     19 typedef union {
     20   char sb[4];
     21   unsigned char ub[4];
     22   short sw[2];
     23   unsigned short uw[2];
     24   int sd[1];
     25   unsigned int ud[1];
     26   float ps[1];
     27 } reg32_t;
     28 
     29 typedef union {
     30   char sb[8];
     31   unsigned char ub[8];
     32   short sw[4];
     33   unsigned short uw[4];
     34   int sd[2];
     35   unsigned int ud[2];
     36   long long int sq[1];
     37   unsigned long long int uq[1];
     38   float ps[2];
     39   double pd[1];
     40 } reg64_t __attribute__ ((aligned (8)));
     41 
     42 typedef union {
     43   char sb[16];
     44   unsigned char ub[16];
     45   short sw[8];
     46   unsigned short uw[8];
     47   int sd[4];
     48   unsigned int ud[4];
     49   long long int sq[2];
     50   unsigned long long int uq[2];
     51   float ps[4];
     52   double pd[2];
     53 } reg128_t __attribute__ ((aligned (16)));
     54 
     55 static sigjmp_buf catchpoint;
     56 
     57 static void handle_sigill(int signum)
     58 {
     59    siglongjmp(catchpoint, 1);
     60 }
     61 
     62 __attribute__((unused))
     63 static int eq_float(float f1, float f2)
     64 {
     65    /* return f1 == f2 || fabsf(f1 - f2) < fabsf(f1) * 1.5 * powf(2,-12); */
     66    return f1 == f2 || fabsf(f1 - f2) < fabsf(f1) * 1.5 / 4096.0;
     67 }
     68 
     69 __attribute__((unused))
     70 static int eq_double(double d1, double d2)
     71 {
     72    /* return d1 == d2 || fabs(d1 - d2) < fabs(d1) * 1.5 * pow(2,-12); */
     73    return d1 == d2 || fabs(d1 - d2) < fabs(d1) * 1.5 / 4096.0;
     74 }
     75 
     76 static void pclmulqdq_1(void)
     77 {
     78    reg128_t arg1 = { .uq = { 0x00017004200ab0cdULL, 0xc000b802f6b31753ULL } };
     79    reg128_t arg2 = { .uq = { 0xa0005c0252074a9aULL, 0x50002e0207b1643cULL } };
     80    reg128_t result0;
     81    char state[108];
     82 
     83    if (sigsetjmp(catchpoint, 1) == 0)
     84    {
     85       asm(
     86          "ffree %%st(7)\n"
     87          "ffree %%st(6)\n"
     88          "ffree %%st(5)\n"
     89          "ffree %%st(4)\n"
     90          "movlps 0+%0, %%xmm12\n"
     91          "movhps 8+%0, %%xmm12\n"
     92          "movlps 0+%1, %%xmm13\n"
     93          "movhps 8+%1, %%xmm13\n"
     94          "pclmulqdq $0, %%xmm12, %%xmm13\n"
     95          "movlps %%xmm13, 0+%2\n"
     96          "movhps %%xmm13, 8+%2\n"
     97          :
     98          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
     99          : "xmm12", "xmm13"
    100       );
    101 
    102       if (result0.uq[0] == 0x5ff61cc8b1043fa2ULL && result0.uq[1] == 0x00009602d147dc12ULL )
    103       {
    104          printf("pclmulqdq_1 ... ok\n");
    105       }
    106       else
    107       {
    108          printf("pclmulqdq_1 ... not ok\n");
    109          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5ff61cc8b1043fa2ULL);
    110          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x00009602d147dc12ULL);
    111       }
    112    }
    113    else
    114    {
    115       printf("pclmulqdq_1 ... failed\n");
    116    }
    117 
    118    return;
    119 }
    120 
    121 static void pclmulqdq_2(void)
    122 {
    123    reg128_t arg1 = { .uq = { 0x28001701e286710dULL, 0xd4000b81d7f0f773ULL } };
    124    reg128_t arg2 = { .uq = { 0xaa0005c1c2a63aaaULL, 0x550002e1c000dc44ULL } };
    125    reg128_t result0;
    126    char state[108];
    127 
    128    if (sigsetjmp(catchpoint, 1) == 0)
    129    {
    130       asm(
    131          "ffree %%st(7)\n"
    132          "ffree %%st(6)\n"
    133          "ffree %%st(5)\n"
    134          "ffree %%st(4)\n"
    135          "movlps 0+%0, %%xmm12\n"
    136          "movhps 8+%0, %%xmm12\n"
    137          "movlps 0+%1, %%xmm13\n"
    138          "movhps 8+%1, %%xmm13\n"
    139          "pclmulqdq $1, %%xmm12, %%xmm13\n"
    140          "movlps %%xmm13, 0+%2\n"
    141          "movhps %%xmm13, 8+%2\n"
    142          :
    143          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    144          : "xmm12", "xmm13"
    145       );
    146 
    147       if (result0.uq[0] == 0xd33d2883021ccb74ULL && result0.uq[1] == 0x080804b056c3c3bdULL )
    148       {
    149          printf("pclmulqdq_2 ... ok\n");
    150       }
    151       else
    152       {
    153          printf("pclmulqdq_2 ... not ok\n");
    154          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd33d2883021ccb74ULL);
    155          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x080804b056c3c3bdULL);
    156       }
    157    }
    158    else
    159    {
    160       printf("pclmulqdq_2 ... failed\n");
    161    }
    162 
    163    return;
    164 }
    165 
    166 static void pclmulqdq_3(void)
    167 {
    168    reg128_t arg1 = { .uq = { 0x2a800171beae2d11ULL, 0xd54000b9b604d579ULL } };
    169    reg128_t arg2 = { .uq = { 0xaaa0005db1b029adULL, 0x9550002faf85d3c3ULL } };
    170    reg128_t result0;
    171    char state[108];
    172 
    173    if (sigsetjmp(catchpoint, 1) == 0)
    174    {
    175       asm(
    176          "ffree %%st(7)\n"
    177          "ffree %%st(6)\n"
    178          "ffree %%st(5)\n"
    179          "ffree %%st(4)\n"
    180          "movlps 0+%0, %%xmm12\n"
    181          "movhps 8+%0, %%xmm12\n"
    182          "movlps 0+%1, %%xmm13\n"
    183          "movhps 8+%1, %%xmm13\n"
    184          "pclmulqdq $16, %%xmm12, %%xmm13\n"
    185          "movlps %%xmm13, 0+%2\n"
    186          "movhps %%xmm13, 8+%2\n"
    187          :
    188          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    189          : "xmm12", "xmm13"
    190       );
    191 
    192       if (result0.uq[0] == 0x5bd93710a920a9f5ULL && result0.uq[1] == 0x777888724b473f64ULL )
    193       {
    194          printf("pclmulqdq_3 ... ok\n");
    195       }
    196       else
    197       {
    198          printf("pclmulqdq_3 ... not ok\n");
    199          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5bd93710a920a9f5ULL);
    200          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x777888724b473f64ULL);
    201       }
    202    }
    203    else
    204    {
    205       printf("pclmulqdq_3 ... failed\n");
    206    }
    207 
    208    return;
    209 }
    210 
    211 static void pclmulqdq_4(void)
    212 {
    213    reg128_t arg1 = { .uq = { 0x8aa80018be70a8d2ULL, 0x4554000d3de61358ULL } };
    214    reg128_t arg2 = { .uq = { 0x22aa00077da0c89bULL, 0xd1550004957e233eULL } };
    215    reg128_t result0;
    216    char state[108];
    217 
    218    if (sigsetjmp(catchpoint, 1) == 0)
    219    {
    220       asm(
    221          "ffree %%st(7)\n"
    222          "ffree %%st(6)\n"
    223          "ffree %%st(5)\n"
    224          "ffree %%st(4)\n"
    225          "movlps 0+%0, %%xmm12\n"
    226          "movhps 8+%0, %%xmm12\n"
    227          "movlps 0+%1, %%xmm13\n"
    228          "movhps 8+%1, %%xmm13\n"
    229          "pclmulqdq $17, %%xmm12, %%xmm13\n"
    230          "movlps %%xmm13, 0+%2\n"
    231          "movhps %%xmm13, 8+%2\n"
    232          :
    233          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    234          : "xmm12", "xmm13"
    235       );
    236 
    237       if (result0.uq[0] == 0xd222922d28094790ULL && result0.uq[1] == 0x37fb44403e2d3407ULL )
    238       {
    239          printf("pclmulqdq_4 ... ok\n");
    240       }
    241       else
    242       {
    243          printf("pclmulqdq_4 ... not ok\n");
    244          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd222922d28094790ULL);
    245          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x37fb44403e2d3407ULL);
    246       }
    247    }
    248    else
    249    {
    250       printf("pclmulqdq_4 ... failed\n");
    251    }
    252 
    253    return;
    254 }
    255 
    256 static void pclmulqdq_5(void)
    257 {
    258    reg128_t arg1 = { .uq = { 0x68aa8003296cd08eULL, 0x3455400273642736ULL } };
    259    reg128_t arg2 = { .uq = { 0x1a2aa002185fd28aULL, 0x0d155001eadda834ULL } };
    260    reg128_t result0;
    261    char state[108];
    262 
    263    if (sigsetjmp(catchpoint, 1) == 0)
    264    {
    265       asm(
    266          "ffree %%st(7)\n"
    267          "ffree %%st(6)\n"
    268          "ffree %%st(5)\n"
    269          "ffree %%st(4)\n"
    270          "movlps 0+%1, %%xmm13\n"
    271          "movhps 8+%1, %%xmm13\n"
    272          "pclmulqdq $0, %0, %%xmm13\n"
    273          "movlps %%xmm13, 0+%2\n"
    274          "movhps %%xmm13, 8+%2\n"
    275          :
    276          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    277          : "xmm12", "xmm13"
    278       );
    279 
    280       if (result0.uq[0] == 0x6f56f9abeba01e6cULL && result0.uq[1] == 0x05101111e9709d8fULL )
    281       {
    282          printf("pclmulqdq_5 ... ok\n");
    283       }
    284       else
    285       {
    286          printf("pclmulqdq_5 ... not ok\n");
    287          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6f56f9abeba01e6cULL);
    288          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x05101111e9709d8fULL);
    289       }
    290    }
    291    else
    292    {
    293       printf("pclmulqdq_5 ... failed\n");
    294    }
    295 
    296    return;
    297 }
    298 
    299 static void pclmulqdq_6(void)
    300 {
    301    reg128_t arg1 = { .uq = { 0x068aa801d41c9309ULL, 0xc3455401c0bc0875ULL } };
    302    reg128_t arg2 = { .uq = { 0xa1a2aa01c70bc327ULL, 0x90d15501ca33a080ULL } };
    303    reg128_t result0;
    304    char state[108];
    305 
    306    if (sigsetjmp(catchpoint, 1) == 0)
    307    {
    308       asm(
    309          "ffree %%st(7)\n"
    310          "ffree %%st(6)\n"
    311          "ffree %%st(5)\n"
    312          "ffree %%st(4)\n"
    313          "movlps 0+%1, %%xmm13\n"
    314          "movhps 8+%1, %%xmm13\n"
    315          "pclmulqdq $1, %0, %%xmm13\n"
    316          "movlps %%xmm13, 0+%2\n"
    317          "movhps %%xmm13, 8+%2\n"
    318          :
    319          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    320          : "xmm12", "xmm13"
    321       );
    322 
    323       if (result0.uq[0] == 0x0c18b0e8ab072480ULL && result0.uq[1] == 0x032f76887b10d528ULL )
    324       {
    325          printf("pclmulqdq_6 ... ok\n");
    326       }
    327       else
    328       {
    329          printf("pclmulqdq_6 ... not ok\n");
    330          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x0c18b0e8ab072480ULL);
    331          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x032f76887b10d528ULL);
    332       }
    333    }
    334    else
    335    {
    336       printf("pclmulqdq_6 ... failed\n");
    337    }
    338 
    339    return;
    340 }
    341 
    342 static void pclmulqdq_7(void)
    343 {
    344    reg128_t arg1 = { .uq = { 0x4868aa81c3c78f2fULL, 0xe4345541c8918684ULL } };
    345    reg128_t arg2 = { .uq = { 0x721a2aa1c2f68231ULL, 0xf90d1551c8290009ULL } };
    346    reg128_t result0;
    347    char state[108];
    348 
    349    if (sigsetjmp(catchpoint, 1) == 0)
    350    {
    351       asm(
    352          "ffree %%st(7)\n"
    353          "ffree %%st(6)\n"
    354          "ffree %%st(5)\n"
    355          "ffree %%st(4)\n"
    356          "movlps 0+%1, %%xmm13\n"
    357          "movhps 8+%1, %%xmm13\n"
    358          "pclmulqdq $16, %0, %%xmm13\n"
    359          "movlps %%xmm13, 0+%2\n"
    360          "movhps %%xmm13, 8+%2\n"
    361          :
    362          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    363          : "xmm12", "xmm13"
    364       );
    365 
    366       if (result0.uq[0] == 0x11d8b7b8f72e3644ULL && result0.uq[1] == 0x2a080288f207712bULL )
    367       {
    368          printf("pclmulqdq_7 ... ok\n");
    369       }
    370       else
    371       {
    372          printf("pclmulqdq_7 ... not ok\n");
    373          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x11d8b7b8f72e3644ULL);
    374          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2a080288f207712bULL);
    375       }
    376    }
    377    else
    378    {
    379       printf("pclmulqdq_7 ... failed\n");
    380    }
    381 
    382    return;
    383 }
    384 
    385 static void pclmulqdq_8(void)
    386 {
    387    reg128_t arg1 = { .uq = { 0xbc868aa9cac23ef5ULL, 0x9e434555cc0ede67ULL } };
    388    reg128_t arg2 = { .uq = { 0x8f21a2abccb52e20ULL, 0x4790d156c50855ffULL } };
    389    reg128_t result0;
    390    char state[108];
    391 
    392    if (sigsetjmp(catchpoint, 1) == 0)
    393    {
    394       asm(
    395          "ffree %%st(7)\n"
    396          "ffree %%st(6)\n"
    397          "ffree %%st(5)\n"
    398          "ffree %%st(4)\n"
    399          "movlps 0+%1, %%xmm13\n"
    400          "movhps 8+%1, %%xmm13\n"
    401          "pclmulqdq $17, %0, %%xmm13\n"
    402          "movlps %%xmm13, 0+%2\n"
    403          "movhps %%xmm13, 8+%2\n"
    404          :
    405          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    406          : "xmm12", "xmm13"
    407       );
    408 
    409       if (result0.uq[0] == 0xd2e5bdd1665023ddULL && result0.uq[1] == 0x240dbdff7a0eb888ULL )
    410       {
    411          printf("pclmulqdq_8 ... ok\n");
    412       }
    413       else
    414       {
    415          printf("pclmulqdq_8 ... not ok\n");
    416          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd2e5bdd1665023ddULL);
    417          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x240dbdff7a0eb888ULL);
    418       }
    419    }
    420    else
    421    {
    422       printf("pclmulqdq_8 ... failed\n");
    423    }
    424 
    425    return;
    426 }
    427 
    428 static void pclmulqdq_9(void)
    429 {
    430    reg128_t arg1 = { .uq = { 0xe3c868ac4931e9ecULL, 0x71e434570346b3e5ULL } };
    431    reg128_t arg2 = { .uq = { 0xf8f21a2c685118dfULL, 0xbc790d171ad64b5cULL } };
    432    reg128_t result0;
    433    char state[108];
    434 
    435    if (sigsetjmp(catchpoint, 1) == 0)
    436    {
    437       asm(
    438          "ffree %%st(7)\n"
    439          "ffree %%st(6)\n"
    440          "ffree %%st(5)\n"
    441          "ffree %%st(4)\n"
    442          "movlps 0+%0, %%xmm12\n"
    443          "movhps 8+%0, %%xmm12\n"
    444          "movlps 0+%1, %%xmm13\n"
    445          "movhps 8+%1, %%xmm13\n"
    446          "pclmulqdq $0, %%xmm12, %%xmm13\n"
    447          "movlps %%xmm13, 0+%2\n"
    448          "movhps %%xmm13, 8+%2\n"
    449          :
    450          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    451          : "xmm12", "xmm13"
    452       );
    453 
    454       if (result0.uq[0] == 0x0eebfc038c776124ULL && result0.uq[1] == 0x5c177a6fb4d9adf2ULL )
    455       {
    456          printf("pclmulqdq_9 ... ok\n");
    457       }
    458       else
    459       {
    460          printf("pclmulqdq_9 ... not ok\n");
    461          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x0eebfc038c776124ULL);
    462          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x5c177a6fb4d9adf2ULL);
    463       }
    464    }
    465    else
    466    {
    467       printf("pclmulqdq_9 ... failed\n");
    468    }
    469 
    470    return;
    471 }
    472 
    473 static void pclmulqdq_10(void)
    474 {
    475    reg128_t arg1 = { .uq = { 0x5e3c868c6c18e49dULL, 0xef1e43471cba313bULL } };
    476    reg128_t arg2 = { .uq = { 0xb78f21a4650ad78eULL, 0x5bc790d311332ab6ULL } };
    477    reg128_t result0;
    478    char state[108];
    479 
    480    if (sigsetjmp(catchpoint, 1) == 0)
    481    {
    482       asm(
    483          "ffree %%st(7)\n"
    484          "ffree %%st(6)\n"
    485          "ffree %%st(5)\n"
    486          "ffree %%st(4)\n"
    487          "movlps 0+%0, %%xmm12\n"
    488          "movhps 8+%0, %%xmm12\n"
    489          "movlps 0+%1, %%xmm13\n"
    490          "movhps 8+%1, %%xmm13\n"
    491          "pclmulqdq $1, %%xmm12, %%xmm13\n"
    492          "movlps %%xmm13, 0+%2\n"
    493          "movhps %%xmm13, 8+%2\n"
    494          :
    495          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    496          : "xmm12", "xmm13"
    497       );
    498 
    499       if (result0.uq[0] == 0x01f223ce761bbdbeULL && result0.uq[1] == 0x1046696140e99a8dULL )
    500       {
    501          printf("pclmulqdq_10 ... ok\n");
    502       }
    503       else
    504       {
    505          printf("pclmulqdq_10 ... not ok\n");
    506          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x01f223ce761bbdbeULL);
    507          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1046696140e99a8dULL);
    508       }
    509    }
    510    else
    511    {
    512       printf("pclmulqdq_10 ... failed\n");
    513    }
    514 
    515    return;
    516 }
    517 
    518 static void pclmulqdq_11(void)
    519 {
    520    reg128_t arg1 = { .uq = { 0x2de3c86a6747544aULL, 0x16f1e43612516914ULL } };
    521    reg128_t arg2 = { .uq = { 0x0b78f21be7d67379ULL, 0xc5bc790eda98f8adULL } };
    522    reg128_t result0;
    523    char state[108];
    524 
    525    if (sigsetjmp(catchpoint, 1) == 0)
    526    {
    527       asm(
    528          "ffree %%st(7)\n"
    529          "ffree %%st(6)\n"
    530          "ffree %%st(5)\n"
    531          "ffree %%st(4)\n"
    532          "movlps 0+%0, %%xmm12\n"
    533          "movhps 8+%0, %%xmm12\n"
    534          "movlps 0+%1, %%xmm13\n"
    535          "movhps 8+%1, %%xmm13\n"
    536          "pclmulqdq $16, %%xmm12, %%xmm13\n"
    537          "movlps %%xmm13, 0+%2\n"
    538          "movhps %%xmm13, 8+%2\n"
    539          :
    540          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    541          : "xmm12", "xmm13"
    542       );
    543 
    544       if (result0.uq[0] == 0xf1b07b5d2dce2b74ULL && result0.uq[1] == 0x008a2a80a6dea4c8ULL )
    545       {
    546          printf("pclmulqdq_11 ... ok\n");
    547       }
    548       else
    549       {
    550          printf("pclmulqdq_11 ... not ok\n");
    551          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xf1b07b5d2dce2b74ULL);
    552          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x008a2a80a6dea4c8ULL);
    553       }
    554    }
    555    else
    556    {
    557       printf("pclmulqdq_11 ... failed\n");
    558    }
    559 
    560    return;
    561 }
    562 
    563 static void pclmulqdq_12(void)
    564 {
    565    reg128_t arg1 = { .uq = { 0xa2de3c8843fa3b43ULL, 0x916f1e4508aadc92ULL } };
    566    reg128_t arg2 = { .uq = { 0x48b78f2363032d38ULL, 0x245bc792902f558bULL } };
    567    reg128_t result0;
    568    char state[108];
    569 
    570    if (sigsetjmp(catchpoint, 1) == 0)
    571    {
    572       asm(
    573          "ffree %%st(7)\n"
    574          "ffree %%st(6)\n"
    575          "ffree %%st(5)\n"
    576          "ffree %%st(4)\n"
    577          "movlps 0+%0, %%xmm12\n"
    578          "movhps 8+%0, %%xmm12\n"
    579          "movlps 0+%1, %%xmm13\n"
    580          "movhps 8+%1, %%xmm13\n"
    581          "pclmulqdq $17, %%xmm12, %%xmm13\n"
    582          "movlps %%xmm13, 0+%2\n"
    583          "movhps %%xmm13, 8+%2\n"
    584          :
    585          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    586          : "xmm12", "xmm13"
    587       );
    588 
    589       if (result0.uq[0] == 0xf8b35e3453aab226ULL && result0.uq[1] == 0x10404514973eeacdULL )
    590       {
    591          printf("pclmulqdq_12 ... ok\n");
    592       }
    593       else
    594       {
    595          printf("pclmulqdq_12 ... not ok\n");
    596          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xf8b35e3453aab226ULL);
    597          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x10404514973eeacdULL);
    598       }
    599    }
    600    else
    601    {
    602       printf("pclmulqdq_12 ... failed\n");
    603    }
    604 
    605    return;
    606 }
    607 
    608 static void pclmulqdq_13(void)
    609 {
    610    reg128_t arg1 = { .uq = { 0xd22de3ca1ec569b6ULL, 0x6916f1e5ee1073caULL } };
    611    reg128_t arg2 = { .uq = { 0x348b78f3d5b5f8d4ULL, 0x1a45bc7ac988bb59ULL } };
    612    reg128_t result0;
    613    char state[108];
    614 
    615    if (sigsetjmp(catchpoint, 1) == 0)
    616    {
    617       asm(
    618          "ffree %%st(7)\n"
    619          "ffree %%st(6)\n"
    620          "ffree %%st(5)\n"
    621          "ffree %%st(4)\n"
    622          "movlps 0+%1, %%xmm13\n"
    623          "movhps 8+%1, %%xmm13\n"
    624          "pclmulqdq $0, %0, %%xmm13\n"
    625          "movlps %%xmm13, 0+%2\n"
    626          "movhps %%xmm13, 8+%2\n"
    627          :
    628          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    629          : "xmm12", "xmm13"
    630       );
    631 
    632       if (result0.uq[0] == 0x6e44f4974d351b38ULL && result0.uq[1] == 0x14410114bf2270eaULL )
    633       {
    634          printf("pclmulqdq_13 ... ok\n");
    635       }
    636       else
    637       {
    638          printf("pclmulqdq_13 ... not ok\n");
    639          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6e44f4974d351b38ULL);
    640          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x14410114bf2270eaULL);
    641       }
    642    }
    643    else
    644    {
    645       printf("pclmulqdq_13 ... failed\n");
    646    }
    647 
    648    return;
    649 }
    650 
    651 static void pclmulqdq_14(void)
    652 {
    653    reg128_t arg1 = { .uq = { 0xcd22de3e4b721c9dULL, 0xa6916f200c66cd3bULL } };
    654    reg128_t arg2 = { .uq = { 0x9348b790ece1258eULL, 0x49a45bc9551e51b6ULL } };
    655    reg128_t result0;
    656    char state[108];
    657 
    658    if (sigsetjmp(catchpoint, 1) == 0)
    659    {
    660       asm(
    661          "ffree %%st(7)\n"
    662          "ffree %%st(6)\n"
    663          "ffree %%st(5)\n"
    664          "ffree %%st(4)\n"
    665          "movlps 0+%1, %%xmm13\n"
    666          "movhps 8+%1, %%xmm13\n"
    667          "pclmulqdq $1, %0, %%xmm13\n"
    668          "movlps %%xmm13, 0+%2\n"
    669          "movhps %%xmm13, 8+%2\n"
    670          :
    671          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    672          : "xmm12", "xmm13"
    673       );
    674 
    675       if (result0.uq[0] == 0xd9ebb20510c452beULL && result0.uq[1] == 0x3590bae854a1ffd5ULL )
    676       {
    677          printf("pclmulqdq_14 ... ok\n");
    678       }
    679       else
    680       {
    681          printf("pclmulqdq_14 ... not ok\n");
    682          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd9ebb20510c452beULL);
    683          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3590bae854a1ffd5ULL);
    684       }
    685    }
    686    else
    687    {
    688       printf("pclmulqdq_14 ... failed\n");
    689    }
    690 
    691    return;
    692 }
    693 
    694 static void pclmulqdq_15(void)
    695 {
    696    reg128_t arg1 = { .uq = { 0x24d22de5893ce7caULL, 0x126916f3a34c32d4ULL } };
    697    reg128_t arg2 = { .uq = { 0x09348b7ab053d859ULL, 0xc49a45be2ed7ab1dULL } };
    698    reg128_t result0;
    699    char state[108];
    700 
    701    if (sigsetjmp(catchpoint, 1) == 0)
    702    {
    703       asm(
    704          "ffree %%st(7)\n"
    705          "ffree %%st(6)\n"
    706          "ffree %%st(5)\n"
    707          "ffree %%st(4)\n"
    708          "movlps 0+%1, %%xmm13\n"
    709          "movhps 8+%1, %%xmm13\n"
    710          "pclmulqdq $16, %0, %%xmm13\n"
    711          "movlps %%xmm13, 0+%2\n"
    712          "movhps %%xmm13, 8+%2\n"
    713          :
    714          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    715          : "xmm12", "xmm13"
    716       );
    717 
    718       if (result0.uq[0] == 0xeb5e5f29e6badc34ULL && result0.uq[1] == 0x00820a20b0fa8cedULL )
    719       {
    720          printf("pclmulqdq_15 ... ok\n");
    721       }
    722       else
    723       {
    724          printf("pclmulqdq_15 ... not ok\n");
    725          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xeb5e5f29e6badc34ULL);
    726          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x00820a20b0fa8cedULL);
    727       }
    728    }
    729    else
    730    {
    731       printf("pclmulqdq_15 ... failed\n");
    732    }
    733 
    734    return;
    735 }
    736 
    737 static void pclmulqdq_16(void)
    738 {
    739    reg128_t arg1 = { .uq = { 0xa24d22dffe19947bULL, 0x91269170d5ba892eULL } };
    740    reg128_t arg2 = { .uq = { 0x489348b9498b0386ULL, 0x2449a45d837340b2ULL } };
    741    reg128_t result0;
    742    char state[108];
    743 
    744    if (sigsetjmp(catchpoint, 1) == 0)
    745    {
    746       asm(
    747          "ffree %%st(7)\n"
    748          "ffree %%st(6)\n"
    749          "ffree %%st(5)\n"
    750          "ffree %%st(4)\n"
    751          "movlps 0+%1, %%xmm13\n"
    752          "movhps 8+%1, %%xmm13\n"
    753          "pclmulqdq $17, %0, %%xmm13\n"
    754          "movlps %%xmm13, 0+%2\n"
    755          "movhps %%xmm13, 8+%2\n"
    756          :
    757          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    758          : "xmm12", "xmm13"
    759       );
    760 
    761       if (result0.uq[0] == 0x1934a4ec2d51b27cULL && result0.uq[1] == 0x10404105d1aac198ULL )
    762       {
    763          printf("pclmulqdq_16 ... ok\n");
    764       }
    765       else
    766       {
    767          printf("pclmulqdq_16 ... not ok\n");
    768          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1934a4ec2d51b27cULL);
    769          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x10404105d1aac198ULL);
    770       }
    771    }
    772    else
    773    {
    774       printf("pclmulqdq_16 ... failed\n");
    775    }
    776 
    777    return;
    778 }
    779 
    780 static void pclmulqdq_17(void)
    781 {
    782    reg128_t arg1 = { .uq = { 0x1224d22fa0675f48ULL, 0x09126918aee16e93ULL } };
    783    reg128_t arg2 = { .uq = { 0xc489348d3e1e763aULL, 0x62449a477dbcfa0cULL } };
    784    reg128_t result0;
    785    char state[108];
    786 
    787    if (sigsetjmp(catchpoint, 1) == 0)
    788    {
    789       asm(
    790          "ffree %%st(7)\n"
    791          "ffree %%st(6)\n"
    792          "ffree %%st(5)\n"
    793          "ffree %%st(4)\n"
    794          "movlps 0+%0, %%xmm12\n"
    795          "movhps 8+%0, %%xmm12\n"
    796          "movlps 0+%1, %%xmm13\n"
    797          "movhps 8+%1, %%xmm13\n"
    798          "pclmulqdq $0, %%xmm12, %%xmm13\n"
    799          "movlps %%xmm13, 0+%2\n"
    800          "movhps %%xmm13, 8+%2\n"
    801          :
    802          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    803          : "xmm12", "xmm13"
    804       );
    805 
    806       if (result0.uq[0] == 0x1411baeeee166950ULL && result0.uq[1] == 0x0dda5c984c642a65ULL )
    807       {
    808          printf("pclmulqdq_17 ... ok\n");
    809       }
    810       else
    811       {
    812          printf("pclmulqdq_17 ... not ok\n");
    813          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1411baeeee166950ULL);
    814          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0dda5c984c642a65ULL);
    815       }
    816    }
    817    else
    818    {
    819       printf("pclmulqdq_17 ... failed\n");
    820    }
    821 
    822    return;
    823 }
    824 
    825 static void pclmulqdq_18(void)
    826 {
    827    reg128_t arg1 = { .uq = { 0x31224d249d8c3bf5ULL, 0xd89126932573dce7ULL } };
    828    reg128_t arg2 = { .uq = { 0xac48934a7967ad60ULL, 0x562449a61b61959fULL } };
    829    reg128_t result0;
    830    char state[108];
    831 
    832    if (sigsetjmp(catchpoint, 1) == 0)
    833    {
    834       asm(
    835          "ffree %%st(7)\n"
    836          "ffree %%st(6)\n"
    837          "ffree %%st(5)\n"
    838          "ffree %%st(4)\n"
    839          "movlps 0+%0, %%xmm12\n"
    840          "movhps 8+%0, %%xmm12\n"
    841          "movlps 0+%1, %%xmm13\n"
    842          "movhps 8+%1, %%xmm13\n"
    843          "pclmulqdq $1, %%xmm12, %%xmm13\n"
    844          "movlps %%xmm13, 0+%2\n"
    845          "movhps %%xmm13, 8+%2\n"
    846          :
    847          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    848          : "xmm12", "xmm13"
    849       );
    850 
    851       if (result0.uq[0] == 0xf21b031e1f9fc8b3ULL && result0.uq[1] == 0x0ffa971b97fa8b81ULL )
    852       {
    853          printf("pclmulqdq_18 ... ok\n");
    854       }
    855       else
    856       {
    857          printf("pclmulqdq_18 ... not ok\n");
    858          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xf21b031e1f9fc8b3ULL);
    859          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0ffa971b97fa8b81ULL);
    860       }
    861    }
    862    else
    863    {
    864       printf("pclmulqdq_18 ... failed\n");
    865    }
    866 
    867    return;
    868 }
    869 
    870 static void pclmulqdq_19(void)
    871 {
    872    reg128_t arg1 = { .uq = { 0xeb1224d3e45e89bcULL, 0x7589126ad0dd03cdULL } };
    873    reg128_t arg2 = { .uq = { 0xfac489363f1c40d3ULL, 0xbd62449bf63bdf5aULL } };
    874    reg128_t result0;
    875    char state[108];
    876 
    877    if (sigsetjmp(catchpoint, 1) == 0)
    878    {
    879       asm(
    880          "ffree %%st(7)\n"
    881          "ffree %%st(6)\n"
    882          "ffree %%st(5)\n"
    883          "ffree %%st(4)\n"
    884          "movlps 0+%0, %%xmm12\n"
    885          "movhps 8+%0, %%xmm12\n"
    886          "movlps 0+%1, %%xmm13\n"
    887          "movhps 8+%1, %%xmm13\n"
    888          "pclmulqdq $16, %%xmm12, %%xmm13\n"
    889          "movlps %%xmm13, 0+%2\n"
    890          "movhps %%xmm13, 8+%2\n"
    891          :
    892          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    893          : "xmm12", "xmm13"
    894       );
    895 
    896       if (result0.uq[0] == 0x751e203b33096d47ULL && result0.uq[1] == 0x2d2e6d8fd926d075ULL )
    897       {
    898          printf("pclmulqdq_19 ... ok\n");
    899       }
    900       else
    901       {
    902          printf("pclmulqdq_19 ... not ok\n");
    903          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x751e203b33096d47ULL);
    904          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2d2e6d8fd926d075ULL);
    905       }
    906    }
    907    else
    908    {
    909       printf("pclmulqdq_19 ... failed\n");
    910    }
    911 
    912    return;
    913 }
    914 
    915 static void pclmulqdq_20(void)
    916 {
    917    reg128_t arg1 = { .uq = { 0x5eb1224ed9cbae9cULL, 0x2f5891284b93963dULL } };
    918    reg128_t arg2 = { .uq = { 0xd7ac48950c778a0bULL, 0xabd6244b6ce983f6ULL } };
    919    reg128_t result0;
    920    char state[108];
    921 
    922    if (sigsetjmp(catchpoint, 1) == 0)
    923    {
    924       asm(
    925          "ffree %%st(7)\n"
    926          "ffree %%st(6)\n"
    927          "ffree %%st(5)\n"
    928          "ffree %%st(4)\n"
    929          "movlps 0+%0, %%xmm12\n"
    930          "movhps 8+%0, %%xmm12\n"
    931          "movlps 0+%1, %%xmm13\n"
    932          "movhps 8+%1, %%xmm13\n"
    933          "pclmulqdq $17, %%xmm12, %%xmm13\n"
    934          "movlps %%xmm13, 0+%2\n"
    935          "movhps %%xmm13, 8+%2\n"
    936          :
    937          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    938          : "xmm12", "xmm13"
    939       );
    940 
    941       if (result0.uq[0] == 0x6c7f0f43ad1d863eULL && result0.uq[1] == 0x13521ee11ef3275eULL )
    942       {
    943          printf("pclmulqdq_20 ... ok\n");
    944       }
    945       else
    946       {
    947          printf("pclmulqdq_20 ... not ok\n");
    948          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6c7f0f43ad1d863eULL);
    949          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x13521ee11ef3275eULL);
    950       }
    951    }
    952    else
    953    {
    954       printf("pclmulqdq_20 ... failed\n");
    955    }
    956 
    957    return;
    958 }
    959 
    960 static void pclmulqdq_21(void)
    961 {
    962    reg128_t arg1 = { .uq = { 0x55eb1226952280eaULL, 0x2af58914293eff64ULL } };
    963    reg128_t arg2 = { .uq = { 0x157ac48af34d3ea1ULL, 0xcabd624650545e41ULL } };
    964    reg128_t result0;
    965    char state[108];
    966 
    967    if (sigsetjmp(catchpoint, 1) == 0)
    968    {
    969       asm(
    970          "ffree %%st(7)\n"
    971          "ffree %%st(6)\n"
    972          "ffree %%st(5)\n"
    973          "ffree %%st(4)\n"
    974          "movlps 0+%1, %%xmm13\n"
    975          "movhps 8+%1, %%xmm13\n"
    976          "pclmulqdq $0, %0, %%xmm13\n"
    977          "movlps %%xmm13, 0+%2\n"
    978          "movhps %%xmm13, 8+%2\n"
    979          :
    980          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
    981          : "xmm12", "xmm13"
    982       );
    983 
    984       if (result0.uq[0] == 0x249f99dae3b624aaULL && result0.uq[1] == 0x04445511afa5163bULL )
    985       {
    986          printf("pclmulqdq_21 ... ok\n");
    987       }
    988       else
    989       {
    990          printf("pclmulqdq_21 ... not ok\n");
    991          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x249f99dae3b624aaULL);
    992          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x04445511afa5163bULL);
    993       }
    994    }
    995    else
    996    {
    997       printf("pclmulqdq_21 ... failed\n");
    998    }
    999 
   1000    return;
   1001 }
   1002 
   1003 static void pclmulqdq_22(void)
   1004 {
   1005    reg128_t arg1 = { .uq = { 0xa55eb123fed7ee11ULL, 0x92af5892d619b5f9ULL } };
   1006    reg128_t arg2 = { .uq = { 0x8957ac4a41ba99edULL, 0x84abd626078b0be3ULL } };
   1007    reg128_t result0;
   1008    char state[108];
   1009 
   1010    if (sigsetjmp(catchpoint, 1) == 0)
   1011    {
   1012       asm(
   1013          "ffree %%st(7)\n"
   1014          "ffree %%st(6)\n"
   1015          "ffree %%st(5)\n"
   1016          "ffree %%st(4)\n"
   1017          "movlps 0+%1, %%xmm13\n"
   1018          "movhps 8+%1, %%xmm13\n"
   1019          "pclmulqdq $1, %0, %%xmm13\n"
   1020          "movlps %%xmm13, 0+%2\n"
   1021          "movhps %%xmm13, 8+%2\n"
   1022          :
   1023          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1024          : "xmm12", "xmm13"
   1025       );
   1026 
   1027       if (result0.uq[0] == 0x98f8fc12fdf0c7d3ULL && result0.uq[1] == 0x507891a8303b6e0dULL )
   1028       {
   1029          printf("pclmulqdq_22 ... ok\n");
   1030       }
   1031       else
   1032       {
   1033          printf("pclmulqdq_22 ... not ok\n");
   1034          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x98f8fc12fdf0c7d3ULL);
   1035          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x507891a8303b6e0dULL);
   1036       }
   1037    }
   1038    else
   1039    {
   1040       printf("pclmulqdq_22 ... failed\n");
   1041    }
   1042 
   1043    return;
   1044 }
   1045 
   1046 static void pclmulqdq_23(void)
   1047 {
   1048    reg128_t arg1 = { .uq = { 0x8255eb13ea7344e2ULL, 0x412af58ad3e76160ULL } };
   1049    reg128_t arg2 = { .uq = { 0x20957ac648a16f9fULL, 0xd04abd640afe76bcULL } };
   1050    reg128_t result0;
   1051    char state[108];
   1052 
   1053    if (sigsetjmp(catchpoint, 1) == 0)
   1054    {
   1055       asm(
   1056          "ffree %%st(7)\n"
   1057          "ffree %%st(6)\n"
   1058          "ffree %%st(5)\n"
   1059          "ffree %%st(4)\n"
   1060          "movlps 0+%1, %%xmm13\n"
   1061          "movhps 8+%1, %%xmm13\n"
   1062          "pclmulqdq $16, %0, %%xmm13\n"
   1063          "movlps %%xmm13, 0+%2\n"
   1064          "movhps %%xmm13, 8+%2\n"
   1065          :
   1066          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1067          : "xmm12", "xmm13"
   1068       );
   1069 
   1070       if (result0.uq[0] == 0x5d4e25af2f70ab20ULL && result0.uq[1] == 0x08008222e18727b6ULL )
   1071       {
   1072          printf("pclmulqdq_23 ... ok\n");
   1073       }
   1074       else
   1075       {
   1076          printf("pclmulqdq_23 ... not ok\n");
   1077          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5d4e25af2f70ab20ULL);
   1078          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x08008222e18727b6ULL);
   1079       }
   1080    }
   1081    else
   1082    {
   1083       printf("pclmulqdq_23 ... failed\n");
   1084    }
   1085 
   1086    return;
   1087 }
   1088 
   1089 static void pclmulqdq_24(void)
   1090 {
   1091    reg128_t arg1 = { .uq = { 0x68255eb2e42cfa4dULL, 0xf412af5a58c43c13ULL } };
   1092    reg128_t arg2 = { .uq = { 0xba0957ae030fdcfaULL, 0x5d04abd7e035ad6cULL } };
   1093    reg128_t result0;
   1094    char state[108];
   1095 
   1096    if (sigsetjmp(catchpoint, 1) == 0)
   1097    {
   1098       asm(
   1099          "ffree %%st(7)\n"
   1100          "ffree %%st(6)\n"
   1101          "ffree %%st(5)\n"
   1102          "ffree %%st(4)\n"
   1103          "movlps 0+%1, %%xmm13\n"
   1104          "movhps 8+%1, %%xmm13\n"
   1105          "pclmulqdq $17, %0, %%xmm13\n"
   1106          "movlps %%xmm13, 0+%2\n"
   1107          "movhps %%xmm13, 8+%2\n"
   1108          :
   1109          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1110          : "xmm12", "xmm13"
   1111       );
   1112 
   1113       if (result0.uq[0] == 0xa2f470774f11b174ULL && result0.uq[1] == 0x36c2fe7c16d26dabULL )
   1114       {
   1115          printf("pclmulqdq_24 ... ok\n");
   1116       }
   1117       else
   1118       {
   1119          printf("pclmulqdq_24 ... not ok\n");
   1120          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xa2f470774f11b174ULL);
   1121          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x36c2fe7c16d26dabULL);
   1122       }
   1123    }
   1124    else
   1125    {
   1126       printf("pclmulqdq_24 ... failed\n");
   1127    }
   1128 
   1129    return;
   1130 }
   1131 
   1132 static void pclmulqdq_25(void)
   1133 {
   1134    reg128_t arg1 = { .uq = { 0x2e8255eccec895a5ULL, 0xd7412af74e1209bfULL } };
   1135    reg128_t arg2 = { .uq = { 0xaba0957c8db6c3ccULL, 0x55d04abf258920d5ULL } };
   1136    reg128_t result0;
   1137    char state[108];
   1138 
   1139    if (sigsetjmp(catchpoint, 1) == 0)
   1140    {
   1141       asm(
   1142          "ffree %%st(7)\n"
   1143          "ffree %%st(6)\n"
   1144          "ffree %%st(5)\n"
   1145          "ffree %%st(4)\n"
   1146          "movlps 0+%0, %%xmm12\n"
   1147          "movhps 8+%0, %%xmm12\n"
   1148          "movlps 0+%1, %%xmm13\n"
   1149          "movhps 8+%1, %%xmm13\n"
   1150          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   1151          "movlps %%xmm13, 0+%2\n"
   1152          "movhps %%xmm13, 8+%2\n"
   1153          :
   1154          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1155          : "xmm12", "xmm13"
   1156       );
   1157 
   1158       if (result0.uq[0] == 0xc3db9ad675a26f7cULL && result0.uq[1] == 0x1384704a229c5d7fULL )
   1159       {
   1160          printf("pclmulqdq_25 ... ok\n");
   1161       }
   1162       else
   1163       {
   1164          printf("pclmulqdq_25 ... not ok\n");
   1165          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xc3db9ad675a26f7cULL);
   1166          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1384704a229c5d7fULL);
   1167       }
   1168    }
   1169    else
   1170    {
   1171       printf("pclmulqdq_25 ... failed\n");
   1172    }
   1173 
   1174    return;
   1175 }
   1176 
   1177 static void pclmulqdq_26(void)
   1178 {
   1179    reg128_t arg1 = { .uq = { 0xeae8256079724f57ULL, 0xb57412b11366e698ULL } };
   1180    reg128_t arg2 = { .uq = { 0x5aba09596861323bULL, 0xed5d04ad9ade580eULL } };
   1181    reg128_t result0;
   1182    char state[108];
   1183 
   1184    if (sigsetjmp(catchpoint, 1) == 0)
   1185    {
   1186       asm(
   1187          "ffree %%st(7)\n"
   1188          "ffree %%st(6)\n"
   1189          "ffree %%st(5)\n"
   1190          "ffree %%st(4)\n"
   1191          "movlps 0+%0, %%xmm12\n"
   1192          "movhps 8+%0, %%xmm12\n"
   1193          "movlps 0+%1, %%xmm13\n"
   1194          "movhps 8+%1, %%xmm13\n"
   1195          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   1196          "movlps %%xmm13, 0+%2\n"
   1197          "movhps %%xmm13, 8+%2\n"
   1198          :
   1199          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1200          : "xmm12", "xmm13"
   1201       );
   1202 
   1203       if (result0.uq[0] == 0x631d20044d9fd14aULL && result0.uq[1] == 0x56b5179ab8f1355fULL )
   1204       {
   1205          printf("pclmulqdq_26 ... ok\n");
   1206       }
   1207       else
   1208       {
   1209          printf("pclmulqdq_26 ... not ok\n");
   1210          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x631d20044d9fd14aULL);
   1211          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x56b5179ab8f1355fULL);
   1212       }
   1213    }
   1214    else
   1215    {
   1216       printf("pclmulqdq_26 ... failed\n");
   1217    }
   1218 
   1219    return;
   1220 }
   1221 
   1222 static void pclmulqdq_27(void)
   1223 {
   1224    reg128_t arg1 = { .uq = { 0x76ae8257ac1ceaf6ULL, 0x3b57412cb4bc346aULL } };
   1225    reg128_t arg2 = { .uq = { 0x1daba097390bd924ULL, 0x0ed5d04c7b33ab81ULL } };
   1226    reg128_t result0;
   1227    char state[108];
   1228 
   1229    if (sigsetjmp(catchpoint, 1) == 0)
   1230    {
   1231       asm(
   1232          "ffree %%st(7)\n"
   1233          "ffree %%st(6)\n"
   1234          "ffree %%st(5)\n"
   1235          "ffree %%st(4)\n"
   1236          "movlps 0+%0, %%xmm12\n"
   1237          "movhps 8+%0, %%xmm12\n"
   1238          "movlps 0+%1, %%xmm13\n"
   1239          "movhps 8+%1, %%xmm13\n"
   1240          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   1241          "movlps %%xmm13, 0+%2\n"
   1242          "movhps %%xmm13, 8+%2\n"
   1243          :
   1244          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1245          : "xmm12", "xmm13"
   1246       );
   1247 
   1248       if (result0.uq[0] == 0x43140ac0e96646e8ULL && result0.uq[1] == 0x02a2888abaa8a737ULL )
   1249       {
   1250          printf("pclmulqdq_27 ... ok\n");
   1251       }
   1252       else
   1253       {
   1254          printf("pclmulqdq_27 ... not ok\n");
   1255          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x43140ac0e96646e8ULL);
   1256          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x02a2888abaa8a737ULL);
   1257       }
   1258    }
   1259    else
   1260    {
   1261       printf("pclmulqdq_27 ... failed\n");
   1262    }
   1263 
   1264    return;
   1265 }
   1266 
   1267 static void pclmulqdq_28(void)
   1268 {
   1269    reg128_t arg1 = { .uq = { 0xc76ae827144794b1ULL, 0xa3b5741460d18949ULL } };
   1270    reg128_t arg2 = { .uq = { 0x91daba0b17168395ULL, 0x88ed5d06623900b7ULL } };
   1271    reg128_t result0;
   1272    char state[108];
   1273 
   1274    if (sigsetjmp(catchpoint, 1) == 0)
   1275    {
   1276       asm(
   1277          "ffree %%st(7)\n"
   1278          "ffree %%st(6)\n"
   1279          "ffree %%st(5)\n"
   1280          "ffree %%st(4)\n"
   1281          "movlps 0+%0, %%xmm12\n"
   1282          "movhps 8+%0, %%xmm12\n"
   1283          "movlps 0+%1, %%xmm13\n"
   1284          "movhps 8+%1, %%xmm13\n"
   1285          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   1286          "movlps %%xmm13, 0+%2\n"
   1287          "movhps %%xmm13, 8+%2\n"
   1288          :
   1289          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1290          : "xmm12", "xmm13"
   1291       );
   1292 
   1293       if (result0.uq[0] == 0x84dbc63cd168a7cfULL && result0.uq[1] == 0x54ad45cd2f140103ULL )
   1294       {
   1295          printf("pclmulqdq_28 ... ok\n");
   1296       }
   1297       else
   1298       {
   1299          printf("pclmulqdq_28 ... not ok\n");
   1300          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x84dbc63cd168a7cfULL);
   1301          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x54ad45cd2f140103ULL);
   1302       }
   1303    }
   1304    else
   1305    {
   1306       printf("pclmulqdq_28 ... failed\n");
   1307    }
   1308 
   1309    return;
   1310 }
   1311 
   1312 static void pclmulqdq_29(void)
   1313 {
   1314    reg128_t arg1 = { .uq = { 0x8476ae8417ca3f48ULL, 0x423b5742ea92de93ULL } };
   1315    reg128_t arg2 = { .uq = { 0xe11daba25bf72e3aULL, 0x708ed5d20ca9560cULL } };
   1316    reg128_t result0;
   1317    char state[108];
   1318 
   1319    if (sigsetjmp(catchpoint, 1) == 0)
   1320    {
   1321       asm(
   1322          "ffree %%st(7)\n"
   1323          "ffree %%st(6)\n"
   1324          "ffree %%st(5)\n"
   1325          "ffree %%st(4)\n"
   1326          "movlps 0+%1, %%xmm13\n"
   1327          "movhps 8+%1, %%xmm13\n"
   1328          "pclmulqdq $0, %0, %%xmm13\n"
   1329          "movlps %%xmm13, 0+%2\n"
   1330          "movhps %%xmm13, 8+%2\n"
   1331          :
   1332          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1333          : "xmm12", "xmm13"
   1334       );
   1335 
   1336       if (result0.uq[0] == 0x2f6fd6d371c96950ULL && result0.uq[1] == 0x7322f9a7bdfbf7ceULL )
   1337       {
   1338          printf("pclmulqdq_29 ... ok\n");
   1339       }
   1340       else
   1341       {
   1342          printf("pclmulqdq_29 ... not ok\n");
   1343          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x2f6fd6d371c96950ULL);
   1344          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7322f9a7bdfbf7ceULL);
   1345       }
   1346    }
   1347    else
   1348    {
   1349       printf("pclmulqdq_29 ... failed\n");
   1350    }
   1351 
   1352    return;
   1353 }
   1354 
   1355 static void pclmulqdq_30(void)
   1356 {
   1357    reg128_t arg1 = { .uq = { 0x38476ae9e50269f5ULL, 0xdc23b575d92ef3e7ULL } };
   1358    reg128_t arg2 = { .uq = { 0xae11dabbc34538e0ULL, 0x5708ed5ec0505b5fULL } };
   1359    reg128_t result0;
   1360    char state[108];
   1361 
   1362    if (sigsetjmp(catchpoint, 1) == 0)
   1363    {
   1364       asm(
   1365          "ffree %%st(7)\n"
   1366          "ffree %%st(6)\n"
   1367          "ffree %%st(5)\n"
   1368          "ffree %%st(4)\n"
   1369          "movlps 0+%1, %%xmm13\n"
   1370          "movhps 8+%1, %%xmm13\n"
   1371          "pclmulqdq $1, %0, %%xmm13\n"
   1372          "movlps %%xmm13, 0+%2\n"
   1373          "movhps %%xmm13, 8+%2\n"
   1374          :
   1375          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1376          : "xmm12", "xmm13"
   1377       );
   1378 
   1379       if (result0.uq[0] == 0x36ab4b9f08a71773ULL && result0.uq[1] == 0x0d3dae161adae679ULL )
   1380       {
   1381          printf("pclmulqdq_30 ... ok\n");
   1382       }
   1383       else
   1384       {
   1385          printf("pclmulqdq_30 ... not ok\n");
   1386          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x36ab4b9f08a71773ULL);
   1387          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0d3dae161adae679ULL);
   1388       }
   1389    }
   1390    else
   1391    {
   1392       printf("pclmulqdq_30 ... failed\n");
   1393    }
   1394 
   1395    return;
   1396 }
   1397 
   1398 static void pclmulqdq_31(void)
   1399 {
   1400    reg128_t arg1 = { .uq = { 0xeb8476b046d5ec9cULL, 0x75c23b590218b53dULL } };
   1401    reg128_t arg2 = { .uq = { 0xfae11dad67ba198bULL, 0xbd708ed79a8acbb6ULL } };
   1402    reg128_t result0;
   1403    char state[108];
   1404 
   1405    if (sigsetjmp(catchpoint, 1) == 0)
   1406    {
   1407       asm(
   1408          "ffree %%st(7)\n"
   1409          "ffree %%st(6)\n"
   1410          "ffree %%st(5)\n"
   1411          "ffree %%st(4)\n"
   1412          "movlps 0+%1, %%xmm13\n"
   1413          "movhps 8+%1, %%xmm13\n"
   1414          "pclmulqdq $16, %0, %%xmm13\n"
   1415          "movlps %%xmm13, 0+%2\n"
   1416          "movhps %%xmm13, 8+%2\n"
   1417          :
   1418          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1419          : "xmm12", "xmm13"
   1420       );
   1421 
   1422       if (result0.uq[0] == 0x90ab3040b69bed2fULL && result0.uq[1] == 0x2d193b789ecdb8bfULL )
   1423       {
   1424          printf("pclmulqdq_31 ... ok\n");
   1425       }
   1426       else
   1427       {
   1428          printf("pclmulqdq_31 ... not ok\n");
   1429          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x90ab3040b69bed2fULL);
   1430          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2d193b789ecdb8bfULL);
   1431       }
   1432    }
   1433    else
   1434    {
   1435       printf("pclmulqdq_31 ... failed\n");
   1436    }
   1437 
   1438    return;
   1439 }
   1440 
   1441 static void pclmulqdq_32(void)
   1442 {
   1443    reg128_t arg1 = { .uq = { 0x5eb8476cabf324caULL, 0x2f5c23b734a75154ULL } };
   1444    reg128_t arg2 = { .uq = { 0x17ae11dc79016799ULL, 0xcbd708ef132e72bdULL } };
   1445    reg128_t result0;
   1446    char state[108];
   1447 
   1448    if (sigsetjmp(catchpoint, 1) == 0)
   1449    {
   1450       asm(
   1451          "ffree %%st(7)\n"
   1452          "ffree %%st(6)\n"
   1453          "ffree %%st(5)\n"
   1454          "ffree %%st(4)\n"
   1455          "movlps 0+%1, %%xmm13\n"
   1456          "movhps 8+%1, %%xmm13\n"
   1457          "pclmulqdq $17, %0, %%xmm13\n"
   1458          "movlps %%xmm13, 0+%2\n"
   1459          "movhps %%xmm13, 8+%2\n"
   1460          :
   1461          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1462          : "xmm12", "xmm13"
   1463       );
   1464 
   1465       if (result0.uq[0] == 0x58394f2a30276364ULL && result0.uq[1] == 0x1d6c5d6217d64627ULL )
   1466       {
   1467          printf("pclmulqdq_32 ... ok\n");
   1468       }
   1469       else
   1470       {
   1471          printf("pclmulqdq_32 ... not ok\n");
   1472          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x58394f2a30276364ULL);
   1473          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1d6c5d6217d64627ULL);
   1474       }
   1475    }
   1476    else
   1477    {
   1478       printf("pclmulqdq_32 ... failed\n");
   1479    }
   1480 
   1481    return;
   1482 }
   1483 
   1484 static void pclmulqdq_33(void)
   1485 {
   1486    reg128_t arg1 = { .uq = { 0xa5eb84786044f84bULL, 0x92f5c23d16d03b16ULL } };
   1487    reg128_t arg2 = { .uq = { 0x497ae11f6a15dc7aULL, 0x24bd709093b8ad2cULL } };
   1488    reg128_t result0;
   1489    char state[108];
   1490 
   1491    if (sigsetjmp(catchpoint, 1) == 0)
   1492    {
   1493       asm(
   1494          "ffree %%st(7)\n"
   1495          "ffree %%st(6)\n"
   1496          "ffree %%st(5)\n"
   1497          "ffree %%st(4)\n"
   1498          "movlps 0+%0, %%xmm12\n"
   1499          "movhps 8+%0, %%xmm12\n"
   1500          "movlps 0+%1, %%xmm13\n"
   1501          "movhps 8+%1, %%xmm13\n"
   1502          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   1503          "movlps %%xmm13, 0+%2\n"
   1504          "movhps %%xmm13, 8+%2\n"
   1505          :
   1506          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1507          : "xmm12", "xmm13"
   1508       );
   1509 
   1510       if (result0.uq[0] == 0xa19f5f3d150729deULL && result0.uq[1] == 0x2cc3c480d7262702ULL )
   1511       {
   1512          printf("pclmulqdq_33 ... ok\n");
   1513       }
   1514       else
   1515       {
   1516          printf("pclmulqdq_33 ... not ok\n");
   1517          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xa19f5f3d150729deULL);
   1518          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2cc3c480d7262702ULL);
   1519       }
   1520    }
   1521    else
   1522    {
   1523       printf("pclmulqdq_33 ... failed\n");
   1524    }
   1525 
   1526    return;
   1527 }
   1528 
   1529 static void pclmulqdq_34(void)
   1530 {
   1531    reg128_t arg1 = { .uq = { 0x125eb849288a1585ULL, 0xc92f5c257af2c9afULL } };
   1532    reg128_t arg2 = { .uq = { 0xa497ae13942723c4ULL, 0x524bd70aa8c150d1ULL } };
   1533    reg128_t result0;
   1534    char state[108];
   1535 
   1536    if (sigsetjmp(catchpoint, 1) == 0)
   1537    {
   1538       asm(
   1539          "ffree %%st(7)\n"
   1540          "ffree %%st(6)\n"
   1541          "ffree %%st(5)\n"
   1542          "ffree %%st(4)\n"
   1543          "movlps 0+%0, %%xmm12\n"
   1544          "movhps 8+%0, %%xmm12\n"
   1545          "movlps 0+%1, %%xmm13\n"
   1546          "movhps 8+%1, %%xmm13\n"
   1547          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   1548          "movlps %%xmm13, 0+%2\n"
   1549          "movhps %%xmm13, 8+%2\n"
   1550          :
   1551          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1552          : "xmm12", "xmm13"
   1553       );
   1554 
   1555       if (result0.uq[0] == 0xd86609565dd8fe15ULL && result0.uq[1] == 0x0592c7bc6f0bff4bULL )
   1556       {
   1557          printf("pclmulqdq_34 ... ok\n");
   1558       }
   1559       else
   1560       {
   1561          printf("pclmulqdq_34 ... not ok\n");
   1562          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd86609565dd8fe15ULL);
   1563          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0592c7bc6f0bff4bULL);
   1564       }
   1565    }
   1566    else
   1567    {
   1568       printf("pclmulqdq_34 ... failed\n");
   1569    }
   1570 
   1571    return;
   1572 }
   1573 
   1574 static void pclmulqdq_35(void)
   1575 {
   1576    reg128_t arg1 = { .uq = { 0xe925eb863b0e6759ULL, 0xb492f5c3f434f29dULL } };
   1577    reg128_t arg2 = { .uq = { 0x9a497ae2d0c8383bULL, 0x8d24bd723f11db0eULL } };
   1578    reg128_t result0;
   1579    char state[108];
   1580 
   1581    if (sigsetjmp(catchpoint, 1) == 0)
   1582    {
   1583       asm(
   1584          "ffree %%st(7)\n"
   1585          "ffree %%st(6)\n"
   1586          "ffree %%st(5)\n"
   1587          "ffree %%st(4)\n"
   1588          "movlps 0+%0, %%xmm12\n"
   1589          "movhps 8+%0, %%xmm12\n"
   1590          "movlps 0+%1, %%xmm13\n"
   1591          "movhps 8+%1, %%xmm13\n"
   1592          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   1593          "movlps %%xmm13, 0+%2\n"
   1594          "movhps %%xmm13, 8+%2\n"
   1595          :
   1596          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1597          : "xmm12", "xmm13"
   1598       );
   1599 
   1600       if (result0.uq[0] == 0x5a7c0b0663ed613fULL && result0.uq[1] == 0x55e5e712e20a7f3dULL )
   1601       {
   1602          printf("pclmulqdq_35 ... ok\n");
   1603       }
   1604       else
   1605       {
   1606          printf("pclmulqdq_35 ... not ok\n");
   1607          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5a7c0b0663ed613fULL);
   1608          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x55e5e712e20a7f3dULL);
   1609       }
   1610    }
   1611    else
   1612    {
   1613       printf("pclmulqdq_35 ... failed\n");
   1614    }
   1615 
   1616    return;
   1617 }
   1618 
   1619 static void pclmulqdq_36(void)
   1620 {
   1621    reg128_t arg1 = { .uq = { 0x46925eb9fe36ac76ULL, 0x23492f5dddc9152aULL } };
   1622    reg128_t arg2 = { .uq = { 0x11a497afcd924984ULL, 0x08d24bd8c576e3b1ULL } };
   1623    reg128_t result0;
   1624    char state[108];
   1625 
   1626    if (sigsetjmp(catchpoint, 1) == 0)
   1627    {
   1628       asm(
   1629          "ffree %%st(7)\n"
   1630          "ffree %%st(6)\n"
   1631          "ffree %%st(5)\n"
   1632          "ffree %%st(4)\n"
   1633          "movlps 0+%0, %%xmm12\n"
   1634          "movhps 8+%0, %%xmm12\n"
   1635          "movlps 0+%1, %%xmm13\n"
   1636          "movhps 8+%1, %%xmm13\n"
   1637          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   1638          "movlps %%xmm13, 0+%2\n"
   1639          "movhps %%xmm13, 8+%2\n"
   1640          :
   1641          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1642          : "xmm12", "xmm13"
   1643       );
   1644 
   1645       if (result0.uq[0] == 0x64d528322b29c9caULL && result0.uq[1] == 0x01014411a41cd8f9ULL )
   1646       {
   1647          printf("pclmulqdq_36 ... ok\n");
   1648       }
   1649       else
   1650       {
   1651          printf("pclmulqdq_36 ... not ok\n");
   1652          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x64d528322b29c9caULL);
   1653          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x01014411a41cd8f9ULL);
   1654       }
   1655    }
   1656    else
   1657    {
   1658       printf("pclmulqdq_36 ... failed\n");
   1659    }
   1660 
   1661    return;
   1662 }
   1663 
   1664 static void pclmulqdq_37(void)
   1665 {
   1666    reg128_t arg1 = { .uq = { 0xc46925ed496930c9ULL, 0xa23492f78b625755ULL } };
   1667    reg128_t arg2 = { .uq = { 0x911a497cac5eea97ULL, 0x888d24bf3cdd3438ULL } };
   1668    reg128_t result0;
   1669    char state[108];
   1670 
   1671    if (sigsetjmp(catchpoint, 1) == 0)
   1672    {
   1673       asm(
   1674          "ffree %%st(7)\n"
   1675          "ffree %%st(6)\n"
   1676          "ffree %%st(5)\n"
   1677          "ffree %%st(4)\n"
   1678          "movlps 0+%1, %%xmm13\n"
   1679          "movhps 8+%1, %%xmm13\n"
   1680          "pclmulqdq $0, %0, %%xmm13\n"
   1681          "movlps %%xmm13, 0+%2\n"
   1682          "movhps %%xmm13, 8+%2\n"
   1683          :
   1684          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1685          : "xmm12", "xmm13"
   1686       );
   1687 
   1688       if (result0.uq[0] == 0x9ee57eac6392c06fULL && result0.uq[1] == 0x6ebdb35952de298bULL )
   1689       {
   1690          printf("pclmulqdq_37 ... ok\n");
   1691       }
   1692       else
   1693       {
   1694          printf("pclmulqdq_37 ... not ok\n");
   1695          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x9ee57eac6392c06fULL);
   1696          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x6ebdb35952de298bULL);
   1697       }
   1698    }
   1699    else
   1700    {
   1701       printf("pclmulqdq_37 ... failed\n");
   1702    }
   1703 
   1704    return;
   1705 }
   1706 
   1707 static void pclmulqdq_38(void)
   1708 {
   1709    reg128_t arg1 = { .uq = { 0x444692607d1c590bULL, 0xe2234931153beb76ULL } };
   1710    reg128_t arg2 = { .uq = { 0x7111a499694bb4aaULL, 0x3888d24d93539944ULL } };
   1711    reg128_t result0;
   1712    char state[108];
   1713 
   1714    if (sigsetjmp(catchpoint, 1) == 0)
   1715    {
   1716       asm(
   1717          "ffree %%st(7)\n"
   1718          "ffree %%st(6)\n"
   1719          "ffree %%st(5)\n"
   1720          "ffree %%st(4)\n"
   1721          "movlps 0+%1, %%xmm13\n"
   1722          "movhps 8+%1, %%xmm13\n"
   1723          "pclmulqdq $1, %0, %%xmm13\n"
   1724          "movlps %%xmm13, 0+%2\n"
   1725          "movhps %%xmm13, 8+%2\n"
   1726          :
   1727          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1728          : "xmm12", "xmm13"
   1729       );
   1730 
   1731       if (result0.uq[0] == 0xe76d06e2b08e45ecULL && result0.uq[1] == 0x0eceb968e17faa1fULL )
   1732       {
   1733          printf("pclmulqdq_38 ... ok\n");
   1734       }
   1735       else
   1736       {
   1737          printf("pclmulqdq_38 ... not ok\n");
   1738          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe76d06e2b08e45ecULL);
   1739          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0eceb968e17faa1fULL);
   1740       }
   1741    }
   1742    else
   1743    {
   1744       printf("pclmulqdq_38 ... failed\n");
   1745    }
   1746 
   1747    return;
   1748 }
   1749 
   1750 static void pclmulqdq_39(void)
   1751 {
   1752    reg128_t arg1 = { .uq = { 0x1c446927a8578b91ULL, 0xce223494bad984b9ULL } };
   1753    reg128_t arg2 = { .uq = { 0xa7111a4b341a814dULL, 0x93888d2670baff93ULL } };
   1754    reg128_t result0;
   1755    char state[108];
   1756 
   1757    if (sigsetjmp(catchpoint, 1) == 0)
   1758    {
   1759       asm(
   1760          "ffree %%st(7)\n"
   1761          "ffree %%st(6)\n"
   1762          "ffree %%st(5)\n"
   1763          "ffree %%st(4)\n"
   1764          "movlps 0+%1, %%xmm13\n"
   1765          "movhps 8+%1, %%xmm13\n"
   1766          "pclmulqdq $16, %0, %%xmm13\n"
   1767          "movlps %%xmm13, 0+%2\n"
   1768          "movhps %%xmm13, 8+%2\n"
   1769          :
   1770          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1771          : "xmm12", "xmm13"
   1772       );
   1773 
   1774       if (result0.uq[0] == 0x351bc2f119e0a4d5ULL && result0.uq[1] == 0x7cb3956d93a777bbULL )
   1775       {
   1776          printf("pclmulqdq_39 ... ok\n");
   1777       }
   1778       else
   1779       {
   1780          printf("pclmulqdq_39 ... not ok\n");
   1781          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x351bc2f119e0a4d5ULL);
   1782          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7cb3956d93a777bbULL);
   1783       }
   1784    }
   1785    else
   1786    {
   1787       printf("pclmulqdq_39 ... failed\n");
   1788    }
   1789 
   1790    return;
   1791 }
   1792 
   1793 static void pclmulqdq_40(void)
   1794 {
   1795    reg128_t arg1 = { .uq = { 0x89c446940f0b3ebaULL, 0x44e2234ae6335e4cULL } };
   1796    reg128_t arg2 = { .uq = { 0x227111a651c76e15ULL, 0xd13888d3ff9175f7ULL } };
   1797    reg128_t result0;
   1798    char state[108];
   1799 
   1800    if (sigsetjmp(catchpoint, 1) == 0)
   1801    {
   1802       asm(
   1803          "ffree %%st(7)\n"
   1804          "ffree %%st(6)\n"
   1805          "ffree %%st(5)\n"
   1806          "ffree %%st(4)\n"
   1807          "movlps 0+%1, %%xmm13\n"
   1808          "movhps 8+%1, %%xmm13\n"
   1809          "pclmulqdq $17, %0, %%xmm13\n"
   1810          "movlps %%xmm13, 0+%2\n"
   1811          "movhps %%xmm13, 8+%2\n"
   1812          :
   1813          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1814          : "xmm12", "xmm13"
   1815       );
   1816 
   1817       if (result0.uq[0] == 0x52b883d7adab3fa4ULL && result0.uq[1] == 0x374d8c769fd3cfd2ULL )
   1818       {
   1819          printf("pclmulqdq_40 ... ok\n");
   1820       }
   1821       else
   1822       {
   1823          printf("pclmulqdq_40 ... not ok\n");
   1824          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x52b883d7adab3fa4ULL);
   1825          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x374d8c769fd3cfd2ULL);
   1826       }
   1827    }
   1828    else
   1829    {
   1830       printf("pclmulqdq_40 ... failed\n");
   1831    }
   1832 
   1833    return;
   1834 }
   1835 
   1836 static void pclmulqdq_41(void)
   1837 {
   1838    reg128_t arg1 = { .uq = { 0xa89c446ad67679e8ULL, 0x544e223649e8fbe3ULL } };
   1839    reg128_t arg2 = { .uq = { 0xea27111c0ba23ce2ULL, 0x7513888ee47edd60ULL } };
   1840    reg128_t result0;
   1841    char state[108];
   1842 
   1843    if (sigsetjmp(catchpoint, 1) == 0)
   1844    {
   1845       asm(
   1846          "ffree %%st(7)\n"
   1847          "ffree %%st(6)\n"
   1848          "ffree %%st(5)\n"
   1849          "ffree %%st(4)\n"
   1850          "movlps 0+%0, %%xmm12\n"
   1851          "movhps 8+%0, %%xmm12\n"
   1852          "movlps 0+%1, %%xmm13\n"
   1853          "movhps 8+%1, %%xmm13\n"
   1854          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   1855          "movlps %%xmm13, 0+%2\n"
   1856          "movhps %%xmm13, 8+%2\n"
   1857          :
   1858          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1859          : "xmm12", "xmm13"
   1860       );
   1861 
   1862       if (result0.uq[0] == 0x71258e2844da20d0ULL && result0.uq[1] == 0x6f79237864913e89ULL )
   1863       {
   1864          printf("pclmulqdq_41 ... ok\n");
   1865       }
   1866       else
   1867       {
   1868          printf("pclmulqdq_41 ... not ok\n");
   1869          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x71258e2844da20d0ULL);
   1870          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x6f79237864913e89ULL);
   1871       }
   1872    }
   1873    else
   1874    {
   1875       printf("pclmulqdq_41 ... failed\n");
   1876    }
   1877 
   1878    return;
   1879 }
   1880 
   1881 static void pclmulqdq_42(void)
   1882 {
   1883    reg128_t arg1 = { .uq = { 0x3a89c44850ed2d9fULL, 0xdd44e224ff2455bcULL } };
   1884    reg128_t arg2 = { .uq = { 0x6ea271135e3fe9cdULL, 0xf751388a85cdb3d3ULL } };
   1885    reg128_t result0;
   1886    char state[108];
   1887 
   1888    if (sigsetjmp(catchpoint, 1) == 0)
   1889    {
   1890       asm(
   1891          "ffree %%st(7)\n"
   1892          "ffree %%st(6)\n"
   1893          "ffree %%st(5)\n"
   1894          "ffree %%st(4)\n"
   1895          "movlps 0+%0, %%xmm12\n"
   1896          "movhps 8+%0, %%xmm12\n"
   1897          "movlps 0+%1, %%xmm13\n"
   1898          "movhps 8+%1, %%xmm13\n"
   1899          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   1900          "movlps %%xmm13, 0+%2\n"
   1901          "movhps %%xmm13, 8+%2\n"
   1902          :
   1903          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1904          : "xmm12", "xmm13"
   1905       );
   1906 
   1907       if (result0.uq[0] == 0x0dce470a58b03611ULL && result0.uq[1] == 0x17b7bff3cae3b878ULL )
   1908       {
   1909          printf("pclmulqdq_42 ... ok\n");
   1910       }
   1911       else
   1912       {
   1913          printf("pclmulqdq_42 ... not ok\n");
   1914          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x0dce470a58b03611ULL);
   1915          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x17b7bff3cae3b878ULL);
   1916       }
   1917    }
   1918    else
   1919    {
   1920       printf("pclmulqdq_42 ... failed\n");
   1921    }
   1922 
   1923    return;
   1924 }
   1925 
   1926 static void pclmulqdq_43(void)
   1927 {
   1928    reg128_t arg1 = { .uq = { 0xbba89c46299498daULL, 0x5dd44e23f3780b5cULL } };
   1929    reg128_t arg2 = { .uq = { 0x2eea2712d869c49dULL, 0xd775138a42e2a13bULL } };
   1930    reg128_t result0;
   1931    char state[108];
   1932 
   1933    if (sigsetjmp(catchpoint, 1) == 0)
   1934    {
   1935       asm(
   1936          "ffree %%st(7)\n"
   1937          "ffree %%st(6)\n"
   1938          "ffree %%st(5)\n"
   1939          "ffree %%st(4)\n"
   1940          "movlps 0+%0, %%xmm12\n"
   1941          "movhps 8+%0, %%xmm12\n"
   1942          "movlps 0+%1, %%xmm13\n"
   1943          "movhps 8+%1, %%xmm13\n"
   1944          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   1945          "movlps %%xmm13, 0+%2\n"
   1946          "movhps %%xmm13, 8+%2\n"
   1947          :
   1948          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1949          : "xmm12", "xmm13"
   1950       );
   1951 
   1952       if (result0.uq[0] == 0x8e66578f04b5170cULL && result0.uq[1] == 0x08a8a888e58cdcd5ULL )
   1953       {
   1954          printf("pclmulqdq_43 ... ok\n");
   1955       }
   1956       else
   1957       {
   1958          printf("pclmulqdq_43 ... not ok\n");
   1959          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8e66578f04b5170cULL);
   1960          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x08a8a888e58cdcd5ULL);
   1961       }
   1962    }
   1963    else
   1964    {
   1965       printf("pclmulqdq_43 ... failed\n");
   1966    }
   1967 
   1968    return;
   1969 }
   1970 
   1971 static void pclmulqdq_44(void)
   1972 {
   1973    reg128_t arg1 = { .uq = { 0xabba89c6081f0f8eULL, 0x55dd44e3e2bd46b6ULL } };
   1974    reg128_t arg2 = { .uq = { 0x2aeea272d00c624aULL, 0x1577513a46b3f014ULL } };
   1975    reg128_t result0;
   1976    char state[108];
   1977 
   1978    if (sigsetjmp(catchpoint, 1) == 0)
   1979    {
   1980       asm(
   1981          "ffree %%st(7)\n"
   1982          "ffree %%st(6)\n"
   1983          "ffree %%st(5)\n"
   1984          "ffree %%st(4)\n"
   1985          "movlps 0+%0, %%xmm12\n"
   1986          "movhps 8+%0, %%xmm12\n"
   1987          "movlps 0+%1, %%xmm13\n"
   1988          "movhps 8+%1, %%xmm13\n"
   1989          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   1990          "movlps %%xmm13, 0+%2\n"
   1991          "movhps %%xmm13, 8+%2\n"
   1992          :
   1993          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   1994          : "xmm12", "xmm13"
   1995       );
   1996 
   1997       if (result0.uq[0] == 0x00039e62361051b8ULL && result0.uq[1] == 0x04445454c9e2e3b4ULL )
   1998       {
   1999          printf("pclmulqdq_44 ... ok\n");
   2000       }
   2001       else
   2002       {
   2003          printf("pclmulqdq_44 ... not ok\n");
   2004          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x00039e62361051b8ULL);
   2005          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x04445454c9e2e3b4ULL);
   2006       }
   2007    }
   2008    else
   2009    {
   2010       printf("pclmulqdq_44 ... failed\n");
   2011    }
   2012 
   2013    return;
   2014 }
   2015 
   2016 static void pclmulqdq_45(void)
   2017 {
   2018    reg128_t arg1 = { .uq = { 0x0abba89e0207b6f9ULL, 0xc55dd44fe7b19a6dULL } };
   2019    reg128_t arg2 = { .uq = { 0xa2aeea28da868c23ULL, 0x9157751543f10502ULL } };
   2020    reg128_t result0;
   2021    char state[108];
   2022 
   2023    if (sigsetjmp(catchpoint, 1) == 0)
   2024    {
   2025       asm(
   2026          "ffree %%st(7)\n"
   2027          "ffree %%st(6)\n"
   2028          "ffree %%st(5)\n"
   2029          "ffree %%st(4)\n"
   2030          "movlps 0+%1, %%xmm13\n"
   2031          "movhps 8+%1, %%xmm13\n"
   2032          "pclmulqdq $0, %0, %%xmm13\n"
   2033          "movlps %%xmm13, 0+%2\n"
   2034          "movhps %%xmm13, 8+%2\n"
   2035          :
   2036          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2037          : "xmm12", "xmm13"
   2038       );
   2039 
   2040       if (result0.uq[0] == 0xec91a12c1e78a82bULL && result0.uq[1] == 0x041bb00df2e9eeb3ULL )
   2041       {
   2042          printf("pclmulqdq_45 ... ok\n");
   2043       }
   2044       else
   2045       {
   2046          printf("pclmulqdq_45 ... not ok\n");
   2047          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xec91a12c1e78a82bULL);
   2048          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x041bb00df2e9eeb3ULL);
   2049       }
   2050    }
   2051    else
   2052    {
   2053       printf("pclmulqdq_45 ... failed\n");
   2054    }
   2055 
   2056    return;
   2057 }
   2058 
   2059 static void pclmulqdq_46(void)
   2060 {
   2061    reg128_t arg1 = { .uq = { 0x48abba8b80a64170ULL, 0x2455dd469f00dfa7ULL } };
   2062    reg128_t arg2 = { .uq = { 0xd22aeea4262e2ec0ULL, 0x69157752f1c4d64fULL } };
   2063    reg128_t result0;
   2064    char state[108];
   2065 
   2066    if (sigsetjmp(catchpoint, 1) == 0)
   2067    {
   2068       asm(
   2069          "ffree %%st(7)\n"
   2070          "ffree %%st(6)\n"
   2071          "ffree %%st(5)\n"
   2072          "ffree %%st(4)\n"
   2073          "movlps 0+%1, %%xmm13\n"
   2074          "movhps 8+%1, %%xmm13\n"
   2075          "pclmulqdq $1, %0, %%xmm13\n"
   2076          "movlps %%xmm13, 0+%2\n"
   2077          "movhps %%xmm13, 8+%2\n"
   2078          :
   2079          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2080          : "xmm12", "xmm13"
   2081       );
   2082 
   2083       if (result0.uq[0] == 0x4570a9283f65b1d0ULL && result0.uq[1] == 0x1937917bc5469bf6ULL )
   2084       {
   2085          printf("pclmulqdq_46 ... ok\n");
   2086       }
   2087       else
   2088       {
   2089          printf("pclmulqdq_46 ... not ok\n");
   2090          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4570a9283f65b1d0ULL);
   2091          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1937917bc5469bf6ULL);
   2092       }
   2093    }
   2094    else
   2095    {
   2096       printf("pclmulqdq_46 ... failed\n");
   2097    }
   2098 
   2099    return;
   2100 }
   2101 
   2102 static void pclmulqdq_47(void)
   2103 {
   2104    reg128_t arg1 = { .uq = { 0xf48abbaa4f902a14ULL, 0x7a455dd60675d3f9ULL } };
   2105    reg128_t arg2 = { .uq = { 0xfd22aeebe9e8a8edULL, 0xbe915776dba21363ULL } };
   2106    reg128_t result0;
   2107    char state[108];
   2108 
   2109    if (sigsetjmp(catchpoint, 1) == 0)
   2110    {
   2111       asm(
   2112          "ffree %%st(7)\n"
   2113          "ffree %%st(6)\n"
   2114          "ffree %%st(5)\n"
   2115          "ffree %%st(4)\n"
   2116          "movlps 0+%1, %%xmm13\n"
   2117          "movhps 8+%1, %%xmm13\n"
   2118          "pclmulqdq $16, %0, %%xmm13\n"
   2119          "movlps %%xmm13, 0+%2\n"
   2120          "movhps %%xmm13, 8+%2\n"
   2121          :
   2122          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2123          : "xmm12", "xmm13"
   2124       );
   2125 
   2126       if (result0.uq[0] == 0x9708dd208b1f1635ULL && result0.uq[1] == 0x2911f19625f63a33ULL )
   2127       {
   2128          printf("pclmulqdq_47 ... ok\n");
   2129       }
   2130       else
   2131       {
   2132          printf("pclmulqdq_47 ... not ok\n");
   2133          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x9708dd208b1f1635ULL);
   2134          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2911f19625f63a33ULL);
   2135       }
   2136    }
   2137    else
   2138    {
   2139       printf("pclmulqdq_47 ... failed\n");
   2140    }
   2141 
   2142    return;
   2143 }
   2144 
   2145 static void pclmulqdq_48(void)
   2146 {
   2147    reg128_t arg1 = { .uq = { 0x9f48abbc447ec8a2ULL, 0x4fa455df00ed2340ULL } };
   2148    reg128_t arg2 = { .uq = { 0x27d22af05f24508fULL, 0xd3e91579063fe734ULL } };
   2149    reg128_t result0;
   2150    char state[108];
   2151 
   2152    if (sigsetjmp(catchpoint, 1) == 0)
   2153    {
   2154       asm(
   2155          "ffree %%st(7)\n"
   2156          "ffree %%st(6)\n"
   2157          "ffree %%st(5)\n"
   2158          "ffree %%st(4)\n"
   2159          "movlps 0+%1, %%xmm13\n"
   2160          "movhps 8+%1, %%xmm13\n"
   2161          "pclmulqdq $17, %0, %%xmm13\n"
   2162          "movlps %%xmm13, 0+%2\n"
   2163          "movhps %%xmm13, 8+%2\n"
   2164          :
   2165          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2166          : "xmm12", "xmm13"
   2167       );
   2168 
   2169       if (result0.uq[0] == 0x9e438129c0f21100ULL && result0.uq[1] == 0x302e6e9fad692a63ULL )
   2170       {
   2171          printf("pclmulqdq_48 ... ok\n");
   2172       }
   2173       else
   2174       {
   2175          printf("pclmulqdq_48 ... not ok\n");
   2176          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x9e438129c0f21100ULL);
   2177          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x302e6e9fad692a63ULL);
   2178       }
   2179    }
   2180    else
   2181    {
   2182       printf("pclmulqdq_48 ... failed\n");
   2183    }
   2184 
   2185    return;
   2186 }
   2187 
   2188 static void pclmulqdq_49(void)
   2189 {
   2190    reg128_t arg1 = { .uq = { 0x69f48abd61cdb289ULL, 0xf4fa455f97949835ULL } };
   2191    reg128_t arg2 = { .uq = { 0xba7d22b0a2780b07ULL, 0x9d3e915937e9c470ULL } };
   2192    reg128_t result0;
   2193    char state[108];
   2194 
   2195    if (sigsetjmp(catchpoint, 1) == 0)
   2196    {
   2197       asm(
   2198          "ffree %%st(7)\n"
   2199          "ffree %%st(6)\n"
   2200          "ffree %%st(5)\n"
   2201          "ffree %%st(4)\n"
   2202          "movlps 0+%0, %%xmm12\n"
   2203          "movhps 8+%0, %%xmm12\n"
   2204          "movlps 0+%1, %%xmm13\n"
   2205          "movhps 8+%1, %%xmm13\n"
   2206          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   2207          "movlps %%xmm13, 0+%2\n"
   2208          "movhps %%xmm13, 8+%2\n"
   2209          :
   2210          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2211          : "xmm12", "xmm13"
   2212       );
   2213 
   2214       if (result0.uq[0] == 0x77453ab2e39bcebfULL && result0.uq[1] == 0x3cd48149e75425dcULL )
   2215       {
   2216          printf("pclmulqdq_49 ... ok\n");
   2217       }
   2218       else
   2219       {
   2220          printf("pclmulqdq_49 ... not ok\n");
   2221          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x77453ab2e39bcebfULL);
   2222          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3cd48149e75425dcULL);
   2223       }
   2224    }
   2225    else
   2226    {
   2227       printf("pclmulqdq_49 ... failed\n");
   2228    }
   2229 
   2230    return;
   2231 }
   2232 
   2233 static void pclmulqdq_50(void)
   2234 {
   2235    reg128_t arg1 = { .uq = { 0x4e9f48ad7aa2a127ULL, 0xe74fa45793ff0f80ULL } };
   2236    reg128_t arg2 = { .uq = { 0x73a7d22ca8ad46afULL, 0xf9d3e9173b046244ULL } };
   2237    reg128_t result0;
   2238    char state[108];
   2239 
   2240    if (sigsetjmp(catchpoint, 1) == 0)
   2241    {
   2242       asm(
   2243          "ffree %%st(7)\n"
   2244          "ffree %%st(6)\n"
   2245          "ffree %%st(5)\n"
   2246          "ffree %%st(4)\n"
   2247          "movlps 0+%0, %%xmm12\n"
   2248          "movhps 8+%0, %%xmm12\n"
   2249          "movlps 0+%1, %%xmm13\n"
   2250          "movhps 8+%1, %%xmm13\n"
   2251          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   2252          "movlps %%xmm13, 0+%2\n"
   2253          "movhps %%xmm13, 8+%2\n"
   2254          :
   2255          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2256          : "xmm12", "xmm13"
   2257       );
   2258 
   2259       if (result0.uq[0] == 0x6e590e31be91a35cULL && result0.uq[1] == 0x3bd8e3c886ba7063ULL )
   2260       {
   2261          printf("pclmulqdq_50 ... ok\n");
   2262       }
   2263       else
   2264       {
   2265          printf("pclmulqdq_50 ... not ok\n");
   2266          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6e590e31be91a35cULL);
   2267          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3bd8e3c886ba7063ULL);
   2268       }
   2269    }
   2270    else
   2271    {
   2272       printf("pclmulqdq_50 ... failed\n");
   2273    }
   2274 
   2275    return;
   2276 }
   2277 
   2278 static void pclmulqdq_51(void)
   2279 {
   2280    reg128_t arg1 = { .uq = { 0x7ce9f48c7c2ff011ULL, 0xfe74fa4714c5b6f9ULL } };
   2281    reg128_t arg2 = { .uq = { 0xbf3a7d2461109a6dULL, 0x9f9d3e9317360c23ULL } };
   2282    reg128_t result0;
   2283    char state[108];
   2284 
   2285    if (sigsetjmp(catchpoint, 1) == 0)
   2286    {
   2287       asm(
   2288          "ffree %%st(7)\n"
   2289          "ffree %%st(6)\n"
   2290          "ffree %%st(5)\n"
   2291          "ffree %%st(4)\n"
   2292          "movlps 0+%0, %%xmm12\n"
   2293          "movhps 8+%0, %%xmm12\n"
   2294          "movlps 0+%1, %%xmm13\n"
   2295          "movhps 8+%1, %%xmm13\n"
   2296          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   2297          "movlps %%xmm13, 0+%2\n"
   2298          "movhps %%xmm13, 8+%2\n"
   2299          :
   2300          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2301          : "xmm12", "xmm13"
   2302       );
   2303 
   2304       if (result0.uq[0] == 0xd73226ad987c91b5ULL && result0.uq[1] == 0x6a0d4938c709c850ULL )
   2305       {
   2306          printf("pclmulqdq_51 ... ok\n");
   2307       }
   2308       else
   2309       {
   2310          printf("pclmulqdq_51 ... not ok\n");
   2311          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd73226ad987c91b5ULL);
   2312          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x6a0d4938c709c850ULL);
   2313       }
   2314    }
   2315    else
   2316    {
   2317       printf("pclmulqdq_51 ... failed\n");
   2318    }
   2319 
   2320    return;
   2321 }
   2322 
   2323 static void pclmulqdq_52(void)
   2324 {
   2325    reg128_t arg1 = { .uq = { 0x8fce9f4a6248c502ULL, 0x47e74fa60fd22170ULL } };
   2326    reg128_t arg2 = { .uq = { 0x23f3a7d3e696cfa7ULL, 0xd1f9d3ead9f926c0ULL } };
   2327    reg128_t result0;
   2328    char state[108];
   2329 
   2330    if (sigsetjmp(catchpoint, 1) == 0)
   2331    {
   2332       asm(
   2333          "ffree %%st(7)\n"
   2334          "ffree %%st(6)\n"
   2335          "ffree %%st(5)\n"
   2336          "ffree %%st(4)\n"
   2337          "movlps 0+%0, %%xmm12\n"
   2338          "movhps 8+%0, %%xmm12\n"
   2339          "movlps 0+%1, %%xmm13\n"
   2340          "movhps 8+%1, %%xmm13\n"
   2341          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   2342          "movlps %%xmm13, 0+%2\n"
   2343          "movhps %%xmm13, 8+%2\n"
   2344          :
   2345          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2346          : "xmm12", "xmm13"
   2347       );
   2348 
   2349       if (result0.uq[0] == 0x098aae5ab281c400ULL && result0.uq[1] == 0x360f213f1f15053eULL )
   2350       {
   2351          printf("pclmulqdq_52 ... ok\n");
   2352       }
   2353       else
   2354       {
   2355          printf("pclmulqdq_52 ... not ok\n");
   2356          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x098aae5ab281c400ULL);
   2357          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x360f213f1f15053eULL);
   2358       }
   2359    }
   2360    else
   2361    {
   2362       printf("pclmulqdq_52 ... failed\n");
   2363    }
   2364 
   2365    return;
   2366 }
   2367 
   2368 static void pclmulqdq_53(void)
   2369 {
   2370    reg128_t arg1 = { .uq = { 0x68fce9f64baa524fULL, 0xf47e74fc0c82e814ULL } };
   2371    reg128_t arg2 = { .uq = { 0x7a3f3a7ee4ef32f9ULL, 0xfd1f9d405925586dULL } };
   2372    reg128_t result0;
   2373    char state[108];
   2374 
   2375    if (sigsetjmp(catchpoint, 1) == 0)
   2376    {
   2377       asm(
   2378          "ffree %%st(7)\n"
   2379          "ffree %%st(6)\n"
   2380          "ffree %%st(5)\n"
   2381          "ffree %%st(4)\n"
   2382          "movlps 0+%1, %%xmm13\n"
   2383          "movhps 8+%1, %%xmm13\n"
   2384          "pclmulqdq $0, %0, %%xmm13\n"
   2385          "movlps %%xmm13, 0+%2\n"
   2386          "movhps %%xmm13, 8+%2\n"
   2387          :
   2388          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2389          : "xmm12", "xmm13"
   2390       );
   2391 
   2392       if (result0.uq[0] == 0xc7150c4a11569767ULL && result0.uq[1] == 0x1230b217e7562125ULL )
   2393       {
   2394          printf("pclmulqdq_53 ... ok\n");
   2395       }
   2396       else
   2397       {
   2398          printf("pclmulqdq_53 ... not ok\n");
   2399          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xc7150c4a11569767ULL);
   2400          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1230b217e7562125ULL);
   2401       }
   2402    }
   2403    else
   2404    {
   2405       printf("pclmulqdq_53 ... failed\n");
   2406    }
   2407 
   2408    return;
   2409 }
   2410 
   2411 static void pclmulqdq_54(void)
   2412 {
   2413    reg128_t arg1 = { .uq = { 0xbe8fcea103406b23ULL, 0x9f47e751684df482ULL } };
   2414    reg128_t arg2 = { .uq = { 0x4fa3f3a992d4b930ULL, 0x27d1f9d5a8181b87ULL } };
   2415    reg128_t result0;
   2416    char state[108];
   2417 
   2418    if (sigsetjmp(catchpoint, 1) == 0)
   2419    {
   2420       asm(
   2421          "ffree %%st(7)\n"
   2422          "ffree %%st(6)\n"
   2423          "ffree %%st(5)\n"
   2424          "ffree %%st(4)\n"
   2425          "movlps 0+%1, %%xmm13\n"
   2426          "movhps 8+%1, %%xmm13\n"
   2427          "pclmulqdq $1, %0, %%xmm13\n"
   2428          "movlps %%xmm13, 0+%2\n"
   2429          "movhps %%xmm13, 8+%2\n"
   2430          :
   2431          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2432          : "xmm12", "xmm13"
   2433       );
   2434 
   2435       if (result0.uq[0] == 0x7ec8d0bb7e8acd69ULL && result0.uq[1] == 0x14938d347e59462dULL )
   2436       {
   2437          printf("pclmulqdq_54 ... ok\n");
   2438       }
   2439       else
   2440       {
   2441          printf("pclmulqdq_54 ... not ok\n");
   2442          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x7ec8d0bb7e8acd69ULL);
   2443          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x14938d347e59462dULL);
   2444       }
   2445    }
   2446    else
   2447    {
   2448       printf("pclmulqdq_54 ... failed\n");
   2449    }
   2450 
   2451    return;
   2452 }
   2453 
   2454 static void pclmulqdq_55(void)
   2455 {
   2456    reg128_t arg1 = { .uq = { 0xd3e8fcebbab9ccb0ULL, 0x69f47e76bc0aa547ULL } };
   2457    reg128_t arg2 = { .uq = { 0xf4fa3f3c34b31190ULL, 0x7a7d1f9ef90747b7ULL } };
   2458    reg128_t result0;
   2459    char state[108];
   2460 
   2461    if (sigsetjmp(catchpoint, 1) == 0)
   2462    {
   2463       asm(
   2464          "ffree %%st(7)\n"
   2465          "ffree %%st(6)\n"
   2466          "ffree %%st(5)\n"
   2467          "ffree %%st(4)\n"
   2468          "movlps 0+%1, %%xmm13\n"
   2469          "movhps 8+%1, %%xmm13\n"
   2470          "pclmulqdq $16, %0, %%xmm13\n"
   2471          "movlps %%xmm13, 0+%2\n"
   2472          "movhps %%xmm13, 8+%2\n"
   2473          :
   2474          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2475          : "xmm12", "xmm13"
   2476       );
   2477 
   2478       if (result0.uq[0] == 0x4d62ab2759d0c0f0ULL && result0.uq[1] == 0x24a78a2ff2816467ULL )
   2479       {
   2480          printf("pclmulqdq_55 ... ok\n");
   2481       }
   2482       else
   2483       {
   2484          printf("pclmulqdq_55 ... not ok\n");
   2485          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4d62ab2759d0c0f0ULL);
   2486          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x24a78a2ff2816467ULL);
   2487       }
   2488    }
   2489    else
   2490    {
   2491       printf("pclmulqdq_55 ... failed\n");
   2492    }
   2493 
   2494    return;
   2495 }
   2496 
   2497 static void pclmulqdq_56(void)
   2498 {
   2499    reg128_t arg1 = { .uq = { 0xfd3e8fd0533162c8ULL, 0x7e9f47e908467053ULL } };
   2500    reg128_t arg2 = { .uq = { 0xff4fa3f56ad0f71aULL, 0x7fa7d1fb94163a7cULL } };
   2501    reg128_t result0;
   2502    char state[108];
   2503 
   2504    if (sigsetjmp(catchpoint, 1) == 0)
   2505    {
   2506       asm(
   2507          "ffree %%st(7)\n"
   2508          "ffree %%st(6)\n"
   2509          "ffree %%st(5)\n"
   2510          "ffree %%st(4)\n"
   2511          "movlps 0+%1, %%xmm13\n"
   2512          "movhps 8+%1, %%xmm13\n"
   2513          "pclmulqdq $17, %0, %%xmm13\n"
   2514          "movlps %%xmm13, 0+%2\n"
   2515          "movhps %%xmm13, 8+%2\n"
   2516          :
   2517          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2518          : "xmm12", "xmm13"
   2519       );
   2520 
   2521       if (result0.uq[0] == 0xb7fc82a330a83644ULL && result0.uq[1] == 0x152129527f84cd53ULL )
   2522       {
   2523          printf("pclmulqdq_56 ... ok\n");
   2524       }
   2525       else
   2526       {
   2527          printf("pclmulqdq_56 ... not ok\n");
   2528          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xb7fc82a330a83644ULL);
   2529          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x152129527f84cd53ULL);
   2530       }
   2531    }
   2532    else
   2533    {
   2534       printf("pclmulqdq_56 ... failed\n");
   2535    }
   2536 
   2537    return;
   2538 }
   2539 
   2540 static void pclmulqdq_57(void)
   2541 {
   2542    reg128_t arg1 = { .uq = { 0x3fd3e8fea8b8dc2dULL, 0xdfe9f4803b0a2d03ULL } };
   2543    reg128_t arg2 = { .uq = { 0xaff4fa40f432d572ULL, 0x57fa7d2158c729a8ULL } };
   2544    reg128_t result0;
   2545    char state[108];
   2546 
   2547    if (sigsetjmp(catchpoint, 1) == 0)
   2548    {
   2549       asm(
   2550          "ffree %%st(7)\n"
   2551          "ffree %%st(6)\n"
   2552          "ffree %%st(5)\n"
   2553          "ffree %%st(4)\n"
   2554          "movlps 0+%0, %%xmm12\n"
   2555          "movhps 8+%0, %%xmm12\n"
   2556          "movlps 0+%1, %%xmm13\n"
   2557          "movhps 8+%1, %%xmm13\n"
   2558          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   2559          "movlps %%xmm13, 0+%2\n"
   2560          "movhps %%xmm13, 8+%2\n"
   2561          :
   2562          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2563          : "xmm12", "xmm13"
   2564       );
   2565 
   2566       if (result0.uq[0] == 0xad24061697897d6aULL && result0.uq[1] == 0x1946dd2b6b334aa6ULL )
   2567       {
   2568          printf("pclmulqdq_57 ... ok\n");
   2569       }
   2570       else
   2571       {
   2572          printf("pclmulqdq_57 ... not ok\n");
   2573          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xad24061697897d6aULL);
   2574          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1946dd2b6b334aa6ULL);
   2575       }
   2576    }
   2577    else
   2578    {
   2579       printf("pclmulqdq_57 ... failed\n");
   2580    }
   2581 
   2582    return;
   2583 }
   2584 
   2585 static void pclmulqdq_58(void)
   2586 {
   2587    reg128_t arg1 = { .uq = { 0x2bfd3e918b1153c3ULL, 0xd5fe9f49ac3668d2ULL } };
   2588    reg128_t arg2 = { .uq = { 0x6aff4fa5b4c8f358ULL, 0x357fa7d3b912389bULL } };
   2589    reg128_t result0;
   2590    char state[108];
   2591 
   2592    if (sigsetjmp(catchpoint, 1) == 0)
   2593    {
   2594       asm(
   2595          "ffree %%st(7)\n"
   2596          "ffree %%st(6)\n"
   2597          "ffree %%st(5)\n"
   2598          "ffree %%st(4)\n"
   2599          "movlps 0+%0, %%xmm12\n"
   2600          "movhps 8+%0, %%xmm12\n"
   2601          "movlps 0+%1, %%xmm13\n"
   2602          "movhps 8+%1, %%xmm13\n"
   2603          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   2604          "movlps %%xmm13, 0+%2\n"
   2605          "movhps %%xmm13, 8+%2\n"
   2606          :
   2607          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2608          : "xmm12", "xmm13"
   2609       );
   2610 
   2611       if (result0.uq[0] == 0x01e66902d969ffedULL && result0.uq[1] == 0x0748de913628c280ULL )
   2612       {
   2613          printf("pclmulqdq_58 ... ok\n");
   2614       }
   2615       else
   2616       {
   2617          printf("pclmulqdq_58 ... not ok\n");
   2618          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x01e66902d969ffedULL);
   2619          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0748de913628c280ULL);
   2620       }
   2621    }
   2622    else
   2623    {
   2624       printf("pclmulqdq_58 ... failed\n");
   2625    }
   2626 
   2627    return;
   2628 }
   2629 
   2630 static void pclmulqdq_59(void)
   2631 {
   2632    reg128_t arg1 = { .uq = { 0xdabfd3eab336db3eULL, 0x6d5fe9f638492c8eULL } };
   2633    reg128_t arg2 = { .uq = { 0x36aff4fbfad25536ULL, 0x1b57fa7edc16e98aULL } };
   2634    reg128_t result0;
   2635    char state[108];
   2636 
   2637    if (sigsetjmp(catchpoint, 1) == 0)
   2638    {
   2639       asm(
   2640          "ffree %%st(7)\n"
   2641          "ffree %%st(6)\n"
   2642          "ffree %%st(5)\n"
   2643          "ffree %%st(4)\n"
   2644          "movlps 0+%0, %%xmm12\n"
   2645          "movhps 8+%0, %%xmm12\n"
   2646          "movlps 0+%1, %%xmm13\n"
   2647          "movhps 8+%1, %%xmm13\n"
   2648          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   2649          "movlps %%xmm13, 0+%2\n"
   2650          "movhps %%xmm13, 8+%2\n"
   2651          :
   2652          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2653          : "xmm12", "xmm13"
   2654       );
   2655 
   2656       if (result0.uq[0] == 0x9a16d14091086404ULL && result0.uq[1] == 0x0a2888aa8b3b5dd4ULL )
   2657       {
   2658          printf("pclmulqdq_59 ... ok\n");
   2659       }
   2660       else
   2661       {
   2662          printf("pclmulqdq_59 ... not ok\n");
   2663          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x9a16d14091086404ULL);
   2664          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0a2888aa8b3b5dd4ULL);
   2665       }
   2666    }
   2667    else
   2668    {
   2669       printf("pclmulqdq_59 ... failed\n");
   2670    }
   2671 
   2672    return;
   2673 }
   2674 
   2675 static void pclmulqdq_60(void)
   2676 {
   2677    reg128_t arg1 = { .uq = { 0x0dabfd404cb933b4ULL, 0x06d5fea1050a58c9ULL } };
   2678    reg128_t arg2 = { .uq = { 0xc36aff516932eb55ULL, 0xa1b57fa99b473497ULL } };
   2679    reg128_t result0;
   2680    char state[108];
   2681 
   2682    if (sigsetjmp(catchpoint, 1) == 0)
   2683    {
   2684       asm(
   2685          "ffree %%st(7)\n"
   2686          "ffree %%st(6)\n"
   2687          "ffree %%st(5)\n"
   2688          "ffree %%st(4)\n"
   2689          "movlps 0+%0, %%xmm12\n"
   2690          "movhps 8+%0, %%xmm12\n"
   2691          "movlps 0+%1, %%xmm13\n"
   2692          "movhps 8+%1, %%xmm13\n"
   2693          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   2694          "movlps %%xmm13, 0+%2\n"
   2695          "movhps %%xmm13, 8+%2\n"
   2696          :
   2697          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2698          : "xmm12", "xmm13"
   2699       );
   2700 
   2701       if (result0.uq[0] == 0x3f904f57b277f66fULL && result0.uq[1] == 0x03b554c0f32d4dfaULL )
   2702       {
   2703          printf("pclmulqdq_60 ... ok\n");
   2704       }
   2705       else
   2706       {
   2707          printf("pclmulqdq_60 ... not ok\n");
   2708          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x3f904f57b277f66fULL);
   2709          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x03b554c0f32d4dfaULL);
   2710       }
   2711    }
   2712    else
   2713    {
   2714       printf("pclmulqdq_60 ... failed\n");
   2715    }
   2716 
   2717    return;
   2718 }
   2719 
   2720 static void pclmulqdq_61(void)
   2721 {
   2722    reg128_t arg1 = { .uq = { 0x90dabfd5a4515938ULL, 0x486d5febb0d66b8bULL } };
   2723    reg128_t arg2 = { .uq = { 0xe436aff6af18f4b6ULL, 0x721b57fc363a394aULL } };
   2724    reg128_t result0;
   2725    char state[108];
   2726 
   2727    if (sigsetjmp(catchpoint, 1) == 0)
   2728    {
   2729       asm(
   2730          "ffree %%st(7)\n"
   2731          "ffree %%st(6)\n"
   2732          "ffree %%st(5)\n"
   2733          "ffree %%st(4)\n"
   2734          "movlps 0+%1, %%xmm13\n"
   2735          "movhps 8+%1, %%xmm13\n"
   2736          "pclmulqdq $0, %0, %%xmm13\n"
   2737          "movlps %%xmm13, 0+%2\n"
   2738          "movhps %%xmm13, 8+%2\n"
   2739          :
   2740          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2741          : "xmm12", "xmm13"
   2742       );
   2743 
   2744       if (result0.uq[0] == 0x8c5f6ad18d379e10ULL && result0.uq[1] == 0x7c1be44f7439dfecULL )
   2745       {
   2746          printf("pclmulqdq_61 ... ok\n");
   2747       }
   2748       else
   2749       {
   2750          printf("pclmulqdq_61 ... not ok\n");
   2751          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8c5f6ad18d379e10ULL);
   2752          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7c1be44f7439dfecULL);
   2753       }
   2754    }
   2755    else
   2756    {
   2757       printf("pclmulqdq_61 ... failed\n");
   2758    }
   2759 
   2760    return;
   2761 }
   2762 
   2763 static void pclmulqdq_62(void)
   2764 {
   2765    reg128_t arg1 = { .uq = { 0x390dabfef9cadb94ULL, 0x1c86d6005b932cb9ULL } };
   2766    reg128_t arg2 = { .uq = { 0xce436b010477554dULL, 0xa721b58168e96993ULL } };
   2767    reg128_t result0;
   2768    char state[108];
   2769 
   2770    if (sigsetjmp(catchpoint, 1) == 0)
   2771    {
   2772       asm(
   2773          "ffree %%st(7)\n"
   2774          "ffree %%st(6)\n"
   2775          "ffree %%st(5)\n"
   2776          "ffree %%st(4)\n"
   2777          "movlps 0+%1, %%xmm13\n"
   2778          "movhps 8+%1, %%xmm13\n"
   2779          "pclmulqdq $1, %0, %%xmm13\n"
   2780          "movlps %%xmm13, 0+%2\n"
   2781          "movhps %%xmm13, 8+%2\n"
   2782          :
   2783          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2784          : "xmm12", "xmm13"
   2785       );
   2786 
   2787       if (result0.uq[0] == 0x5cfbe32f78bbabfcULL && result0.uq[1] == 0x1b0f409db94d30ceULL )
   2788       {
   2789          printf("pclmulqdq_62 ... ok\n");
   2790       }
   2791       else
   2792       {
   2793          printf("pclmulqdq_62 ... not ok\n");
   2794          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5cfbe32f78bbabfcULL);
   2795          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1b0f409db94d30ceULL);
   2796       }
   2797    }
   2798    else
   2799    {
   2800       printf("pclmulqdq_62 ... failed\n");
   2801    }
   2802 
   2803    return;
   2804 }
   2805 
   2806 static void pclmulqdq_63(void)
   2807 {
   2808    reg128_t arg1 = { .uq = { 0x9390dac19b2273baULL, 0x49c86d61ac3ef8ccULL } };
   2809    reg128_t arg2 = { .uq = { 0x24e436b1b4cd3b55ULL, 0xd2721b59b1145c97ULL } };
   2810    reg128_t result0;
   2811    char state[108];
   2812 
   2813    if (sigsetjmp(catchpoint, 1) == 0)
   2814    {
   2815       asm(
   2816          "ffree %%st(7)\n"
   2817          "ffree %%st(6)\n"
   2818          "ffree %%st(5)\n"
   2819          "ffree %%st(4)\n"
   2820          "movlps 0+%1, %%xmm13\n"
   2821          "movhps 8+%1, %%xmm13\n"
   2822          "pclmulqdq $16, %0, %%xmm13\n"
   2823          "movlps %%xmm13, 0+%2\n"
   2824          "movhps %%xmm13, 8+%2\n"
   2825          :
   2826          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2827          : "xmm12", "xmm13"
   2828       );
   2829 
   2830       if (result0.uq[0] == 0x6a2bef2bac52d03cULL && result0.uq[1] == 0x0820a820580aebf6ULL )
   2831       {
   2832          printf("pclmulqdq_63 ... ok\n");
   2833       }
   2834       else
   2835       {
   2836          printf("pclmulqdq_63 ... not ok\n");
   2837          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6a2bef2bac52d03cULL);
   2838          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0820a820580aebf6ULL);
   2839       }
   2840    }
   2841    else
   2842    {
   2843       printf("pclmulqdq_63 ... failed\n");
   2844    }
   2845 
   2846    return;
   2847 }
   2848 
   2849 static void pclmulqdq_64(void)
   2850 {
   2851    reg128_t arg1 = { .uq = { 0xa9390dadaf37ed38ULL, 0x549c86d7b649b58bULL } };
   2852    reg128_t arg2 = { .uq = { 0xea4e436cb1d299b6ULL, 0x752721b737970bcaULL } };
   2853    reg128_t result0;
   2854    char state[108];
   2855 
   2856    if (sigsetjmp(catchpoint, 1) == 0)
   2857    {
   2858       asm(
   2859          "ffree %%st(7)\n"
   2860          "ffree %%st(6)\n"
   2861          "ffree %%st(5)\n"
   2862          "ffree %%st(4)\n"
   2863          "movlps 0+%1, %%xmm13\n"
   2864          "movhps 8+%1, %%xmm13\n"
   2865          "pclmulqdq $17, %0, %%xmm13\n"
   2866          "movlps %%xmm13, 0+%2\n"
   2867          "movhps %%xmm13, 8+%2\n"
   2868          :
   2869          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2870          : "xmm12", "xmm13"
   2871       );
   2872 
   2873       if (result0.uq[0] == 0xe374fdf10b9aa50eULL && result0.uq[1] == 0x1bf0a13b9a4b2d32ULL )
   2874       {
   2875          printf("pclmulqdq_64 ... ok\n");
   2876       }
   2877       else
   2878       {
   2879          printf("pclmulqdq_64 ... not ok\n");
   2880          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe374fdf10b9aa50eULL);
   2881          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1bf0a13b9a4b2d32ULL);
   2882       }
   2883    }
   2884    else
   2885    {
   2886       printf("pclmulqdq_64 ... failed\n");
   2887    }
   2888 
   2889    return;
   2890 }
   2891 
   2892 static void pclmulqdq_65(void)
   2893 {
   2894    reg128_t arg1 = { .uq = { 0x3a9390dc7a7944d4ULL, 0x1d49c86f1bea6159ULL } };
   2895    reg128_t arg2 = { .uq = { 0xcea4e43864a2ef9dULL, 0xa752721d18ff36bbULL } };
   2896    reg128_t result0;
   2897    char state[108];
   2898 
   2899    if (sigsetjmp(catchpoint, 1) == 0)
   2900    {
   2901       asm(
   2902          "ffree %%st(7)\n"
   2903          "ffree %%st(6)\n"
   2904          "ffree %%st(5)\n"
   2905          "ffree %%st(4)\n"
   2906          "movlps 0+%0, %%xmm12\n"
   2907          "movhps 8+%0, %%xmm12\n"
   2908          "movlps 0+%1, %%xmm13\n"
   2909          "movhps 8+%1, %%xmm13\n"
   2910          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   2911          "movlps %%xmm13, 0+%2\n"
   2912          "movhps %%xmm13, 8+%2\n"
   2913          :
   2914          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2915          : "xmm12", "xmm13"
   2916       );
   2917 
   2918       if (result0.uq[0] == 0xd6c456490d755a64ULL && result0.uq[1] == 0x12bc3c19097f5a00ULL )
   2919       {
   2920          printf("pclmulqdq_65 ... ok\n");
   2921       }
   2922       else
   2923       {
   2924          printf("pclmulqdq_65 ... not ok\n");
   2925          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd6c456490d755a64ULL);
   2926          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x12bc3c19097f5a00ULL);
   2927       }
   2928    }
   2929    else
   2930    {
   2931       printf("pclmulqdq_65 ... failed\n");
   2932    }
   2933 
   2934    return;
   2935 }
   2936 
   2937 static void pclmulqdq_66(void)
   2938 {
   2939    reg128_t arg1 = { .uq = { 0x93a9390f632d5a4eULL, 0x49d49c8890446c16ULL } };
   2940    reg128_t arg2 = { .uq = { 0x24ea4e4526cff4faULL, 0x127527237215b96cULL } };
   2941    reg128_t result0;
   2942    char state[108];
   2943 
   2944    if (sigsetjmp(catchpoint, 1) == 0)
   2945    {
   2946       asm(
   2947          "ffree %%st(7)\n"
   2948          "ffree %%st(6)\n"
   2949          "ffree %%st(5)\n"
   2950          "ffree %%st(4)\n"
   2951          "movlps 0+%0, %%xmm12\n"
   2952          "movhps 8+%0, %%xmm12\n"
   2953          "movlps 0+%1, %%xmm13\n"
   2954          "movhps 8+%1, %%xmm13\n"
   2955          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   2956          "movlps %%xmm13, 0+%2\n"
   2957          "movhps %%xmm13, 8+%2\n"
   2958          :
   2959          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   2960          : "xmm12", "xmm13"
   2961       );
   2962 
   2963       if (result0.uq[0] == 0x8d19b35c04f67f08ULL && result0.uq[1] == 0x0820a88940df4faaULL )
   2964       {
   2965          printf("pclmulqdq_66 ... ok\n");
   2966       }
   2967       else
   2968       {
   2969          printf("pclmulqdq_66 ... not ok\n");
   2970          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8d19b35c04f67f08ULL);
   2971          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0820a88940df4faaULL);
   2972       }
   2973    }
   2974    else
   2975    {
   2976       printf("pclmulqdq_66 ... failed\n");
   2977    }
   2978 
   2979    return;
   2980 }
   2981 
   2982 static void pclmulqdq_67(void)
   2983 {
   2984    reg128_t arg1 = { .uq = { 0x093a939297b89ba5ULL, 0xc49d49ca228a0cbfULL } };
   2985    reg128_t arg2 = { .uq = { 0xa24ea4e5f7f2c54cULL, 0x51275273daa72195ULL } };
   2986    reg128_t result0;
   2987    char state[108];
   2988 
   2989    if (sigsetjmp(catchpoint, 1) == 0)
   2990    {
   2991       asm(
   2992          "ffree %%st(7)\n"
   2993          "ffree %%st(6)\n"
   2994          "ffree %%st(5)\n"
   2995          "ffree %%st(4)\n"
   2996          "movlps 0+%0, %%xmm12\n"
   2997          "movhps 8+%0, %%xmm12\n"
   2998          "movlps 0+%1, %%xmm13\n"
   2999          "movhps 8+%1, %%xmm13\n"
   3000          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   3001          "movlps %%xmm13, 0+%2\n"
   3002          "movhps %%xmm13, 8+%2\n"
   3003          :
   3004          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3005          : "xmm12", "xmm13"
   3006       );
   3007 
   3008       if (result0.uq[0] == 0xa98a2c26439b7bc4ULL && result0.uq[1] == 0x7b61d63f58d2a46aULL )
   3009       {
   3010          printf("pclmulqdq_67 ... ok\n");
   3011       }
   3012       else
   3013       {
   3014          printf("pclmulqdq_67 ... not ok\n");
   3015          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xa98a2c26439b7bc4ULL);
   3016          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7b61d63f58d2a46aULL);
   3017       }
   3018    }
   3019    else
   3020    {
   3021       printf("pclmulqdq_67 ... failed\n");
   3022    }
   3023 
   3024    return;
   3025 }
   3026 
   3027 static void pclmulqdq_68(void)
   3028 {
   3029    reg128_t arg1 = { .uq = { 0xe893a93ac4014fb7ULL, 0xb449d49e48ae66c8ULL } };
   3030    reg128_t arg2 = { .uq = { 0x5a24ea500304f253ULL, 0xed127528e830381aULL } };
   3031    reg128_t result0;
   3032    char state[108];
   3033 
   3034    if (sigsetjmp(catchpoint, 1) == 0)
   3035    {
   3036       asm(
   3037          "ffree %%st(7)\n"
   3038          "ffree %%st(6)\n"
   3039          "ffree %%st(5)\n"
   3040          "ffree %%st(4)\n"
   3041          "movlps 0+%0, %%xmm12\n"
   3042          "movhps 8+%0, %%xmm12\n"
   3043          "movlps 0+%1, %%xmm13\n"
   3044          "movhps 8+%1, %%xmm13\n"
   3045          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   3046          "movlps %%xmm13, 0+%2\n"
   3047          "movhps %%xmm13, 8+%2\n"
   3048          :
   3049          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3050          : "xmm12", "xmm13"
   3051       );
   3052 
   3053       if (result0.uq[0] == 0xcd6a96a3f2ca5750ULL && result0.uq[1] == 0x66729b7e79914803ULL )
   3054       {
   3055          printf("pclmulqdq_68 ... ok\n");
   3056       }
   3057       else
   3058       {
   3059          printf("pclmulqdq_68 ... not ok\n");
   3060          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xcd6a96a3f2ca5750ULL);
   3061          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x66729b7e79914803ULL);
   3062       }
   3063    }
   3064    else
   3065    {
   3066       printf("pclmulqdq_68 ... failed\n");
   3067    }
   3068 
   3069    return;
   3070 }
   3071 
   3072 static void pclmulqdq_69(void)
   3073 {
   3074    reg128_t arg1 = { .uq = { 0x76893a9552c5dafcULL, 0x3b449d4b8810ac6dULL } };
   3075    reg128_t arg2 = { .uq = { 0xdda24ea6aab61523ULL, 0xaed127543c08c982ULL } };
   3076    reg128_t result0;
   3077    char state[108];
   3078 
   3079    if (sigsetjmp(catchpoint, 1) == 0)
   3080    {
   3081       asm(
   3082          "ffree %%st(7)\n"
   3083          "ffree %%st(6)\n"
   3084          "ffree %%st(5)\n"
   3085          "ffree %%st(4)\n"
   3086          "movlps 0+%1, %%xmm13\n"
   3087          "movhps 8+%1, %%xmm13\n"
   3088          "pclmulqdq $0, %0, %%xmm13\n"
   3089          "movlps %%xmm13, 0+%2\n"
   3090          "movhps %%xmm13, 8+%2\n"
   3091          :
   3092          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3093          : "xmm12", "xmm13"
   3094       );
   3095 
   3096       if (result0.uq[0] == 0x71e1947ce8a3fc84ULL && result0.uq[1] == 0x23a3c3ff0ac48e0cULL )
   3097       {
   3098          printf("pclmulqdq_69 ... ok\n");
   3099       }
   3100       else
   3101       {
   3102          printf("pclmulqdq_69 ... not ok\n");
   3103          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x71e1947ce8a3fc84ULL);
   3104          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x23a3c3ff0ac48e0cULL);
   3105       }
   3106    }
   3107    else
   3108    {
   3109       printf("pclmulqdq_69 ... failed\n");
   3110    }
   3111 
   3112    return;
   3113 }
   3114 
   3115 static void pclmulqdq_70(void)
   3116 {
   3117    reg128_t arg1 = { .uq = { 0x576893aafcb223b0ULL, 0x2bb449d65d06d0c7ULL } };
   3118    reg128_t arg2 = { .uq = { 0xd5da24ec05312750ULL, 0x6aed1276e1465297ULL } };
   3119    reg128_t result0;
   3120    char state[108];
   3121 
   3122    if (sigsetjmp(catchpoint, 1) == 0)
   3123    {
   3124       asm(
   3125          "ffree %%st(7)\n"
   3126          "ffree %%st(6)\n"
   3127          "ffree %%st(5)\n"
   3128          "ffree %%st(4)\n"
   3129          "movlps 0+%1, %%xmm13\n"
   3130          "movhps 8+%1, %%xmm13\n"
   3131          "pclmulqdq $1, %0, %%xmm13\n"
   3132          "movlps %%xmm13, 0+%2\n"
   3133          "movhps %%xmm13, 8+%2\n"
   3134          :
   3135          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3136          : "xmm12", "xmm13"
   3137       );
   3138 
   3139       if (result0.uq[0] == 0x83bc107e3e1d6910ULL && result0.uq[1] == 0x1d159417367f29d6ULL )
   3140       {
   3141          printf("pclmulqdq_70 ... ok\n");
   3142       }
   3143       else
   3144       {
   3145          printf("pclmulqdq_70 ... not ok\n");
   3146          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x83bc107e3e1d6910ULL);
   3147          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1d159417367f29d6ULL);
   3148       }
   3149    }
   3150    else
   3151    {
   3152       printf("pclmulqdq_70 ... failed\n");
   3153    }
   3154 
   3155    return;
   3156 }
   3157 
   3158 static void pclmulqdq_71(void)
   3159 {
   3160    reg128_t arg1 = { .uq = { 0xf576893c5750e838ULL, 0x7abb449f0a56330bULL } };
   3161    reg128_t arg2 = { .uq = { 0xfd5da2506bd8d876ULL, 0x7eaed129149a2b2aULL } };
   3162    reg128_t result0;
   3163    char state[108];
   3164 
   3165    if (sigsetjmp(catchpoint, 1) == 0)
   3166    {
   3167       asm(
   3168          "ffree %%st(7)\n"
   3169          "ffree %%st(6)\n"
   3170          "ffree %%st(5)\n"
   3171          "ffree %%st(4)\n"
   3172          "movlps 0+%1, %%xmm13\n"
   3173          "movhps 8+%1, %%xmm13\n"
   3174          "pclmulqdq $16, %0, %%xmm13\n"
   3175          "movlps %%xmm13, 0+%2\n"
   3176          "movhps %%xmm13, 8+%2\n"
   3177          :
   3178          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3179          : "xmm12", "xmm13"
   3180       );
   3181 
   3182       if (result0.uq[0] == 0x162d65810a9a912aULL && result0.uq[1] == 0x295151cffabdfebcULL )
   3183       {
   3184          printf("pclmulqdq_71 ... ok\n");
   3185       }
   3186       else
   3187       {
   3188          printf("pclmulqdq_71 ... not ok\n");
   3189          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x162d65810a9a912aULL);
   3190          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x295151cffabdfebcULL);
   3191       }
   3192    }
   3193    else
   3194    {
   3195       printf("pclmulqdq_71 ... failed\n");
   3196    }
   3197 
   3198    return;
   3199 }
   3200 
   3201 static void pclmulqdq_72(void)
   3202 {
   3203    reg128_t arg1 = { .uq = { 0x3f57689568fad484ULL, 0x1fabb44b932b2931ULL } };
   3204    reg128_t arg2 = { .uq = { 0xcfd5da26a0435389ULL, 0xa7eaed1436cf68b5ULL } };
   3205    reg128_t result0;
   3206    char state[108];
   3207 
   3208    if (sigsetjmp(catchpoint, 1) == 0)
   3209    {
   3210       asm(
   3211          "ffree %%st(7)\n"
   3212          "ffree %%st(6)\n"
   3213          "ffree %%st(5)\n"
   3214          "ffree %%st(4)\n"
   3215          "movlps 0+%1, %%xmm13\n"
   3216          "movhps 8+%1, %%xmm13\n"
   3217          "pclmulqdq $17, %0, %%xmm13\n"
   3218          "movlps %%xmm13, 0+%2\n"
   3219          "movhps %%xmm13, 8+%2\n"
   3220          :
   3221          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3222          : "xmm12", "xmm13"
   3223       );
   3224 
   3225       if (result0.uq[0] == 0xd2b7ff103f384845ULL && result0.uq[1] == 0x0c75fdbda2b7fa1dULL )
   3226       {
   3227          printf("pclmulqdq_72 ... ok\n");
   3228       }
   3229       else
   3230       {
   3231          printf("pclmulqdq_72 ... not ok\n");
   3232          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd2b7ff103f384845ULL);
   3233          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0c75fdbda2b7fa1dULL);
   3234       }
   3235    }
   3236    else
   3237    {
   3238       printf("pclmulqdq_72 ... failed\n");
   3239    }
   3240 
   3241    return;
   3242 }
   3243 
   3244 static void pclmulqdq_73(void)
   3245 {
   3246    reg128_t arg1 = { .uq = { 0x93f5768af2157347ULL, 0x89fabb464fb87890ULL } };
   3247    reg128_t arg2 = { .uq = { 0x44fd5da40689fb37ULL, 0xe27eaed2e9f2bc88ULL } };
   3248    reg128_t result0;
   3249    char state[108];
   3250 
   3251    if (sigsetjmp(catchpoint, 1) == 0)
   3252    {
   3253       asm(
   3254          "ffree %%st(7)\n"
   3255          "ffree %%st(6)\n"
   3256          "ffree %%st(5)\n"
   3257          "ffree %%st(4)\n"
   3258          "movlps 0+%0, %%xmm12\n"
   3259          "movhps 8+%0, %%xmm12\n"
   3260          "movlps 0+%1, %%xmm13\n"
   3261          "movhps 8+%1, %%xmm13\n"
   3262          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   3263          "movlps %%xmm13, 0+%2\n"
   3264          "movhps %%xmm13, 8+%2\n"
   3265          :
   3266          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3267          : "xmm12", "xmm13"
   3268       );
   3269 
   3270       if (result0.uq[0] == 0x1efac67fed4d2545ULL && result0.uq[1] == 0x26c2a63498b85e4eULL )
   3271       {
   3272          printf("pclmulqdq_73 ... ok\n");
   3273       }
   3274       else
   3275       {
   3276          printf("pclmulqdq_73 ... not ok\n");
   3277          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1efac67fed4d2545ULL);
   3278          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x26c2a63498b85e4eULL);
   3279       }
   3280    }
   3281    else
   3282    {
   3283       printf("pclmulqdq_73 ... failed\n");
   3284    }
   3285 
   3286    return;
   3287 }
   3288 
   3289 static void pclmulqdq_74(void)
   3290 {
   3291    reg128_t arg1 = { .uq = { 0x713f576a53a71d33ULL, 0xf89fabb600814d8aULL } };
   3292    reg128_t arg2 = { .uq = { 0x7c4fd5dbdeee65b4ULL, 0x3e27eaeece24f1c9ULL } };
   3293    reg128_t result0;
   3294    char state[108];
   3295 
   3296    if (sigsetjmp(catchpoint, 1) == 0)
   3297    {
   3298       asm(
   3299          "ffree %%st(7)\n"
   3300          "ffree %%st(6)\n"
   3301          "ffree %%st(5)\n"
   3302          "ffree %%st(4)\n"
   3303          "movlps 0+%0, %%xmm12\n"
   3304          "movhps 8+%0, %%xmm12\n"
   3305          "movlps 0+%1, %%xmm13\n"
   3306          "movhps 8+%1, %%xmm13\n"
   3307          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   3308          "movlps %%xmm13, 0+%2\n"
   3309          "movhps %%xmm13, 8+%2\n"
   3310          :
   3311          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3312          : "xmm12", "xmm13"
   3313       );
   3314 
   3315       if (result0.uq[0] == 0x25ac28bd28c702ebULL && result0.uq[1] == 0x0b943f31e76dc46aULL )
   3316       {
   3317          printf("pclmulqdq_74 ... ok\n");
   3318       }
   3319       else
   3320       {
   3321          printf("pclmulqdq_74 ... not ok\n");
   3322          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x25ac28bd28c702ebULL);
   3323          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0b943f31e76dc46aULL);
   3324       }
   3325    }
   3326    else
   3327    {
   3328       printf("pclmulqdq_74 ... failed\n");
   3329    }
   3330 
   3331    return;
   3332 }
   3333 
   3334 static void pclmulqdq_75(void)
   3335 {
   3336    reg128_t arg1 = { .uq = { 0xdf13f5784dc037d5ULL, 0xaf89fabd0d8ddad7ULL } };
   3337    reg128_t arg2 = { .uq = { 0x97c4fd5f6d74ac58ULL, 0x4be27eb09568151bULL } };
   3338    reg128_t result0;
   3339    char state[108];
   3340 
   3341    if (sigsetjmp(catchpoint, 1) == 0)
   3342    {
   3343       asm(
   3344          "ffree %%st(7)\n"
   3345          "ffree %%st(6)\n"
   3346          "ffree %%st(5)\n"
   3347          "ffree %%st(4)\n"
   3348          "movlps 0+%0, %%xmm12\n"
   3349          "movhps 8+%0, %%xmm12\n"
   3350          "movlps 0+%1, %%xmm13\n"
   3351          "movhps 8+%1, %%xmm13\n"
   3352          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   3353          "movlps %%xmm13, 0+%2\n"
   3354          "movhps %%xmm13, 8+%2\n"
   3355          :
   3356          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3357          : "xmm12", "xmm13"
   3358       );
   3359 
   3360       if (result0.uq[0] == 0x88ede6d4e2454a08ULL && result0.uq[1] == 0x5e0c23d1ad9c93aaULL )
   3361       {
   3362          printf("pclmulqdq_75 ... ok\n");
   3363       }
   3364       else
   3365       {
   3366          printf("pclmulqdq_75 ... not ok\n");
   3367          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x88ede6d4e2454a08ULL);
   3368          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x5e0c23d1ad9c93aaULL);
   3369       }
   3370    }
   3371    else
   3372    {
   3373       printf("pclmulqdq_75 ... failed\n");
   3374    }
   3375 
   3376    return;
   3377 }
   3378 
   3379 static void pclmulqdq_76(void)
   3380 {
   3381    reg128_t arg1 = { .uq = { 0xe5f13f592161c97eULL, 0x72f89fad6f5ea3aeULL } };
   3382    reg128_t arg2 = { .uq = { 0x397c4fd7965d10c6ULL, 0x1cbe27eca9dc4752ULL } };
   3383    reg128_t result0;
   3384    char state[108];
   3385 
   3386    if (sigsetjmp(catchpoint, 1) == 0)
   3387    {
   3388       asm(
   3389          "ffree %%st(7)\n"
   3390          "ffree %%st(6)\n"
   3391          "ffree %%st(5)\n"
   3392          "ffree %%st(4)\n"
   3393          "movlps 0+%0, %%xmm12\n"
   3394          "movhps 8+%0, %%xmm12\n"
   3395          "movlps 0+%1, %%xmm13\n"
   3396          "movhps 8+%1, %%xmm13\n"
   3397          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   3398          "movlps %%xmm13, 0+%2\n"
   3399          "movhps %%xmm13, 8+%2\n"
   3400          :
   3401          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3402          : "xmm12", "xmm13"
   3403       );
   3404 
   3405       if (result0.uq[0] == 0x5dd6030446d65c3cULL && result0.uq[1] == 0x0541155160eaa5f3ULL )
   3406       {
   3407          printf("pclmulqdq_76 ... ok\n");
   3408       }
   3409       else
   3410       {
   3411          printf("pclmulqdq_76 ... not ok\n");
   3412          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5dd6030446d65c3cULL);
   3413          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0541155160eaa5f3ULL);
   3414       }
   3415    }
   3416    else
   3417    {
   3418       printf("pclmulqdq_76 ... failed\n");
   3419    }
   3420 
   3421    return;
   3422 }
   3423 
   3424 static void pclmulqdq_77(void)
   3425 {
   3426    reg128_t arg1 = { .uq = { 0x0e5f13f7339be298ULL, 0x072f89fc787bb03bULL } };
   3427    reg128_t arg2 = { .uq = { 0xc397c4ff12eb970eULL, 0x61cbe28068238a76ULL } };
   3428    reg128_t result0;
   3429    char state[108];
   3430 
   3431    if (sigsetjmp(catchpoint, 1) == 0)
   3432    {
   3433       asm(
   3434          "ffree %%st(7)\n"
   3435          "ffree %%st(6)\n"
   3436          "ffree %%st(5)\n"
   3437          "ffree %%st(4)\n"
   3438          "movlps 0+%1, %%xmm13\n"
   3439          "movhps 8+%1, %%xmm13\n"
   3440          "pclmulqdq $0, %0, %%xmm13\n"
   3441          "movlps %%xmm13, 0+%2\n"
   3442          "movhps %%xmm13, 8+%2\n"
   3443          :
   3444          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3445          : "xmm12", "xmm13"
   3446       );
   3447 
   3448       if (result0.uq[0] == 0x9d37888783271390ULL && result0.uq[1] == 0x04ad49530ddeba57ULL )
   3449       {
   3450          printf("pclmulqdq_77 ... ok\n");
   3451       }
   3452       else
   3453       {
   3454          printf("pclmulqdq_77 ... not ok\n");
   3455          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x9d37888783271390ULL);
   3456          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x04ad49530ddeba57ULL);
   3457       }
   3458    }
   3459    else
   3460    {
   3461       printf("pclmulqdq_77 ... failed\n");
   3462    }
   3463 
   3464    return;
   3465 }
   3466 
   3467 static void pclmulqdq_78(void)
   3468 {
   3469    reg128_t arg1 = { .uq = { 0x30e5f14112bf842aULL, 0x1872f8a1680d8104ULL } };
   3470    reg128_t arg2 = { .uq = { 0x0c397c5192b47f71ULL, 0xc61cbe29a007fea9ULL } };
   3471    reg128_t result0;
   3472    char state[108];
   3473 
   3474    if (sigsetjmp(catchpoint, 1) == 0)
   3475    {
   3476       asm(
   3477          "ffree %%st(7)\n"
   3478          "ffree %%st(6)\n"
   3479          "ffree %%st(5)\n"
   3480          "ffree %%st(4)\n"
   3481          "movlps 0+%1, %%xmm13\n"
   3482          "movhps 8+%1, %%xmm13\n"
   3483          "pclmulqdq $1, %0, %%xmm13\n"
   3484          "movlps %%xmm13, 0+%2\n"
   3485          "movhps %%xmm13, 8+%2\n"
   3486          :
   3487          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3488          : "xmm12", "xmm13"
   3489       );
   3490 
   3491       if (result0.uq[0] == 0xda22a0000546f93aULL && result0.uq[1] == 0x14eb8e72cfa9f51dULL )
   3492       {
   3493          printf("pclmulqdq_78 ... ok\n");
   3494       }
   3495       else
   3496       {
   3497          printf("pclmulqdq_78 ... not ok\n");
   3498          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xda22a0000546f93aULL);
   3499          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x14eb8e72cfa9f51dULL);
   3500       }
   3501    }
   3502    else
   3503    {
   3504       printf("pclmulqdq_78 ... failed\n");
   3505    }
   3506 
   3507    return;
   3508 }
   3509 
   3510 static void pclmulqdq_79(void)
   3511 {
   3512    reg128_t arg1 = { .uq = { 0xa30e5f15b6b1be45ULL, 0x91872f8bb2069e0fULL } };
   3513    reg128_t arg2 = { .uq = { 0x88c397c6afb10df4ULL, 0x4461cbe4368645e9ULL } };
   3514    reg128_t result0;
   3515    char state[108];
   3516 
   3517    if (sigsetjmp(catchpoint, 1) == 0)
   3518    {
   3519       asm(
   3520          "ffree %%st(7)\n"
   3521          "ffree %%st(6)\n"
   3522          "ffree %%st(5)\n"
   3523          "ffree %%st(4)\n"
   3524          "movlps 0+%1, %%xmm13\n"
   3525          "movhps 8+%1, %%xmm13\n"
   3526          "pclmulqdq $16, %0, %%xmm13\n"
   3527          "movlps %%xmm13, 0+%2\n"
   3528          "movhps %%xmm13, 8+%2\n"
   3529          :
   3530          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3531          : "xmm12", "xmm13"
   3532       );
   3533 
   3534       if (result0.uq[0] == 0x0afb9d418fc1966cULL && result0.uq[1] == 0x4c22fc2c395f9b0aULL )
   3535       {
   3536          printf("pclmulqdq_79 ... ok\n");
   3537       }
   3538       else
   3539       {
   3540          printf("pclmulqdq_79 ... not ok\n");
   3541          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x0afb9d418fc1966cULL);
   3542          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x4c22fc2c395f9b0aULL);
   3543       }
   3544    }
   3545    else
   3546    {
   3547       printf("pclmulqdq_79 ... failed\n");
   3548    }
   3549 
   3550    return;
   3551 }
   3552 
   3553 static void pclmulqdq_80(void)
   3554 {
   3555    reg128_t arg1 = { .uq = { 0xe230e5f2f1f0e1e5ULL, 0xb11872fa4fa62fdfULL } };
   3556    reg128_t arg2 = { .uq = { 0x988c397e0e80d6dcULL, 0x4c461cbfe5ee2a5dULL } };
   3557    reg128_t result0;
   3558    char state[108];
   3559 
   3560    if (sigsetjmp(catchpoint, 1) == 0)
   3561    {
   3562       asm(
   3563          "ffree %%st(7)\n"
   3564          "ffree %%st(6)\n"
   3565          "ffree %%st(5)\n"
   3566          "ffree %%st(4)\n"
   3567          "movlps 0+%1, %%xmm13\n"
   3568          "movhps 8+%1, %%xmm13\n"
   3569          "pclmulqdq $17, %0, %%xmm13\n"
   3570          "movlps %%xmm13, 0+%2\n"
   3571          "movhps %%xmm13, 8+%2\n"
   3572          :
   3573          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3574          : "xmm12", "xmm13"
   3575       );
   3576 
   3577       if (result0.uq[0] == 0x4a4c895ad9a6426bULL && result0.uq[1] == 0x2b2552b15c95b45aULL )
   3578       {
   3579          printf("pclmulqdq_80 ... ok\n");
   3580       }
   3581       else
   3582       {
   3583          printf("pclmulqdq_80 ... not ok\n");
   3584          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4a4c895ad9a6426bULL);
   3585          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2b2552b15c95b45aULL);
   3586       }
   3587    }
   3588    else
   3589    {
   3590       printf("pclmulqdq_80 ... failed\n");
   3591    }
   3592 
   3593    return;
   3594 }
   3595 
   3596 static void pclmulqdq_81(void)
   3597 {
   3598    reg128_t arg1 = { .uq = { 0xe6230e60d9a4d41bULL, 0xb3118731438028feULL } };
   3599    reg128_t arg2 = { .uq = { 0x5988c399806dd36eULL, 0x2cc461cd9ee4a8a6ULL } };
   3600    reg128_t result0;
   3601    char state[108];
   3602 
   3603    if (sigsetjmp(catchpoint, 1) == 0)
   3604    {
   3605       asm(
   3606          "ffree %%st(7)\n"
   3607          "ffree %%st(6)\n"
   3608          "ffree %%st(5)\n"
   3609          "ffree %%st(4)\n"
   3610          "movlps 0+%0, %%xmm12\n"
   3611          "movhps 8+%0, %%xmm12\n"
   3612          "movlps 0+%1, %%xmm13\n"
   3613          "movhps 8+%1, %%xmm13\n"
   3614          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   3615          "movlps %%xmm13, 0+%2\n"
   3616          "movhps %%xmm13, 8+%2\n"
   3617          :
   3618          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3619          : "xmm12", "xmm13"
   3620       );
   3621 
   3622       if (result0.uq[0] == 0xb4bce4629b6a0022ULL && result0.uq[1] == 0x3049a355e88b747dULL )
   3623       {
   3624          printf("pclmulqdq_81 ... ok\n");
   3625       }
   3626       else
   3627       {
   3628          printf("pclmulqdq_81 ... not ok\n");
   3629          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xb4bce4629b6a0022ULL);
   3630          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3049a355e88b747dULL);
   3631       }
   3632    }
   3633    else
   3634    {
   3635       printf("pclmulqdq_81 ... failed\n");
   3636    }
   3637 
   3638    return;
   3639 }
   3640 
   3641 static void pclmulqdq_82(void)
   3642 {
   3643    reg128_t arg1 = { .uq = { 0x166230e7ae201342ULL, 0x0b311874b5bdc890ULL } };
   3644    reg128_t arg2 = { .uq = { 0x05988c3b398ca337ULL, 0xc2cc461e73741088ULL } };
   3645    reg128_t result0;
   3646    char state[108];
   3647 
   3648    if (sigsetjmp(catchpoint, 1) == 0)
   3649    {
   3650       asm(
   3651          "ffree %%st(7)\n"
   3652          "ffree %%st(6)\n"
   3653          "ffree %%st(5)\n"
   3654          "ffree %%st(4)\n"
   3655          "movlps 0+%0, %%xmm12\n"
   3656          "movhps 8+%0, %%xmm12\n"
   3657          "movlps 0+%1, %%xmm13\n"
   3658          "movhps 8+%1, %%xmm13\n"
   3659          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   3660          "movlps %%xmm13, 0+%2\n"
   3661          "movhps %%xmm13, 8+%2\n"
   3662          :
   3663          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3664          : "xmm12", "xmm13"
   3665       );
   3666 
   3667       if (result0.uq[0] == 0x1443368a87d51b10ULL && result0.uq[1] == 0x0e8b16ca9bb0a8d6ULL )
   3668       {
   3669          printf("pclmulqdq_82 ... ok\n");
   3670       }
   3671       else
   3672       {
   3673          printf("pclmulqdq_82 ... not ok\n");
   3674          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1443368a87d51b10ULL);
   3675          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0e8b16ca9bb0a8d6ULL);
   3676       }
   3677    }
   3678    else
   3679    {
   3680       printf("pclmulqdq_82 ... failed\n");
   3681    }
   3682 
   3683    return;
   3684 }
   3685 
   3686 static void pclmulqdq_83(void)
   3687 {
   3688    reg128_t arg1 = { .uq = { 0x616623101867c733ULL, 0xf0b31188e2e1a28aULL } };
   3689    reg128_t arg2 = { .uq = { 0x785988c5501e9034ULL, 0x3c2cc46386bd0709ULL } };
   3690    reg128_t result0;
   3691    char state[108];
   3692 
   3693    if (sigsetjmp(catchpoint, 1) == 0)
   3694    {
   3695       asm(
   3696          "ffree %%st(7)\n"
   3697          "ffree %%st(6)\n"
   3698          "ffree %%st(5)\n"
   3699          "ffree %%st(4)\n"
   3700          "movlps 0+%0, %%xmm12\n"
   3701          "movhps 8+%0, %%xmm12\n"
   3702          "movlps 0+%1, %%xmm13\n"
   3703          "movhps 8+%1, %%xmm13\n"
   3704          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   3705          "movlps %%xmm13, 0+%2\n"
   3706          "movhps %%xmm13, 8+%2\n"
   3707          :
   3708          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3709          : "xmm12", "xmm13"
   3710       );
   3711 
   3712       if (result0.uq[0] == 0x505b0a15e10953c8ULL && result0.uq[1] == 0x2a8022826ef2c0edULL )
   3713       {
   3714          printf("pclmulqdq_83 ... ok\n");
   3715       }
   3716       else
   3717       {
   3718          printf("pclmulqdq_83 ... not ok\n");
   3719          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x505b0a15e10953c8ULL);
   3720          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2a8022826ef2c0edULL);
   3721       }
   3722    }
   3723    else
   3724    {
   3725       printf("pclmulqdq_83 ... failed\n");
   3726    }
   3727 
   3728    return;
   3729 }
   3730 
   3731 static void pclmulqdq_84(void)
   3732 {
   3733    reg128_t arg1 = { .uq = { 0xde166232aa0c4275ULL, 0xaf0b311a3bb3e027ULL } };
   3734    reg128_t arg2 = { .uq = { 0x9785988df487af00ULL, 0x4bc2cc47d8f1966fULL } };
   3735    reg128_t result0;
   3736    char state[108];
   3737 
   3738    if (sigsetjmp(catchpoint, 1) == 0)
   3739    {
   3740       asm(
   3741          "ffree %%st(7)\n"
   3742          "ffree %%st(6)\n"
   3743          "ffree %%st(5)\n"
   3744          "ffree %%st(4)\n"
   3745          "movlps 0+%0, %%xmm12\n"
   3746          "movhps 8+%0, %%xmm12\n"
   3747          "movlps 0+%1, %%xmm13\n"
   3748          "movhps 8+%1, %%xmm13\n"
   3749          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   3750          "movlps %%xmm13, 0+%2\n"
   3751          "movhps %%xmm13, 8+%2\n"
   3752          :
   3753          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3754          : "xmm12", "xmm13"
   3755       );
   3756 
   3757       if (result0.uq[0] == 0x73b0bf7077a68eedULL && result0.uq[1] == 0x2f36ea74050c13feULL )
   3758       {
   3759          printf("pclmulqdq_84 ... ok\n");
   3760       }
   3761       else
   3762       {
   3763          printf("pclmulqdq_84 ... not ok\n");
   3764          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x73b0bf7077a68eedULL);
   3765          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2f36ea74050c13feULL);
   3766       }
   3767    }
   3768    else
   3769    {
   3770       printf("pclmulqdq_84 ... failed\n");
   3771    }
   3772 
   3773    return;
   3774 }
   3775 
   3776 static void pclmulqdq_85(void)
   3777 {
   3778    reg128_t arg1 = { .uq = { 0xe5e16624c3268a24ULL, 0x72f0b31340410401ULL } };
   3779    reg128_t arg2 = { .uq = { 0xf978598a86ce40f1ULL, 0xbcbc2cc62a14df69ULL } };
   3780    reg128_t result0;
   3781    char state[108];
   3782 
   3783    if (sigsetjmp(catchpoint, 1) == 0)
   3784    {
   3785       asm(
   3786          "ffree %%st(7)\n"
   3787          "ffree %%st(6)\n"
   3788          "ffree %%st(5)\n"
   3789          "ffree %%st(4)\n"
   3790          "movlps 0+%1, %%xmm13\n"
   3791          "movhps 8+%1, %%xmm13\n"
   3792          "pclmulqdq $0, %0, %%xmm13\n"
   3793          "movlps %%xmm13, 0+%2\n"
   3794          "movhps %%xmm13, 8+%2\n"
   3795          :
   3796          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3797          : "xmm12", "xmm13"
   3798       );
   3799 
   3800       if (result0.uq[0] == 0xbd20232a4309f7e4ULL && result0.uq[1] == 0x5e8cbf9a58306d67ULL )
   3801       {
   3802          printf("pclmulqdq_85 ... ok\n");
   3803       }
   3804       else
   3805       {
   3806          printf("pclmulqdq_85 ... not ok\n");
   3807          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xbd20232a4309f7e4ULL);
   3808          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x5e8cbf9a58306d67ULL);
   3809       }
   3810    }
   3811    else
   3812    {
   3813       printf("pclmulqdq_85 ... failed\n");
   3814    }
   3815 
   3816    return;
   3817 }
   3818 
   3819 static void pclmulqdq_86(void)
   3820 {
   3821    reg128_t arg1 = { .uq = { 0x9e5e1663fbb82ea5ULL, 0x8f2f0b32d489d63fULL } };
   3822    reg128_t arg2 = { .uq = { 0x8797859a40f2aa0cULL, 0x43cbc2cdff2713f5ULL } };
   3823    reg128_t result0;
   3824    char state[108];
   3825 
   3826    if (sigsetjmp(catchpoint, 1) == 0)
   3827    {
   3828       asm(
   3829          "ffree %%st(7)\n"
   3830          "ffree %%st(6)\n"
   3831          "ffree %%st(5)\n"
   3832          "ffree %%st(4)\n"
   3833          "movlps 0+%1, %%xmm13\n"
   3834          "movhps 8+%1, %%xmm13\n"
   3835          "pclmulqdq $1, %0, %%xmm13\n"
   3836          "movlps %%xmm13, 0+%2\n"
   3837          "movhps %%xmm13, 8+%2\n"
   3838          :
   3839          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3840          : "xmm12", "xmm13"
   3841       );
   3842 
   3843       if (result0.uq[0] == 0x6e66a095df81ee01ULL && result0.uq[1] == 0x2658e6d490286e46ULL )
   3844       {
   3845          printf("pclmulqdq_86 ... ok\n");
   3846       }
   3847       else
   3848       {
   3849          printf("pclmulqdq_86 ... not ok\n");
   3850          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6e66a095df81ee01ULL);
   3851          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2658e6d490286e46ULL);
   3852       }
   3853    }
   3854    else
   3855    {
   3856       printf("pclmulqdq_86 ... failed\n");
   3857    }
   3858 
   3859    return;
   3860 }
   3861 
   3862 static void pclmulqdq_87(void)
   3863 {
   3864    reg128_t arg1 = { .uq = { 0xe1e5e167d64148e7ULL, 0xb0f2f0b4c1ce6360ULL } };
   3865    reg128_t arg2 = { .uq = { 0x5879785b3f94f09fULL, 0xec3cbc2e7678373cULL } };
   3866    reg128_t result0;
   3867    char state[108];
   3868 
   3869    if (sigsetjmp(catchpoint, 1) == 0)
   3870    {
   3871       asm(
   3872          "ffree %%st(7)\n"
   3873          "ffree %%st(6)\n"
   3874          "ffree %%st(5)\n"
   3875          "ffree %%st(4)\n"
   3876          "movlps 0+%1, %%xmm13\n"
   3877          "movhps 8+%1, %%xmm13\n"
   3878          "pclmulqdq $16, %0, %%xmm13\n"
   3879          "movlps %%xmm13, 0+%2\n"
   3880          "movhps %%xmm13, 8+%2\n"
   3881          :
   3882          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3883          : "xmm12", "xmm13"
   3884       );
   3885 
   3886       if (result0.uq[0] == 0xa1411d12187db520ULL && result0.uq[1] == 0x22802a82bbe48273ULL )
   3887       {
   3888          printf("pclmulqdq_87 ... ok\n");
   3889       }
   3890       else
   3891       {
   3892          printf("pclmulqdq_87 ... not ok\n");
   3893          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xa1411d12187db520ULL);
   3894          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x22802a82bbe48273ULL);
   3895       }
   3896    }
   3897    else
   3898    {
   3899       printf("pclmulqdq_87 ... failed\n");
   3900    }
   3901 
   3902    return;
   3903 }
   3904 
   3905 static void pclmulqdq_88(void)
   3906 {
   3907    reg128_t arg1 = { .uq = { 0x761e5e1819e9da8dULL, 0xfb0f2f0ce3a2ac33ULL } };
   3908    reg128_t arg2 = { .uq = { 0xbd879787587f150aULL, 0x5ec3cbc48aed4974ULL } };
   3909    reg128_t result0;
   3910    char state[108];
   3911 
   3912    if (sigsetjmp(catchpoint, 1) == 0)
   3913    {
   3914       asm(
   3915          "ffree %%st(7)\n"
   3916          "ffree %%st(6)\n"
   3917          "ffree %%st(5)\n"
   3918          "ffree %%st(4)\n"
   3919          "movlps 0+%1, %%xmm13\n"
   3920          "movhps 8+%1, %%xmm13\n"
   3921          "pclmulqdq $17, %0, %%xmm13\n"
   3922          "movlps %%xmm13, 0+%2\n"
   3923          "movhps %%xmm13, 8+%2\n"
   3924          :
   3925          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3926          : "xmm12", "xmm13"
   3927       );
   3928 
   3929       if (result0.uq[0] == 0x98102e76a4d8925cULL && result0.uq[1] == 0x34f36e356807a7b8ULL )
   3930       {
   3931          printf("pclmulqdq_88 ... ok\n");
   3932       }
   3933       else
   3934       {
   3935          printf("pclmulqdq_88 ... not ok\n");
   3936          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x98102e76a4d8925cULL);
   3937          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x34f36e356807a7b8ULL);
   3938       }
   3939    }
   3940    else
   3941    {
   3942       printf("pclmulqdq_88 ... failed\n");
   3943    }
   3944 
   3945    return;
   3946 }
   3947 
   3948 static void pclmulqdq_89(void)
   3949 {
   3950    reg128_t arg1 = { .uq = { 0x2f61e5e3242463a9ULL, 0xd7b0f2f278bff0c5ULL } };
   3951    reg128_t arg2 = { .uq = { 0xabd8797a130db74fULL, 0x95ec3cbde0349a94ULL } };
   3952    reg128_t result0;
   3953    char state[108];
   3954 
   3955    if (sigsetjmp(catchpoint, 1) == 0)
   3956    {
   3957       asm(
   3958          "ffree %%st(7)\n"
   3959          "ffree %%st(6)\n"
   3960          "ffree %%st(5)\n"
   3961          "ffree %%st(4)\n"
   3962          "movlps 0+%0, %%xmm12\n"
   3963          "movhps 8+%0, %%xmm12\n"
   3964          "movlps 0+%1, %%xmm13\n"
   3965          "movhps 8+%1, %%xmm13\n"
   3966          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   3967          "movlps %%xmm13, 0+%2\n"
   3968          "movhps %%xmm13, 8+%2\n"
   3969          :
   3970          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   3971          : "xmm12", "xmm13"
   3972       );
   3973 
   3974       if (result0.uq[0] == 0xa9db52b34932b257ULL && result0.uq[1] == 0x13498b4de2ead42bULL )
   3975       {
   3976          printf("pclmulqdq_89 ... ok\n");
   3977       }
   3978       else
   3979       {
   3980          printf("pclmulqdq_89 ... not ok\n");
   3981          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xa9db52b34932b257ULL);
   3982          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x13498b4de2ead42bULL);
   3983       }
   3984    }
   3985    else
   3986    {
   3987       printf("pclmulqdq_89 ... failed\n");
   3988    }
   3989 
   3990    return;
   3991 }
   3992 
   3993 static void pclmulqdq_90(void)
   3994 {
   3995    reg128_t arg1 = { .uq = { 0x4af61e5fcec80c39ULL, 0xe57b0f30ce11c50dULL } };
   3996    reg128_t arg2 = { .uq = { 0xb2bd87994db6a173ULL, 0x995ec3cd8d890faaULL } };
   3997    reg128_t result0;
   3998    char state[108];
   3999 
   4000    if (sigsetjmp(catchpoint, 1) == 0)
   4001    {
   4002       asm(
   4003          "ffree %%st(7)\n"
   4004          "ffree %%st(6)\n"
   4005          "ffree %%st(5)\n"
   4006          "ffree %%st(4)\n"
   4007          "movlps 0+%0, %%xmm12\n"
   4008          "movhps 8+%0, %%xmm12\n"
   4009          "movlps 0+%1, %%xmm13\n"
   4010          "movhps 8+%1, %%xmm13\n"
   4011          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   4012          "movlps %%xmm13, 0+%2\n"
   4013          "movhps %%xmm13, 8+%2\n"
   4014          :
   4015          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4016          : "xmm12", "xmm13"
   4017       );
   4018 
   4019       if (result0.uq[0] == 0x02bdfd5b8ae3851aULL && result0.uq[1] == 0x23dce4693be7adf0ULL )
   4020       {
   4021          printf("pclmulqdq_90 ... ok\n");
   4022       }
   4023       else
   4024       {
   4025          printf("pclmulqdq_90 ... not ok\n");
   4026          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x02bdfd5b8ae3851aULL);
   4027          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x23dce4693be7adf0ULL);
   4028       }
   4029    }
   4030    else
   4031    {
   4032       printf("pclmulqdq_90 ... failed\n");
   4033    }
   4034 
   4035    return;
   4036 }
   4037 
   4038 static void pclmulqdq_91(void)
   4039 {
   4040    reg128_t arg1 = { .uq = { 0x4caf61e7a57246c4ULL, 0x2657b0f4b166e251ULL } };
   4041    reg128_t arg2 = { .uq = { 0xd32bd87b2f613019ULL, 0xa995ec3e7e5e56fdULL } };
   4042    reg128_t result0;
   4043    char state[108];
   4044 
   4045    if (sigsetjmp(catchpoint, 1) == 0)
   4046    {
   4047       asm(
   4048          "ffree %%st(7)\n"
   4049          "ffree %%st(6)\n"
   4050          "ffree %%st(5)\n"
   4051          "ffree %%st(4)\n"
   4052          "movlps 0+%0, %%xmm12\n"
   4053          "movhps 8+%0, %%xmm12\n"
   4054          "movlps 0+%1, %%xmm13\n"
   4055          "movhps 8+%1, %%xmm13\n"
   4056          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   4057          "movlps %%xmm13, 0+%2\n"
   4058          "movhps %%xmm13, 8+%2\n"
   4059          :
   4060          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4061          : "xmm12", "xmm13"
   4062       );
   4063 
   4064       if (result0.uq[0] == 0x65396ddebd61e5c9ULL && result0.uq[1] == 0x18b43ccdffec0aabULL )
   4065       {
   4066          printf("pclmulqdq_91 ... ok\n");
   4067       }
   4068       else
   4069       {
   4070          printf("pclmulqdq_91 ... not ok\n");
   4071          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x65396ddebd61e5c9ULL);
   4072          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x18b43ccdffec0aabULL);
   4073       }
   4074    }
   4075    else
   4076    {
   4077       printf("pclmulqdq_91 ... failed\n");
   4078    }
   4079 
   4080    return;
   4081 }
   4082 
   4083 static void pclmulqdq_92(void)
   4084 {
   4085    reg128_t arg1 = { .uq = { 0x94caf62015dcea6bULL, 0x8a657b10e19c3426ULL } };
   4086    reg128_t arg2 = { .uq = { 0x4532bd894f7bd902ULL, 0x22995ec5866bab70ULL } };
   4087    reg128_t result0;
   4088    char state[108];
   4089 
   4090    if (sigsetjmp(catchpoint, 1) == 0)
   4091    {
   4092       asm(
   4093          "ffree %%st(7)\n"
   4094          "ffree %%st(6)\n"
   4095          "ffree %%st(5)\n"
   4096          "ffree %%st(4)\n"
   4097          "movlps 0+%0, %%xmm12\n"
   4098          "movhps 8+%0, %%xmm12\n"
   4099          "movlps 0+%1, %%xmm13\n"
   4100          "movhps 8+%1, %%xmm13\n"
   4101          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   4102          "movlps %%xmm13, 0+%2\n"
   4103          "movhps %%xmm13, 8+%2\n"
   4104          :
   4105          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4106          : "xmm12", "xmm13"
   4107       );
   4108 
   4109       if (result0.uq[0] == 0xe5df1fa230385520ULL && result0.uq[1] == 0x101105049484270bULL )
   4110       {
   4111          printf("pclmulqdq_92 ... ok\n");
   4112       }
   4113       else
   4114       {
   4115          printf("pclmulqdq_92 ... not ok\n");
   4116          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe5df1fa230385520ULL);
   4117          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x101105049484270bULL);
   4118       }
   4119    }
   4120    else
   4121    {
   4122       printf("pclmulqdq_92 ... failed\n");
   4123    }
   4124 
   4125    return;
   4126 }
   4127 
   4128 static void pclmulqdq_93(void)
   4129 {
   4130    reg128_t arg1 = { .uq = { 0x114caf63a1e394a7ULL, 0xc8a657b2b79f8940ULL } };
   4131    reg128_t arg2 = { .uq = { 0x64532bda3a7d838fULL, 0xf22995edf3ec80b4ULL } };
   4132    reg128_t result0;
   4133    char state[108];
   4134 
   4135    if (sigsetjmp(catchpoint, 1) == 0)
   4136    {
   4137       asm(
   4138          "ffree %%st(7)\n"
   4139          "ffree %%st(6)\n"
   4140          "ffree %%st(5)\n"
   4141          "ffree %%st(4)\n"
   4142          "movlps 0+%1, %%xmm13\n"
   4143          "movhps 8+%1, %%xmm13\n"
   4144          "pclmulqdq $0, %0, %%xmm13\n"
   4145          "movlps %%xmm13, 0+%2\n"
   4146          "movhps %%xmm13, 8+%2\n"
   4147          :
   4148          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4149          : "xmm12", "xmm13"
   4150       );
   4151 
   4152       if (result0.uq[0] == 0x14b59c3f07c170cdULL && result0.uq[1] == 0x063afa20a20bf1d3ULL )
   4153       {
   4154          printf("pclmulqdq_93 ... ok\n");
   4155       }
   4156       else
   4157       {
   4158          printf("pclmulqdq_93 ... not ok\n");
   4159          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x14b59c3f07c170cdULL);
   4160          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x063afa20a20bf1d3ULL);
   4161       }
   4162    }
   4163    else
   4164    {
   4165       printf("pclmulqdq_93 ... failed\n");
   4166    }
   4167 
   4168    return;
   4169 }
   4170 
   4171 static void pclmulqdq_94(void)
   4172 {
   4173    reg128_t arg1 = { .uq = { 0x7914caf7d8a3ff49ULL, 0xfc8a657cc2ffbe95ULL } };
   4174    reg128_t arg2 = { .uq = { 0xbe4532bf482d9e37ULL, 0x9f2299608ac48e08ULL } };
   4175    reg128_t result0;
   4176    char state[108];
   4177 
   4178    if (sigsetjmp(catchpoint, 1) == 0)
   4179    {
   4180       asm(
   4181          "ffree %%st(7)\n"
   4182          "ffree %%st(6)\n"
   4183          "ffree %%st(5)\n"
   4184          "ffree %%st(4)\n"
   4185          "movlps 0+%1, %%xmm13\n"
   4186          "movhps 8+%1, %%xmm13\n"
   4187          "pclmulqdq $1, %0, %%xmm13\n"
   4188          "movlps %%xmm13, 0+%2\n"
   4189          "movhps %%xmm13, 8+%2\n"
   4190          :
   4191          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4192          : "xmm12", "xmm13"
   4193       );
   4194 
   4195       if (result0.uq[0] == 0xd1b3a3b63ca68448ULL && result0.uq[1] == 0x39b309fce070d54fULL )
   4196       {
   4197          printf("pclmulqdq_94 ... ok\n");
   4198       }
   4199       else
   4200       {
   4201          printf("pclmulqdq_94 ... not ok\n");
   4202          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd1b3a3b63ca68448ULL);
   4203          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x39b309fce070d54fULL);
   4204       }
   4205    }
   4206    else
   4207    {
   4208       printf("pclmulqdq_94 ... failed\n");
   4209    }
   4210 
   4211    return;
   4212 }
   4213 
   4214 static void pclmulqdq_95(void)
   4215 {
   4216    reg128_t arg1 = { .uq = { 0x4f914cb1241005f3ULL, 0xe7c8a65978b5c1eaULL } };
   4217    reg128_t arg2 = { .uq = { 0x73e4532d9b089fe4ULL, 0x39f22997ac320ee1ULL } };
   4218    reg128_t result0;
   4219    char state[108];
   4220 
   4221    if (sigsetjmp(catchpoint, 1) == 0)
   4222    {
   4223       asm(
   4224          "ffree %%st(7)\n"
   4225          "ffree %%st(6)\n"
   4226          "ffree %%st(5)\n"
   4227          "ffree %%st(4)\n"
   4228          "movlps 0+%1, %%xmm13\n"
   4229          "movhps 8+%1, %%xmm13\n"
   4230          "pclmulqdq $16, %0, %%xmm13\n"
   4231          "movlps %%xmm13, 0+%2\n"
   4232          "movhps %%xmm13, 8+%2\n"
   4233          :
   4234          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4235          : "xmm12", "xmm13"
   4236       );
   4237 
   4238       if (result0.uq[0] == 0xfe28658d590ed368ULL && result0.uq[1] == 0x2a0aa820dbbaae83ULL )
   4239       {
   4240          printf("pclmulqdq_95 ... ok\n");
   4241       }
   4242       else
   4243       {
   4244          printf("pclmulqdq_95 ... not ok\n");
   4245          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xfe28658d590ed368ULL);
   4246          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2a0aa820dbbaae83ULL);
   4247       }
   4248    }
   4249    else
   4250    {
   4251       printf("pclmulqdq_95 ... failed\n");
   4252    }
   4253 
   4254    return;
   4255 }
   4256 
   4257 static void pclmulqdq_96(void)
   4258 {
   4259    reg128_t arg1 = { .uq = { 0xdcf914ccbcc6c661ULL, 0xae7c8a6735112221ULL } };
   4260    reg128_t arg2 = { .uq = { 0x973e453471365001ULL, 0x8b9f229b0f48e6f1ULL } };
   4261    reg128_t result0;
   4262    char state[108];
   4263 
   4264    if (sigsetjmp(catchpoint, 1) == 0)
   4265    {
   4266       asm(
   4267          "ffree %%st(7)\n"
   4268          "ffree %%st(6)\n"
   4269          "ffree %%st(5)\n"
   4270          "ffree %%st(4)\n"
   4271          "movlps 0+%1, %%xmm13\n"
   4272          "movhps 8+%1, %%xmm13\n"
   4273          "pclmulqdq $17, %0, %%xmm13\n"
   4274          "movlps %%xmm13, 0+%2\n"
   4275          "movhps %%xmm13, 8+%2\n"
   4276          :
   4277          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4278          : "xmm12", "xmm13"
   4279       );
   4280 
   4281       if (result0.uq[0] == 0x12081cb0e7a6fad1ULL && result0.uq[1] == 0x53e4d12a4d38b461ULL )
   4282       {
   4283          printf("pclmulqdq_96 ... ok\n");
   4284       }
   4285       else
   4286       {
   4287          printf("pclmulqdq_96 ... not ok\n");
   4288          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x12081cb0e7a6fad1ULL);
   4289          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x53e4d12a4d38b461ULL);
   4290       }
   4291    }
   4292    else
   4293    {
   4294       printf("pclmulqdq_96 ... failed\n");
   4295    }
   4296 
   4297    return;
   4298 }
   4299 
   4300 static void pclmulqdq_97(void)
   4301 {
   4302    reg128_t arg1 = { .uq = { 0x85cf914e6e523269ULL, 0x82e7c8a81dd6d825ULL } };
   4303    reg128_t arg2 = { .uq = { 0x8173e454e5992affULL, 0x80b9f22b597a546cULL } };
   4304    reg128_t result0;
   4305    char state[108];
   4306 
   4307    if (sigsetjmp(catchpoint, 1) == 0)
   4308    {
   4309       asm(
   4310          "ffree %%st(7)\n"
   4311          "ffree %%st(6)\n"
   4312          "ffree %%st(5)\n"
   4313          "ffree %%st(4)\n"
   4314          "movlps 0+%0, %%xmm12\n"
   4315          "movhps 8+%0, %%xmm12\n"
   4316          "movlps 0+%1, %%xmm13\n"
   4317          "movhps 8+%1, %%xmm13\n"
   4318          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   4319          "movlps %%xmm13, 0+%2\n"
   4320          "movhps %%xmm13, 8+%2\n"
   4321          :
   4322          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4323          : "xmm12", "xmm13"
   4324       );
   4325 
   4326       if (result0.uq[0] == 0x747ebfee06547327ULL && result0.uq[1] == 0x425a6e980d6f32f8ULL )
   4327       {
   4328          printf("pclmulqdq_97 ... ok\n");
   4329       }
   4330       else
   4331       {
   4332          printf("pclmulqdq_97 ... not ok\n");
   4333          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x747ebfee06547327ULL);
   4334          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x425a6e980d6f32f8ULL);
   4335       }
   4336    }
   4337    else
   4338    {
   4339       printf("pclmulqdq_97 ... failed\n");
   4340    }
   4341 
   4342    return;
   4343 }
   4344 
   4345 static void pclmulqdq_98(void)
   4346 {
   4347    reg128_t arg1 = { .uq = { 0x405cf9168b6ae925ULL, 0xe02e7c8c2c63337fULL } };
   4348    reg128_t arg2 = { .uq = { 0xb0173e46fcdf58acULL, 0x580b9f245d1d6b45ULL } };
   4349    reg128_t result0;
   4350    char state[108];
   4351 
   4352    if (sigsetjmp(catchpoint, 1) == 0)
   4353    {
   4354       asm(
   4355          "ffree %%st(7)\n"
   4356          "ffree %%st(6)\n"
   4357          "ffree %%st(5)\n"
   4358          "ffree %%st(4)\n"
   4359          "movlps 0+%0, %%xmm12\n"
   4360          "movhps 8+%0, %%xmm12\n"
   4361          "movlps 0+%1, %%xmm13\n"
   4362          "movhps 8+%1, %%xmm13\n"
   4363          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   4364          "movlps %%xmm13, 0+%2\n"
   4365          "movhps %%xmm13, 8+%2\n"
   4366          :
   4367          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4368          : "xmm12", "xmm13"
   4369       );
   4370 
   4371       if (result0.uq[0] == 0x10d3ee4c6cada3f1ULL && result0.uq[1] == 0x1612f3ff623fded0ULL )
   4372       {
   4373          printf("pclmulqdq_98 ... ok\n");
   4374       }
   4375       else
   4376       {
   4377          printf("pclmulqdq_98 ... not ok\n");
   4378          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x10d3ee4c6cada3f1ULL);
   4379          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1612f3ff623fded0ULL);
   4380       }
   4381    }
   4382    else
   4383    {
   4384       printf("pclmulqdq_98 ... failed\n");
   4385    }
   4386 
   4387    return;
   4388 }
   4389 
   4390 static void pclmulqdq_99(void)
   4391 {
   4392    reg128_t arg1 = { .uq = { 0xec05cf93053c748fULL, 0xb602e7ca694bf934ULL } };
   4393    reg128_t arg2 = { .uq = { 0x5b0173e61353bb89ULL, 0xed80b9f3e0579cb5ULL } };
   4394    reg128_t result0;
   4395    char state[108];
   4396 
   4397    if (sigsetjmp(catchpoint, 1) == 0)
   4398    {
   4399       asm(
   4400          "ffree %%st(7)\n"
   4401          "ffree %%st(6)\n"
   4402          "ffree %%st(5)\n"
   4403          "ffree %%st(4)\n"
   4404          "movlps 0+%0, %%xmm12\n"
   4405          "movhps 8+%0, %%xmm12\n"
   4406          "movlps 0+%1, %%xmm13\n"
   4407          "movhps 8+%1, %%xmm13\n"
   4408          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   4409          "movlps %%xmm13, 0+%2\n"
   4410          "movhps %%xmm13, 8+%2\n"
   4411          :
   4412          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4413          : "xmm12", "xmm13"
   4414       );
   4415 
   4416       if (result0.uq[0] == 0x465f8b79f0199694ULL && result0.uq[1] == 0x228a0003e5a76b0cULL )
   4417       {
   4418          printf("pclmulqdq_99 ... ok\n");
   4419       }
   4420       else
   4421       {
   4422          printf("pclmulqdq_99 ... not ok\n");
   4423          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x465f8b79f0199694ULL);
   4424          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x228a0003e5a76b0cULL);
   4425       }
   4426    }
   4427    else
   4428    {
   4429       printf("pclmulqdq_99 ... failed\n");
   4430    }
   4431 
   4432    return;
   4433 }
   4434 
   4435 static void pclmulqdq_100(void)
   4436 {
   4437    reg128_t arg1 = { .uq = { 0xb6c05cfad6d98d47ULL, 0x9b602e7e421a8590ULL } };
   4438    reg128_t arg2 = { .uq = { 0x4db0173fffbb01b7ULL, 0xe6d80ba0d68b3fc8ULL } };
   4439    reg128_t result0;
   4440    char state[108];
   4441 
   4442    if (sigsetjmp(catchpoint, 1) == 0)
   4443    {
   4444       asm(
   4445          "ffree %%st(7)\n"
   4446          "ffree %%st(6)\n"
   4447          "ffree %%st(5)\n"
   4448          "ffree %%st(4)\n"
   4449          "movlps 0+%0, %%xmm12\n"
   4450          "movhps 8+%0, %%xmm12\n"
   4451          "movlps 0+%1, %%xmm13\n"
   4452          "movhps 8+%1, %%xmm13\n"
   4453          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   4454          "movlps %%xmm13, 0+%2\n"
   4455          "movhps %%xmm13, 8+%2\n"
   4456          :
   4457          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4458          : "xmm12", "xmm13"
   4459       );
   4460 
   4461       if (result0.uq[0] == 0xf7caf3aef858f080ULL && result0.uq[1] == 0x7b3959bd543d5319ULL )
   4462       {
   4463          printf("pclmulqdq_100 ... ok\n");
   4464       }
   4465       else
   4466       {
   4467          printf("pclmulqdq_100 ... not ok\n");
   4468          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xf7caf3aef858f080ULL);
   4469          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7b3959bd543d5319ULL);
   4470       }
   4471    }
   4472    else
   4473    {
   4474       printf("pclmulqdq_100 ... failed\n");
   4475    }
   4476 
   4477    return;
   4478 }
   4479 
   4480 static void pclmulqdq_101(void)
   4481 {
   4482    reg128_t arg1 = { .uq = { 0x736c05d149f35ed3ULL, 0xf9b602e98ba76e5aULL } };
   4483    reg128_t arg2 = { .uq = { 0x7cdb0175a481761cULL, 0x3e6d80bbb0ee79fdULL } };
   4484    reg128_t result0;
   4485    char state[108];
   4486 
   4487    if (sigsetjmp(catchpoint, 1) == 0)
   4488    {
   4489       asm(
   4490          "ffree %%st(7)\n"
   4491          "ffree %%st(6)\n"
   4492          "ffree %%st(5)\n"
   4493          "ffree %%st(4)\n"
   4494          "movlps 0+%1, %%xmm13\n"
   4495          "movhps 8+%1, %%xmm13\n"
   4496          "pclmulqdq $0, %0, %%xmm13\n"
   4497          "movlps %%xmm13, 0+%2\n"
   4498          "movhps %%xmm13, 8+%2\n"
   4499          :
   4500          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4501          : "xmm12", "xmm13"
   4502       );
   4503 
   4504       if (result0.uq[0] == 0x4d7e2029ce741ae4ULL && result0.uq[1] == 0x17f7c4da2519e2fbULL )
   4505       {
   4506          printf("pclmulqdq_101 ... ok\n");
   4507       }
   4508       else
   4509       {
   4510          printf("pclmulqdq_101 ... not ok\n");
   4511          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4d7e2029ce741ae4ULL);
   4512          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x17f7c4da2519e2fbULL);
   4513       }
   4514    }
   4515    else
   4516    {
   4517       printf("pclmulqdq_101 ... failed\n");
   4518    }
   4519 
   4520    return;
   4521 }
   4522 
   4523 static void pclmulqdq_102(void)
   4524 {
   4525    reg128_t arg1 = { .uq = { 0xdf36c05eaf24fbebULL, 0xaf9b60303e403ce6ULL } };
   4526    reg128_t arg2 = { .uq = { 0x57cdb018fdcddd62ULL, 0x2be6d80d5d94ada0ULL } };
   4527    reg128_t result0;
   4528    char state[108];
   4529 
   4530    if (sigsetjmp(catchpoint, 1) == 0)
   4531    {
   4532       asm(
   4533          "ffree %%st(7)\n"
   4534          "ffree %%st(6)\n"
   4535          "ffree %%st(5)\n"
   4536          "ffree %%st(4)\n"
   4537          "movlps 0+%1, %%xmm13\n"
   4538          "movhps 8+%1, %%xmm13\n"
   4539          "pclmulqdq $1, %0, %%xmm13\n"
   4540          "movlps %%xmm13, 0+%2\n"
   4541          "movhps %%xmm13, 8+%2\n"
   4542          :
   4543          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4544          : "xmm12", "xmm13"
   4545       );
   4546 
   4547       if (result0.uq[0] == 0x0b6d29afcf3d77e0ULL && result0.uq[1] == 0x1c3f14ae1ee34afcULL )
   4548       {
   4549          printf("pclmulqdq_102 ... ok\n");
   4550       }
   4551       else
   4552       {
   4553          printf("pclmulqdq_102 ... not ok\n");
   4554          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x0b6d29afcf3d77e0ULL);
   4555          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1c3f14ae1ee34afcULL);
   4556       }
   4557    }
   4558    else
   4559    {
   4560       printf("pclmulqdq_102 ... failed\n");
   4561    }
   4562 
   4563    return;
   4564 }
   4565 
   4566 static void pclmulqdq_103(void)
   4567 {
   4568    reg128_t arg1 = { .uq = { 0x15f36c078d7815bfULL, 0xcaf9b604ad69c9ccULL } };
   4569    reg128_t arg2 = { .uq = { 0x657cdb033562a3d5ULL, 0xf2be6d82715f10d7ULL } };
   4570    reg128_t result0;
   4571    char state[108];
   4572 
   4573    if (sigsetjmp(catchpoint, 1) == 0)
   4574    {
   4575       asm(
   4576          "ffree %%st(7)\n"
   4577          "ffree %%st(6)\n"
   4578          "ffree %%st(5)\n"
   4579          "ffree %%st(4)\n"
   4580          "movlps 0+%1, %%xmm13\n"
   4581          "movhps 8+%1, %%xmm13\n"
   4582          "pclmulqdq $16, %0, %%xmm13\n"
   4583          "movlps %%xmm13, 0+%2\n"
   4584          "movhps %%xmm13, 8+%2\n"
   4585          :
   4586          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4587          : "xmm12", "xmm13"
   4588       );
   4589 
   4590       if (result0.uq[0] == 0x45492b482259333cULL && result0.uq[1] == 0x28222aa042940471ULL )
   4591       {
   4592          printf("pclmulqdq_103 ... ok\n");
   4593       }
   4594       else
   4595       {
   4596          printf("pclmulqdq_103 ... not ok\n");
   4597          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x45492b482259333cULL);
   4598          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x28222aa042940471ULL);
   4599       }
   4600    }
   4601    else
   4602    {
   4603       printf("pclmulqdq_103 ... failed\n");
   4604    }
   4605 
   4606    return;
   4607 }
   4608 
   4609 static void pclmulqdq_104(void)
   4610 {
   4611    reg128_t arg1 = { .uq = { 0xb95f36c20f5d4758ULL, 0x5caf9b61e65c629bULL } };
   4612    reg128_t arg2 = { .uq = { 0xee57cdb1d9dbf03eULL, 0x772be6d9cb9bb70eULL } };
   4613    reg128_t result0;
   4614    char state[108];
   4615 
   4616    if (sigsetjmp(catchpoint, 1) == 0)
   4617    {
   4618       asm(
   4619          "ffree %%st(7)\n"
   4620          "ffree %%st(6)\n"
   4621          "ffree %%st(5)\n"
   4622          "ffree %%st(4)\n"
   4623          "movlps 0+%1, %%xmm13\n"
   4624          "movhps 8+%1, %%xmm13\n"
   4625          "pclmulqdq $17, %0, %%xmm13\n"
   4626          "movlps %%xmm13, 0+%2\n"
   4627          "movhps %%xmm13, 8+%2\n"
   4628          :
   4629          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4630          : "xmm12", "xmm13"
   4631       );
   4632 
   4633       if (result0.uq[0] == 0xa564c7636b75ca82ULL && result0.uq[1] == 0x18ea04a16910639dULL )
   4634       {
   4635          printf("pclmulqdq_104 ... ok\n");
   4636       }
   4637       else
   4638       {
   4639          printf("pclmulqdq_104 ... not ok\n");
   4640          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xa564c7636b75ca82ULL);
   4641          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x18ea04a16910639dULL);
   4642       }
   4643    }
   4644    else
   4645    {
   4646       printf("pclmulqdq_104 ... failed\n");
   4647    }
   4648 
   4649    return;
   4650 }
   4651 
   4652 static void pclmulqdq_105(void)
   4653 {
   4654    reg128_t arg1 = { .uq = { 0x3b95f36dc47b9a76ULL, 0x1dcaf9b7c0eb8c2aULL } };
   4655    reg128_t arg2 = { .uq = { 0x0ee57cdcbf238504ULL, 0x0772be6f3e3f8171ULL } };
   4656    reg128_t result0;
   4657    char state[108];
   4658 
   4659    if (sigsetjmp(catchpoint, 1) == 0)
   4660    {
   4661       asm(
   4662          "ffree %%st(7)\n"
   4663          "ffree %%st(6)\n"
   4664          "ffree %%st(5)\n"
   4665          "ffree %%st(4)\n"
   4666          "movlps 0+%0, %%xmm12\n"
   4667          "movhps 8+%0, %%xmm12\n"
   4668          "movlps 0+%1, %%xmm13\n"
   4669          "movhps 8+%1, %%xmm13\n"
   4670          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   4671          "movlps %%xmm13, 0+%2\n"
   4672          "movhps %%xmm13, 8+%2\n"
   4673          :
   4674          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4675          : "xmm12", "xmm13"
   4676       );
   4677 
   4678       if (result0.uq[0] == 0x93da7ceefb7cc7d8ULL && result0.uq[1] == 0x01515044e5c70080ULL )
   4679       {
   4680          printf("pclmulqdq_105 ... ok\n");
   4681       }
   4682       else
   4683       {
   4684          printf("pclmulqdq_105 ... not ok\n");
   4685          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x93da7ceefb7cc7d8ULL);
   4686          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x01515044e5c70080ULL);
   4687       }
   4688    }
   4689    else
   4690    {
   4691       printf("pclmulqdq_105 ... failed\n");
   4692    }
   4693 
   4694    return;
   4695 }
   4696 
   4697 static void pclmulqdq_106(void)
   4698 {
   4699    reg128_t arg1 = { .uq = { 0xc3b95f3875cd7fa9ULL, 0xa1dcaf9d11947ec5ULL } };
   4700    reg128_t arg2 = { .uq = { 0x90ee57cf5f77fe4fULL, 0x88772be88669be14ULL } };
   4701    reg128_t result0;
   4702    char state[108];
   4703 
   4704    if (sigsetjmp(catchpoint, 1) == 0)
   4705    {
   4706       asm(
   4707          "ffree %%st(7)\n"
   4708          "ffree %%st(6)\n"
   4709          "ffree %%st(5)\n"
   4710          "ffree %%st(4)\n"
   4711          "movlps 0+%0, %%xmm12\n"
   4712          "movhps 8+%0, %%xmm12\n"
   4713          "movlps 0+%1, %%xmm13\n"
   4714          "movhps 8+%1, %%xmm13\n"
   4715          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   4716          "movlps %%xmm13, 0+%2\n"
   4717          "movhps %%xmm13, 8+%2\n"
   4718          :
   4719          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4720          : "xmm12", "xmm13"
   4721       );
   4722 
   4723       if (result0.uq[0] == 0x1ff2cadc63448a34ULL && result0.uq[1] == 0x67e792c3afe8cc55ULL )
   4724       {
   4725          printf("pclmulqdq_106 ... ok\n");
   4726       }
   4727       else
   4728       {
   4729          printf("pclmulqdq_106 ... not ok\n");
   4730          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1ff2cadc63448a34ULL);
   4731          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x67e792c3afe8cc55ULL);
   4732       }
   4733    }
   4734    else
   4735    {
   4736       printf("pclmulqdq_106 ... failed\n");
   4737    }
   4738 
   4739    return;
   4740 }
   4741 
   4742 static void pclmulqdq_107(void)
   4743 {
   4744    reg128_t arg1 = { .uq = { 0x443b95f521e29df9ULL, 0xe21dcafb779f0dedULL } };
   4745    reg128_t arg2 = { .uq = { 0xb10ee57e927d45e3ULL, 0x988772c01fec61e2ULL } };
   4746    reg128_t result0;
   4747    char state[108];
   4748 
   4749    if (sigsetjmp(catchpoint, 1) == 0)
   4750    {
   4751       asm(
   4752          "ffree %%st(7)\n"
   4753          "ffree %%st(6)\n"
   4754          "ffree %%st(5)\n"
   4755          "ffree %%st(4)\n"
   4756          "movlps 0+%0, %%xmm12\n"
   4757          "movhps 8+%0, %%xmm12\n"
   4758          "movlps 0+%1, %%xmm13\n"
   4759          "movhps 8+%1, %%xmm13\n"
   4760          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   4761          "movlps %%xmm13, 0+%2\n"
   4762          "movhps %%xmm13, 8+%2\n"
   4763          :
   4764          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4765          : "xmm12", "xmm13"
   4766       );
   4767 
   4768       if (result0.uq[0] == 0x0fa35a87a4453f57ULL && result0.uq[1] == 0x638b976af3ff9af9ULL )
   4769       {
   4770          printf("pclmulqdq_107 ... ok\n");
   4771       }
   4772       else
   4773       {
   4774          printf("pclmulqdq_107 ... not ok\n");
   4775          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x0fa35a87a4453f57ULL);
   4776          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x638b976af3ff9af9ULL);
   4777       }
   4778    }
   4779    else
   4780    {
   4781       printf("pclmulqdq_107 ... failed\n");
   4782    }
   4783 
   4784    return;
   4785 }
   4786 
   4787 static void pclmulqdq_108(void)
   4788 {
   4789    reg128_t arg1 = { .uq = { 0x4c43b960eea3efe0ULL, 0x2621dcb155ffb6dfULL } };
   4790    reg128_t arg2 = { .uq = { 0xd310ee5981ad9a5cULL, 0x6988772d9f848c1dULL } };
   4791    reg128_t result0;
   4792    char state[108];
   4793 
   4794    if (sigsetjmp(catchpoint, 1) == 0)
   4795    {
   4796       asm(
   4797          "ffree %%st(7)\n"
   4798          "ffree %%st(6)\n"
   4799          "ffree %%st(5)\n"
   4800          "ffree %%st(4)\n"
   4801          "movlps 0+%0, %%xmm12\n"
   4802          "movhps 8+%0, %%xmm12\n"
   4803          "movlps 0+%1, %%xmm13\n"
   4804          "movhps 8+%1, %%xmm13\n"
   4805          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   4806          "movlps %%xmm13, 0+%2\n"
   4807          "movhps %%xmm13, 8+%2\n"
   4808          :
   4809          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4810          : "xmm12", "xmm13"
   4811       );
   4812 
   4813       if (result0.uq[0] == 0x51c023c60bf9b2abULL && result0.uq[1] == 0x0c494dba164d6a1aULL )
   4814       {
   4815          printf("pclmulqdq_108 ... ok\n");
   4816       }
   4817       else
   4818       {
   4819          printf("pclmulqdq_108 ... not ok\n");
   4820          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x51c023c60bf9b2abULL);
   4821          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0c494dba164d6a1aULL);
   4822       }
   4823    }
   4824    else
   4825    {
   4826       printf("pclmulqdq_108 ... failed\n");
   4827    }
   4828 
   4829    return;
   4830 }
   4831 
   4832 static void pclmulqdq_109(void)
   4833 {
   4834    reg128_t arg1 = { .uq = { 0xf4c43b97a67004fbULL, 0xba621dccb9e5c16eULL } };
   4835    reg128_t arg2 = { .uq = { 0x5d310ee73ba09fa6ULL, 0x2e9887747c7e0ec2ULL } };
   4836    reg128_t result0;
   4837    char state[108];
   4838 
   4839    if (sigsetjmp(catchpoint, 1) == 0)
   4840    {
   4841       asm(
   4842          "ffree %%st(7)\n"
   4843          "ffree %%st(6)\n"
   4844          "ffree %%st(5)\n"
   4845          "ffree %%st(4)\n"
   4846          "movlps 0+%1, %%xmm13\n"
   4847          "movhps 8+%1, %%xmm13\n"
   4848          "pclmulqdq $0, %0, %%xmm13\n"
   4849          "movlps %%xmm13, 0+%2\n"
   4850          "movhps %%xmm13, 8+%2\n"
   4851          :
   4852          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4853          : "xmm12", "xmm13"
   4854       );
   4855 
   4856       if (result0.uq[0] == 0x031c347016c9f1faULL && result0.uq[1] == 0x36ed9d92bc682f1eULL )
   4857       {
   4858          printf("pclmulqdq_109 ... ok\n");
   4859       }
   4860       else
   4861       {
   4862          printf("pclmulqdq_109 ... not ok\n");
   4863          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x031c347016c9f1faULL);
   4864          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x36ed9d92bc682f1eULL);
   4865       }
   4866    }
   4867    else
   4868    {
   4869       printf("pclmulqdq_109 ... failed\n");
   4870    }
   4871 
   4872    return;
   4873 }
   4874 
   4875 static void pclmulqdq_110(void)
   4876 {
   4877    reg128_t arg1 = { .uq = { 0x174c43bb1cecc650ULL, 0x0ba621de6d242217ULL } };
   4878    reg128_t arg2 = { .uq = { 0xc5d310f01d3fcff8ULL, 0x62e98878ed4da6ebULL } };
   4879    reg128_t result0;
   4880    char state[108];
   4881 
   4882    if (sigsetjmp(catchpoint, 1) == 0)
   4883    {
   4884       asm(
   4885          "ffree %%st(7)\n"
   4886          "ffree %%st(6)\n"
   4887          "ffree %%st(5)\n"
   4888          "ffree %%st(4)\n"
   4889          "movlps 0+%1, %%xmm13\n"
   4890          "movhps 8+%1, %%xmm13\n"
   4891          "pclmulqdq $1, %0, %%xmm13\n"
   4892          "movlps %%xmm13, 0+%2\n"
   4893          "movhps %%xmm13, 8+%2\n"
   4894          :
   4895          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4896          : "xmm12", "xmm13"
   4897       );
   4898 
   4899       if (result0.uq[0] == 0xacf5238d6a7eee70ULL && result0.uq[1] == 0x07183a9373413ee5ULL )
   4900       {
   4901          printf("pclmulqdq_110 ... ok\n");
   4902       }
   4903       else
   4904       {
   4905          printf("pclmulqdq_110 ... not ok\n");
   4906          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xacf5238d6a7eee70ULL);
   4907          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x07183a9373413ee5ULL);
   4908       }
   4909    }
   4910    else
   4911    {
   4912       printf("pclmulqdq_110 ... failed\n");
   4913    }
   4914 
   4915    return;
   4916 }
   4917 
   4918 static void pclmulqdq_111(void)
   4919 {
   4920    reg128_t arg1 = { .uq = { 0xf174c43d5d549266ULL, 0x78ba621f8d580822ULL } };
   4921    reg128_t arg2 = { .uq = { 0x3c5d3110a559c300ULL, 0x1e2e9889315aa06fULL } };
   4922    reg128_t result0;
   4923    char state[108];
   4924 
   4925    if (sigsetjmp(catchpoint, 1) == 0)
   4926    {
   4927       asm(
   4928          "ffree %%st(7)\n"
   4929          "ffree %%st(6)\n"
   4930          "ffree %%st(5)\n"
   4931          "ffree %%st(4)\n"
   4932          "movlps 0+%1, %%xmm13\n"
   4933          "movhps 8+%1, %%xmm13\n"
   4934          "pclmulqdq $16, %0, %%xmm13\n"
   4935          "movlps %%xmm13, 0+%2\n"
   4936          "movhps %%xmm13, 8+%2\n"
   4937          :
   4938          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4939          : "xmm12", "xmm13"
   4940       );
   4941 
   4942       if (result0.uq[0] == 0xf27d9c6ac793e600ULL && result0.uq[1] == 0x0aa022a73ecb539dULL )
   4943       {
   4944          printf("pclmulqdq_111 ... ok\n");
   4945       }
   4946       else
   4947       {
   4948          printf("pclmulqdq_111 ... not ok\n");
   4949          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xf27d9c6ac793e600ULL);
   4950          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0aa022a73ecb539dULL);
   4951       }
   4952    }
   4953    else
   4954    {
   4955       printf("pclmulqdq_111 ... failed\n");
   4956    }
   4957 
   4958    return;
   4959 }
   4960 
   4961 static void pclmulqdq_112(void)
   4962 {
   4963    reg128_t arg1 = { .uq = { 0xcf174c456f5b0f24ULL, 0x678ba623965b4681ULL } };
   4964    reg128_t arg2 = { .uq = { 0xf3c5d312a1db6231ULL, 0xb9e2e98a379b7009ULL } };
   4965    reg128_t result0;
   4966    char state[108];
   4967 
   4968    if (sigsetjmp(catchpoint, 1) == 0)
   4969    {
   4970       asm(
   4971          "ffree %%st(7)\n"
   4972          "ffree %%st(6)\n"
   4973          "ffree %%st(5)\n"
   4974          "ffree %%st(4)\n"
   4975          "movlps 0+%1, %%xmm13\n"
   4976          "movhps 8+%1, %%xmm13\n"
   4977          "pclmulqdq $17, %0, %%xmm13\n"
   4978          "movlps %%xmm13, 0+%2\n"
   4979          "movhps %%xmm13, 8+%2\n"
   4980          :
   4981          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   4982          : "xmm12", "xmm13"
   4983       );
   4984 
   4985       if (result0.uq[0] == 0xd950b5c449820289ULL && result0.uq[1] == 0x3a31f7c40b66ebf6ULL )
   4986       {
   4987          printf("pclmulqdq_112 ... ok\n");
   4988       }
   4989       else
   4990       {
   4991          printf("pclmulqdq_112 ... not ok\n");
   4992          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd950b5c449820289ULL);
   4993          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3a31f7c40b66ebf6ULL);
   4994       }
   4995    }
   4996    else
   4997    {
   4998       printf("pclmulqdq_112 ... failed\n");
   4999    }
   5000 
   5001    return;
   5002 }
   5003 
   5004 static void pclmulqdq_113(void)
   5005 {
   5006    reg128_t arg1 = { .uq = { 0x9cf174c5f27b76f5ULL, 0x8e78ba63cfeb7a67ULL } };
   5007    reg128_t arg2 = { .uq = { 0x873c5d32cea37c20ULL, 0x439e2e9a45ff7cffULL } };
   5008    reg128_t result0;
   5009    char state[108];
   5010 
   5011    if (sigsetjmp(catchpoint, 1) == 0)
   5012    {
   5013       asm(
   5014          "ffree %%st(7)\n"
   5015          "ffree %%st(6)\n"
   5016          "ffree %%st(5)\n"
   5017          "ffree %%st(4)\n"
   5018          "movlps 0+%0, %%xmm12\n"
   5019          "movhps 8+%0, %%xmm12\n"
   5020          "movlps 0+%1, %%xmm13\n"
   5021          "movhps 8+%1, %%xmm13\n"
   5022          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   5023          "movlps %%xmm13, 0+%2\n"
   5024          "movhps %%xmm13, 8+%2\n"
   5025          :
   5026          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5027          : "xmm12", "xmm13"
   5028       );
   5029 
   5030       if (result0.uq[0] == 0xd8c13a16143112a0ULL && result0.uq[1] == 0x4db281bbf229390cULL )
   5031       {
   5032          printf("pclmulqdq_113 ... ok\n");
   5033       }
   5034       else
   5035       {
   5036          printf("pclmulqdq_113 ... not ok\n");
   5037          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd8c13a16143112a0ULL);
   5038          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x4db281bbf229390cULL);
   5039       }
   5040    }
   5041    else
   5042    {
   5043       printf("pclmulqdq_113 ... failed\n");
   5044    }
   5045 
   5046    return;
   5047 }
   5048 
   5049 static void pclmulqdq_114(void)
   5050 {
   5051    reg128_t arg1 = { .uq = { 0xe1cf174e09ad7d6cULL, 0x70e78ba7e3847da5ULL } };
   5052    reg128_t arg2 = { .uq = { 0xf873c5d4d86ffdbfULL, 0xbc39e2eb42e5bdccULL } };
   5053    reg128_t result0;
   5054    char state[108];
   5055 
   5056    if (sigsetjmp(catchpoint, 1) == 0)
   5057    {
   5058       asm(
   5059          "ffree %%st(7)\n"
   5060          "ffree %%st(6)\n"
   5061          "ffree %%st(5)\n"
   5062          "ffree %%st(4)\n"
   5063          "movlps 0+%0, %%xmm12\n"
   5064          "movhps 8+%0, %%xmm12\n"
   5065          "movlps 0+%1, %%xmm13\n"
   5066          "movhps 8+%1, %%xmm13\n"
   5067          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   5068          "movlps %%xmm13, 0+%2\n"
   5069          "movhps %%xmm13, 8+%2\n"
   5070          :
   5071          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5072          : "xmm12", "xmm13"
   5073       );
   5074 
   5075       if (result0.uq[0] == 0x71ad667673cd0fd0ULL && result0.uq[1] == 0x665e4345d7dcc057ULL )
   5076       {
   5077          printf("pclmulqdq_114 ... ok\n");
   5078       }
   5079       else
   5080       {
   5081          printf("pclmulqdq_114 ... not ok\n");
   5082          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x71ad667673cd0fd0ULL);
   5083          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x665e4345d7dcc057ULL);
   5084       }
   5085    }
   5086    else
   5087    {
   5088       printf("pclmulqdq_114 ... failed\n");
   5089    }
   5090 
   5091    return;
   5092 }
   5093 
   5094 static void pclmulqdq_115(void)
   5095 {
   5096    reg128_t arg1 = { .uq = { 0x5e1cf17680209dd5ULL, 0xef0e78bc26be0dd7ULL } };
   5097    reg128_t arg2 = { .uq = { 0xb7873c5efa0cc5d8ULL, 0x5bc39e305bb421dbULL } };
   5098    reg128_t result0;
   5099    char state[108];
   5100 
   5101    if (sigsetjmp(catchpoint, 1) == 0)
   5102    {
   5103       asm(
   5104          "ffree %%st(7)\n"
   5105          "ffree %%st(6)\n"
   5106          "ffree %%st(5)\n"
   5107          "ffree %%st(4)\n"
   5108          "movlps 0+%0, %%xmm12\n"
   5109          "movhps 8+%0, %%xmm12\n"
   5110          "movlps 0+%1, %%xmm13\n"
   5111          "movhps 8+%1, %%xmm13\n"
   5112          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   5113          "movlps %%xmm13, 0+%2\n"
   5114          "movhps %%xmm13, 8+%2\n"
   5115          :
   5116          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5117          : "xmm12", "xmm13"
   5118       );
   5119 
   5120       if (result0.uq[0] == 0x4b74700bf2d5e688ULL && result0.uq[1] == 0x666e225b4656f8e1ULL )
   5121       {
   5122          printf("pclmulqdq_115 ... ok\n");
   5123       }
   5124       else
   5125       {
   5126          printf("pclmulqdq_115 ... not ok\n");
   5127          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4b74700bf2d5e688ULL);
   5128          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x666e225b4656f8e1ULL);
   5129       }
   5130    }
   5131    else
   5132    {
   5133       printf("pclmulqdq_115 ... failed\n");
   5134    }
   5135 
   5136    return;
   5137 }
   5138 
   5139 static void pclmulqdq_116(void)
   5140 {
   5141    reg128_t arg1 = { .uq = { 0xede1cf190487cfdeULL, 0x76f0e78d60f1a6deULL } };
   5142    reg128_t arg2 = { .uq = { 0x3b7873c78f26925eULL, 0x1dbc39e4a641081eULL } };
   5143    reg128_t result0;
   5144    char state[108];
   5145 
   5146    if (sigsetjmp(catchpoint, 1) == 0)
   5147    {
   5148       asm(
   5149          "ffree %%st(7)\n"
   5150          "ffree %%st(6)\n"
   5151          "ffree %%st(5)\n"
   5152          "ffree %%st(4)\n"
   5153          "movlps 0+%0, %%xmm12\n"
   5154          "movhps 8+%0, %%xmm12\n"
   5155          "movlps 0+%1, %%xmm13\n"
   5156          "movhps 8+%1, %%xmm13\n"
   5157          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   5158          "movlps %%xmm13, 0+%2\n"
   5159          "movhps %%xmm13, 8+%2\n"
   5160          :
   5161          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5162          : "xmm12", "xmm13"
   5163       );
   5164 
   5165       if (result0.uq[0] == 0x17a07657d2da7dd4ULL && result0.uq[1] == 0x0545154178351fcaULL )
   5166       {
   5167          printf("pclmulqdq_116 ... ok\n");
   5168       }
   5169       else
   5170       {
   5171          printf("pclmulqdq_116 ... not ok\n");
   5172          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x17a07657d2da7dd4ULL);
   5173          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0545154178351fcaULL);
   5174       }
   5175    }
   5176    else
   5177    {
   5178       printf("pclmulqdq_116 ... failed\n");
   5179    }
   5180 
   5181    return;
   5182 }
   5183 
   5184 static void pclmulqdq_117(void)
   5185 {
   5186    reg128_t arg1 = { .uq = { 0x0ede1cf331ce42feULL, 0x076f0e7a7794e06eULL } };
   5187    reg128_t arg2 = { .uq = { 0x03b7873e1a782f26ULL, 0x01dbc39febe9d682ULL } };
   5188    reg128_t result0;
   5189    char state[108];
   5190 
   5191    if (sigsetjmp(catchpoint, 1) == 0)
   5192    {
   5193       asm(
   5194          "ffree %%st(7)\n"
   5195          "ffree %%st(6)\n"
   5196          "ffree %%st(5)\n"
   5197          "ffree %%st(4)\n"
   5198          "movlps 0+%1, %%xmm13\n"
   5199          "movhps 8+%1, %%xmm13\n"
   5200          "pclmulqdq $0, %0, %%xmm13\n"
   5201          "movlps %%xmm13, 0+%2\n"
   5202          "movhps %%xmm13, 8+%2\n"
   5203          :
   5204          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5205          : "xmm12", "xmm13"
   5206       );
   5207 
   5208       if (result0.uq[0] == 0x964b33c978b91bc4ULL && result0.uq[1] == 0x0015145519fbe3f5ULL )
   5209       {
   5210          printf("pclmulqdq_117 ... ok\n");
   5211       }
   5212       else
   5213       {
   5214          printf("pclmulqdq_117 ... not ok\n");
   5215          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x964b33c978b91bc4ULL);
   5216          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0015145519fbe3f5ULL);
   5217       }
   5218    }
   5219    else
   5220    {
   5221       printf("pclmulqdq_117 ... failed\n");
   5222    }
   5223 
   5224    return;
   5225 }
   5226 
   5227 static void pclmulqdq_118(void)
   5228 {
   5229    reg128_t arg1 = { .uq = { 0x00ede1d0d4a2aa30ULL, 0x0076f0e948ff1407ULL } };
   5230    reg128_t arg2 = { .uq = { 0xc03b78758b2d48f0ULL, 0x601dbc3ba4446367ULL } };
   5231    reg128_t result0;
   5232    char state[108];
   5233 
   5234    if (sigsetjmp(catchpoint, 1) == 0)
   5235    {
   5236       asm(
   5237          "ffree %%st(7)\n"
   5238          "ffree %%st(6)\n"
   5239          "ffree %%st(5)\n"
   5240          "ffree %%st(4)\n"
   5241          "movlps 0+%1, %%xmm13\n"
   5242          "movhps 8+%1, %%xmm13\n"
   5243          "pclmulqdq $1, %0, %%xmm13\n"
   5244          "movlps %%xmm13, 0+%2\n"
   5245          "movhps %%xmm13, 8+%2\n"
   5246          :
   5247          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5248          : "xmm12", "xmm13"
   5249       );
   5250 
   5251       if (result0.uq[0] == 0x55314fda6f66cc90ULL && result0.uq[1] == 0x0026cec405b1e6f8ULL )
   5252       {
   5253          printf("pclmulqdq_118 ... ok\n");
   5254       }
   5255       else
   5256       {
   5257          printf("pclmulqdq_118 ... not ok\n");
   5258          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x55314fda6f66cc90ULL);
   5259          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0026cec405b1e6f8ULL);
   5260       }
   5261    }
   5262    else
   5263    {
   5264       printf("pclmulqdq_118 ... failed\n");
   5265    }
   5266 
   5267    return;
   5268 }
   5269 
   5270 static void pclmulqdq_119(void)
   5271 {
   5272    reg128_t arg1 = { .uq = { 0xf00ede1eb8cff0a0ULL, 0x78076f103b15b73fULL } };
   5273    reg128_t arg2 = { .uq = { 0xfc03b788f4389a8cULL, 0x7e01dbc558ca0c35ULL } };
   5274    reg128_t result0;
   5275    char state[108];
   5276 
   5277    if (sigsetjmp(catchpoint, 1) == 0)
   5278    {
   5279       asm(
   5280          "ffree %%st(7)\n"
   5281          "ffree %%st(6)\n"
   5282          "ffree %%st(5)\n"
   5283          "ffree %%st(4)\n"
   5284          "movlps 0+%1, %%xmm13\n"
   5285          "movhps 8+%1, %%xmm13\n"
   5286          "pclmulqdq $16, %0, %%xmm13\n"
   5287          "movlps %%xmm13, 0+%2\n"
   5288          "movhps %%xmm13, 8+%2\n"
   5289          :
   5290          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5291          : "xmm12", "xmm13"
   5292       );
   5293 
   5294       if (result0.uq[0] == 0x6a82fe6939f30c84ULL && result0.uq[1] == 0x28a26c46b7ebe635ULL )
   5295       {
   5296          printf("pclmulqdq_119 ... ok\n");
   5297       }
   5298       else
   5299       {
   5300          printf("pclmulqdq_119 ... not ok\n");
   5301          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6a82fe6939f30c84ULL);
   5302          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x28a26c46b7ebe635ULL);
   5303       }
   5304    }
   5305    else
   5306    {
   5307       printf("pclmulqdq_119 ... failed\n");
   5308    }
   5309 
   5310    return;
   5311 }
   5312 
   5313 static void pclmulqdq_120(void)
   5314 {
   5315    reg128_t arg1 = { .uq = { 0xff00ede38312c507ULL, 0xbf8076f2a8372170ULL } };
   5316    reg128_t arg2 = { .uq = { 0x5fc03b7a32c94fa7ULL, 0xefe01dbdf01266c0ULL } };
   5317    reg128_t result0;
   5318    char state[108];
   5319 
   5320    if (sigsetjmp(catchpoint, 1) == 0)
   5321    {
   5322       asm(
   5323          "ffree %%st(7)\n"
   5324          "ffree %%st(6)\n"
   5325          "ffree %%st(5)\n"
   5326          "ffree %%st(4)\n"
   5327          "movlps 0+%1, %%xmm13\n"
   5328          "movhps 8+%1, %%xmm13\n"
   5329          "pclmulqdq $17, %0, %%xmm13\n"
   5330          "movlps %%xmm13, 0+%2\n"
   5331          "movhps %%xmm13, 8+%2\n"
   5332          :
   5333          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5334          : "xmm12", "xmm13"
   5335       );
   5336 
   5337       if (result0.uq[0] == 0xdcc216f4dd0dc400ULL && result0.uq[1] == 0x617576c564455645ULL )
   5338       {
   5339          printf("pclmulqdq_120 ... ok\n");
   5340       }
   5341       else
   5342       {
   5343          printf("pclmulqdq_120 ... not ok\n");
   5344          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xdcc216f4dd0dc400ULL);
   5345          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x617576c564455645ULL);
   5346       }
   5347    }
   5348    else
   5349    {
   5350       printf("pclmulqdq_120 ... failed\n");
   5351    }
   5352 
   5353    return;
   5354 }
   5355 
   5356 static void pclmulqdq_121(void)
   5357 {
   5358    reg128_t arg1 = { .uq = { 0x77f00edfd6b6f24fULL, 0xfbf80770c2093814ULL } };
   5359    reg128_t arg2 = { .uq = { 0x7dfc03b93fb25af9ULL, 0xfefe01dd7686ec6dULL } };
   5360    reg128_t result0;
   5361    char state[108];
   5362 
   5363    if (sigsetjmp(catchpoint, 1) == 0)
   5364    {
   5365       asm(
   5366          "ffree %%st(7)\n"
   5367          "ffree %%st(6)\n"
   5368          "ffree %%st(5)\n"
   5369          "ffree %%st(4)\n"
   5370          "movlps 0+%0, %%xmm12\n"
   5371          "movhps 8+%0, %%xmm12\n"
   5372          "movlps 0+%1, %%xmm13\n"
   5373          "movhps 8+%1, %%xmm13\n"
   5374          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   5375          "movlps %%xmm13, 0+%2\n"
   5376          "movhps %%xmm13, 8+%2\n"
   5377          :
   5378          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5379          : "xmm12", "xmm13"
   5380       );
   5381 
   5382       if (result0.uq[0] == 0x8bf569c40aba6f67ULL && result0.uq[1] == 0x1647572ea59fec88ULL )
   5383       {
   5384          printf("pclmulqdq_121 ... ok\n");
   5385       }
   5386       else
   5387       {
   5388          printf("pclmulqdq_121 ... not ok\n");
   5389          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8bf569c40aba6f67ULL);
   5390          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1647572ea59fec88ULL);
   5391       }
   5392    }
   5393    else
   5394    {
   5395       printf("pclmulqdq_121 ... failed\n");
   5396    }
   5397 
   5398    return;
   5399 }
   5400 
   5401 static void pclmulqdq_122(void)
   5402 {
   5403    reg128_t arg1 = { .uq = { 0xbf7f00ef91f13523ULL, 0x9fbf80789fa65982ULL } };
   5404    reg128_t arg2 = { .uq = { 0x4fdfc03d2e80ebb0ULL, 0x27efe01f75ee34c7ULL } };
   5405    reg128_t result0;
   5406    char state[108];
   5407 
   5408    if (sigsetjmp(catchpoint, 1) == 0)
   5409    {
   5410       asm(
   5411          "ffree %%st(7)\n"
   5412          "ffree %%st(6)\n"
   5413          "ffree %%st(5)\n"
   5414          "ffree %%st(4)\n"
   5415          "movlps 0+%0, %%xmm12\n"
   5416          "movhps 8+%0, %%xmm12\n"
   5417          "movlps 0+%1, %%xmm13\n"
   5418          "movhps 8+%1, %%xmm13\n"
   5419          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   5420          "movlps %%xmm13, 0+%2\n"
   5421          "movhps %%xmm13, 8+%2\n"
   5422          :
   5423          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5424          : "xmm12", "xmm13"
   5425       );
   5426 
   5427       if (result0.uq[0] == 0x1884b704d5d08ea9ULL && result0.uq[1] == 0x14b2b2b889275ed6ULL )
   5428       {
   5429          printf("pclmulqdq_122 ... ok\n");
   5430       }
   5431       else
   5432       {
   5433          printf("pclmulqdq_122 ... not ok\n");
   5434          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1884b704d5d08ea9ULL);
   5435          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x14b2b2b889275ed6ULL);
   5436       }
   5437    }
   5438    else
   5439    {
   5440       printf("pclmulqdq_122 ... failed\n");
   5441    }
   5442 
   5443    return;
   5444 }
   5445 
   5446 static void pclmulqdq_123(void)
   5447 {
   5448    reg128_t arg1 = { .uq = { 0xd3f7f01091a4d950ULL, 0x69fbf80927802b97ULL } };
   5449    reg128_t arg2 = { .uq = { 0xf4fdfc057a6dd4b8ULL, 0x7a7efe039be4a94bULL } };
   5450    reg128_t result0;
   5451    char state[108];
   5452 
   5453    if (sigsetjmp(catchpoint, 1) == 0)
   5454    {
   5455       asm(
   5456          "ffree %%st(7)\n"
   5457          "ffree %%st(6)\n"
   5458          "ffree %%st(5)\n"
   5459          "ffree %%st(4)\n"
   5460          "movlps 0+%0, %%xmm12\n"
   5461          "movhps 8+%0, %%xmm12\n"
   5462          "movlps 0+%1, %%xmm13\n"
   5463          "movhps 8+%1, %%xmm13\n"
   5464          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   5465          "movlps %%xmm13, 0+%2\n"
   5466          "movhps %%xmm13, 8+%2\n"
   5467          :
   5468          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5469          : "xmm12", "xmm13"
   5470       );
   5471 
   5472       if (result0.uq[0] == 0x2fa301cae17930a8ULL && result0.uq[1] == 0x24a3a8a439dad38bULL )
   5473       {
   5474          printf("pclmulqdq_123 ... ok\n");
   5475       }
   5476       else
   5477       {
   5478          printf("pclmulqdq_123 ... not ok\n");
   5479          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x2fa301cae17930a8ULL);
   5480          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x24a3a8a439dad38bULL);
   5481       }
   5482    }
   5483    else
   5484    {
   5485       printf("pclmulqdq_123 ... failed\n");
   5486    }
   5487 
   5488    return;
   5489 }
   5490 
   5491 static void pclmulqdq_124(void)
   5492 {
   5493    reg128_t arg1 = { .uq = { 0xfd3f7f02a4a01396ULL, 0x7e9fbf8230fdc8baULL } };
   5494    reg128_t arg2 = { .uq = { 0x3f4fdfc1f72ca34cULL, 0x1fa7efe1da441095ULL } };
   5495    reg128_t result0;
   5496    char state[108];
   5497 
   5498    if (sigsetjmp(catchpoint, 1) == 0)
   5499    {
   5500       asm(
   5501          "ffree %%st(7)\n"
   5502          "ffree %%st(6)\n"
   5503          "ffree %%st(5)\n"
   5504          "ffree %%st(4)\n"
   5505          "movlps 0+%0, %%xmm12\n"
   5506          "movhps 8+%0, %%xmm12\n"
   5507          "movlps 0+%1, %%xmm13\n"
   5508          "movhps 8+%1, %%xmm13\n"
   5509          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   5510          "movlps %%xmm13, 0+%2\n"
   5511          "movhps %%xmm13, 8+%2\n"
   5512          :
   5513          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5514          : "xmm12", "xmm13"
   5515       );
   5516 
   5517       if (result0.uq[0] == 0x5cff626dd6d19cf2ULL && result0.uq[1] == 0x0555105536974019ULL )
   5518       {
   5519          printf("pclmulqdq_124 ... ok\n");
   5520       }
   5521       else
   5522       {
   5523          printf("pclmulqdq_124 ... not ok\n");
   5524          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5cff626dd6d19cf2ULL);
   5525          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0555105536974019ULL);
   5526       }
   5527    }
   5528    else
   5529    {
   5530       printf("pclmulqdq_124 ... failed\n");
   5531    }
   5532 
   5533    return;
   5534 }
   5535 
   5536 static void pclmulqdq_125(void)
   5537 {
   5538    reg128_t arg1 = { .uq = { 0xcfd3f7f1c3cfc737ULL, 0xa7e9fbf9c895a288ULL } };
   5539    reg128_t arg2 = { .uq = { 0x53f4fdfdc2f89033ULL, 0xe9fa7effc82a070aULL } };
   5540    reg128_t result0;
   5541    char state[108];
   5542 
   5543    if (sigsetjmp(catchpoint, 1) == 0)
   5544    {
   5545       asm(
   5546          "ffree %%st(7)\n"
   5547          "ffree %%st(6)\n"
   5548          "ffree %%st(5)\n"
   5549          "ffree %%st(4)\n"
   5550          "movlps 0+%1, %%xmm13\n"
   5551          "movhps 8+%1, %%xmm13\n"
   5552          "pclmulqdq $0, %0, %%xmm13\n"
   5553          "movlps %%xmm13, 0+%2\n"
   5554          "movhps %%xmm13, 8+%2\n"
   5555          :
   5556          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5557          : "xmm12", "xmm13"
   5558       );
   5559 
   5560       if (result0.uq[0] == 0xf6af04decad42cc9ULL && result0.uq[1] == 0x3e1bd743a16ab263ULL )
   5561       {
   5562          printf("pclmulqdq_125 ... ok\n");
   5563       }
   5564       else
   5565       {
   5566          printf("pclmulqdq_125 ... not ok\n");
   5567          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xf6af04decad42cc9ULL);
   5568          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3e1bd743a16ab263ULL);
   5569       }
   5570    }
   5571    else
   5572    {
   5573       printf("pclmulqdq_125 ... failed\n");
   5574    }
   5575 
   5576    return;
   5577 }
   5578 
   5579 static void pclmulqdq_126(void)
   5580 {
   5581    reg128_t arg1 = { .uq = { 0x74fd3f80c2c2c274ULL, 0x3a7e9fc1400f2029ULL } };
   5582    reg128_t arg2 = { .uq = { 0xdd3f4fe186b54f05ULL, 0xae9fa7f1aa08666fULL } };
   5583    reg128_t result0;
   5584    char state[108];
   5585 
   5586    if (sigsetjmp(catchpoint, 1) == 0)
   5587    {
   5588       asm(
   5589          "ffree %%st(7)\n"
   5590          "ffree %%st(6)\n"
   5591          "ffree %%st(5)\n"
   5592          "ffree %%st(4)\n"
   5593          "movlps 0+%1, %%xmm13\n"
   5594          "movhps 8+%1, %%xmm13\n"
   5595          "pclmulqdq $1, %0, %%xmm13\n"
   5596          "movlps %%xmm13, 0+%2\n"
   5597          "movhps %%xmm13, 8+%2\n"
   5598          :
   5599          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5600          : "xmm12", "xmm13"
   5601       );
   5602 
   5603       if (result0.uq[0] == 0x663f048b0f4c376cULL && result0.uq[1] == 0x3643329a1e33c49cULL )
   5604       {
   5605          printf("pclmulqdq_126 ... ok\n");
   5606       }
   5607       else
   5608       {
   5609          printf("pclmulqdq_126 ... not ok\n");
   5610          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x663f048b0f4c376cULL);
   5611          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3643329a1e33c49cULL);
   5612       }
   5613    }
   5614    else
   5615    {
   5616       printf("pclmulqdq_126 ... failed\n");
   5617    }
   5618 
   5619    return;
   5620 }
   5621 
   5622 static void pclmulqdq_127(void)
   5623 {
   5624    reg128_t arg1 = { .uq = { 0x974fd3f9bbb1f224ULL, 0x4ba7e9fdbc86b801ULL } };
   5625    reg128_t arg2 = { .uq = { 0xe5d3f4ffb4f11af1ULL, 0xb2e9fa80b1264c69ULL } };
   5626    reg128_t result0;
   5627    char state[108];
   5628 
   5629    if (sigsetjmp(catchpoint, 1) == 0)
   5630    {
   5631       asm(
   5632          "ffree %%st(7)\n"
   5633          "ffree %%st(6)\n"
   5634          "ffree %%st(5)\n"
   5635          "ffree %%st(4)\n"
   5636          "movlps 0+%1, %%xmm13\n"
   5637          "movhps 8+%1, %%xmm13\n"
   5638          "pclmulqdq $16, %0, %%xmm13\n"
   5639          "movlps %%xmm13, 0+%2\n"
   5640          "movhps %%xmm13, 8+%2\n"
   5641          :
   5642          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5643          : "xmm12", "xmm13"
   5644       );
   5645 
   5646       if (result0.uq[0] == 0x2db9e522590922f1ULL && result0.uq[1] == 0x3f18ac8b499a5fdbULL )
   5647       {
   5648          printf("pclmulqdq_127 ... ok\n");
   5649       }
   5650       else
   5651       {
   5652          printf("pclmulqdq_127 ... not ok\n");
   5653          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x2db9e522590922f1ULL);
   5654          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3f18ac8b499a5fdbULL);
   5655       }
   5656    }
   5657    else
   5658    {
   5659       printf("pclmulqdq_127 ... failed\n");
   5660    }
   5661 
   5662    return;
   5663 }
   5664 
   5665 static void pclmulqdq_128(void)
   5666 {
   5667    reg128_t arg1 = { .uq = { 0x9974fd412f40e525ULL, 0x8cba7ea17e4e317fULL } };
   5668    reg128_t arg2 = { .uq = { 0x865d3f5195d4d7acULL, 0x432e9fa9a9982ac5ULL } };
   5669    reg128_t result0;
   5670    char state[108];
   5671 
   5672    if (sigsetjmp(catchpoint, 1) == 0)
   5673    {
   5674       asm(
   5675          "ffree %%st(7)\n"
   5676          "ffree %%st(6)\n"
   5677          "ffree %%st(5)\n"
   5678          "ffree %%st(4)\n"
   5679          "movlps 0+%1, %%xmm13\n"
   5680          "movhps 8+%1, %%xmm13\n"
   5681          "pclmulqdq $17, %0, %%xmm13\n"
   5682          "movlps %%xmm13, 0+%2\n"
   5683          "movhps %%xmm13, 8+%2\n"
   5684          :
   5685          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5686          : "xmm12", "xmm13"
   5687       );
   5688 
   5689       if (result0.uq[0] == 0x10a01544dcacf2c3ULL && result0.uq[1] == 0x22adc12d86b454a7ULL )
   5690       {
   5691          printf("pclmulqdq_128 ... ok\n");
   5692       }
   5693       else
   5694       {
   5695          printf("pclmulqdq_128 ... not ok\n");
   5696          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x10a01544dcacf2c3ULL);
   5697          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x22adc12d86b454a7ULL);
   5698       }
   5699    }
   5700    else
   5701    {
   5702       printf("pclmulqdq_128 ... failed\n");
   5703    }
   5704 
   5705    return;
   5706 }
   5707 
   5708 static void pclmulqdq_129(void)
   5709 {
   5710    reg128_t arg1 = { .uq = { 0xe1974fd5bb79d44fULL, 0xb0cba7ebb46aa914ULL } };
   5711    reg128_t arg2 = { .uq = { 0x5865d3f6b8e31379ULL, 0xec32e9fc331f48adULL } };
   5712    reg128_t result0;
   5713    char state[108];
   5714 
   5715    if (sigsetjmp(catchpoint, 1) == 0)
   5716    {
   5717       asm(
   5718          "ffree %%st(7)\n"
   5719          "ffree %%st(6)\n"
   5720          "ffree %%st(5)\n"
   5721          "ffree %%st(4)\n"
   5722          "movlps 0+%0, %%xmm12\n"
   5723          "movhps 8+%0, %%xmm12\n"
   5724          "movlps 0+%1, %%xmm13\n"
   5725          "movhps 8+%1, %%xmm13\n"
   5726          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   5727          "movlps %%xmm13, 0+%2\n"
   5728          "movhps %%xmm13, 8+%2\n"
   5729          :
   5730          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5731          : "xmm12", "xmm13"
   5732       );
   5733 
   5734       if (result0.uq[0] == 0x39f8c415582c89e7ULL && result0.uq[1] == 0x31576a4bfbf9de3fULL )
   5735       {
   5736          printf("pclmulqdq_129 ... ok\n");
   5737       }
   5738       else
   5739       {
   5740          printf("pclmulqdq_129 ... not ok\n");
   5741          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x39f8c415582c89e7ULL);
   5742          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x31576a4bfbf9de3fULL);
   5743       }
   5744    }
   5745    else
   5746    {
   5747       printf("pclmulqdq_129 ... failed\n");
   5748    }
   5749 
   5750    return;
   5751 }
   5752 
   5753 static void pclmulqdq_130(void)
   5754 {
   5755    reg128_t arg1 = { .uq = { 0xb61974fef03d6343ULL, 0x9b0cba804ecc7092ULL } };
   5756    reg128_t arg2 = { .uq = { 0x4d865d410613f738ULL, 0x26c32ea161b7ba8bULL } };
   5757    reg128_t result0;
   5758    char state[108];
   5759 
   5760    if (sigsetjmp(catchpoint, 1) == 0)
   5761    {
   5762       asm(
   5763          "ffree %%st(7)\n"
   5764          "ffree %%st(6)\n"
   5765          "ffree %%st(5)\n"
   5766          "ffree %%st(4)\n"
   5767          "movlps 0+%0, %%xmm12\n"
   5768          "movhps 8+%0, %%xmm12\n"
   5769          "movlps 0+%1, %%xmm13\n"
   5770          "movhps 8+%1, %%xmm13\n"
   5771          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   5772          "movlps %%xmm13, 0+%2\n"
   5773          "movhps %%xmm13, 8+%2\n"
   5774          :
   5775          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5776          : "xmm12", "xmm13"
   5777       );
   5778 
   5779       if (result0.uq[0] == 0xfe6e5df6e325505dULL && result0.uq[1] == 0x150039e3f5d91dc7ULL )
   5780       {
   5781          printf("pclmulqdq_130 ... ok\n");
   5782       }
   5783       else
   5784       {
   5785          printf("pclmulqdq_130 ... not ok\n");
   5786          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xfe6e5df6e325505dULL);
   5787          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x150039e3f5d91dc7ULL);
   5788       }
   5789    }
   5790    else
   5791    {
   5792       printf("pclmulqdq_130 ... failed\n");
   5793    }
   5794 
   5795    return;
   5796 }
   5797 
   5798 static void pclmulqdq_131(void)
   5799 {
   5800    reg128_t arg1 = { .uq = { 0xd361975197899c36ULL, 0x69b0cba9aa728d0aULL } };
   5801    reg128_t arg2 = { .uq = { 0x34d865d5b3e70574ULL, 0x1a6c32ebb8a141a9ULL } };
   5802    reg128_t result0;
   5803    char state[108];
   5804 
   5805    if (sigsetjmp(catchpoint, 1) == 0)
   5806    {
   5807       asm(
   5808          "ffree %%st(7)\n"
   5809          "ffree %%st(6)\n"
   5810          "ffree %%st(5)\n"
   5811          "ffree %%st(4)\n"
   5812          "movlps 0+%0, %%xmm12\n"
   5813          "movhps 8+%0, %%xmm12\n"
   5814          "movlps 0+%1, %%xmm13\n"
   5815          "movhps 8+%1, %%xmm13\n"
   5816          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   5817          "movlps %%xmm13, 0+%2\n"
   5818          "movhps %%xmm13, 8+%2\n"
   5819          :
   5820          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5821          : "xmm12", "xmm13"
   5822       );
   5823 
   5824       if (result0.uq[0] == 0x51a65ce85f5f2548ULL && result0.uq[1] == 0x0a20a2805797ed23ULL )
   5825       {
   5826          printf("pclmulqdq_131 ... ok\n");
   5827       }
   5828       else
   5829       {
   5830          printf("pclmulqdq_131 ... not ok\n");
   5831          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x51a65ce85f5f2548ULL);
   5832          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0a20a2805797ed23ULL);
   5833       }
   5834    }
   5835    else
   5836    {
   5837       printf("pclmulqdq_131 ... failed\n");
   5838    }
   5839 
   5840    return;
   5841 }
   5842 
   5843 static void pclmulqdq_132(void)
   5844 {
   5845    reg128_t arg1 = { .uq = { 0xcd361976b2fe5fc5ULL, 0xa69b0cbc302ceecfULL } };
   5846    reg128_t arg2 = { .uq = { 0x934d865eeec43654ULL, 0x49a6c330560fda19ULL } };
   5847    reg128_t result0;
   5848    char state[108];
   5849 
   5850    if (sigsetjmp(catchpoint, 1) == 0)
   5851    {
   5852       asm(
   5853          "ffree %%st(7)\n"
   5854          "ffree %%st(6)\n"
   5855          "ffree %%st(5)\n"
   5856          "ffree %%st(4)\n"
   5857          "movlps 0+%0, %%xmm12\n"
   5858          "movhps 8+%0, %%xmm12\n"
   5859          "movlps 0+%1, %%xmm13\n"
   5860          "movhps 8+%1, %%xmm13\n"
   5861          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   5862          "movlps %%xmm13, 0+%2\n"
   5863          "movhps %%xmm13, 8+%2\n"
   5864          :
   5865          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5866          : "xmm12", "xmm13"
   5867       );
   5868 
   5869       if (result0.uq[0] == 0x743fc6e863032247ULL && result0.uq[1] == 0x2c70b2e5c1075701ULL )
   5870       {
   5871          printf("pclmulqdq_132 ... ok\n");
   5872       }
   5873       else
   5874       {
   5875          printf("pclmulqdq_132 ... not ok\n");
   5876          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x743fc6e863032247ULL);
   5877          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2c70b2e5c1075701ULL);
   5878       }
   5879    }
   5880    else
   5881    {
   5882       printf("pclmulqdq_132 ... failed\n");
   5883    }
   5884 
   5885    return;
   5886 }
   5887 
   5888 static void pclmulqdq_133(void)
   5889 {
   5890    reg128_t arg1 = { .uq = { 0xe4d3619901b5abfdULL, 0xb269b0cd678894ebULL } };
   5891    reg128_t arg2 = { .uq = { 0x9934d8679a720966ULL, 0x4c9a6c34abe6c3a2ULL } };
   5892    reg128_t result0;
   5893    char state[108];
   5894 
   5895    if (sigsetjmp(catchpoint, 1) == 0)
   5896    {
   5897       asm(
   5898          "ffree %%st(7)\n"
   5899          "ffree %%st(6)\n"
   5900          "ffree %%st(5)\n"
   5901          "ffree %%st(4)\n"
   5902          "movlps 0+%1, %%xmm13\n"
   5903          "movhps 8+%1, %%xmm13\n"
   5904          "pclmulqdq $0, %0, %%xmm13\n"
   5905          "movlps %%xmm13, 0+%2\n"
   5906          "movhps %%xmm13, 8+%2\n"
   5907          :
   5908          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5909          : "xmm12", "xmm13"
   5910       );
   5911 
   5912       if (result0.uq[0] == 0xe48d608e6c5c6deeULL && result0.uq[1] == 0x7bf7c8be42cbc359ULL )
   5913       {
   5914          printf("pclmulqdq_133 ... ok\n");
   5915       }
   5916       else
   5917       {
   5918          printf("pclmulqdq_133 ... not ok\n");
   5919          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe48d608e6c5c6deeULL);
   5920          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7bf7c8be42cbc359ULL);
   5921       }
   5922    }
   5923    else
   5924    {
   5925       printf("pclmulqdq_133 ... failed\n");
   5926    }
   5927 
   5928    return;
   5929 }
   5930 
   5931 static void pclmulqdq_134(void)
   5932 {
   5933    reg128_t arg1 = { .uq = { 0x264d361b34a120c0ULL, 0x13269b0e78fe4f4fULL } };
   5934    reg128_t arg2 = { .uq = { 0xc9934d88132ce694ULL, 0x64c9a6c4e8443239ULL } };
   5935    reg128_t result0;
   5936    char state[108];
   5937 
   5938    if (sigsetjmp(catchpoint, 1) == 0)
   5939    {
   5940       asm(
   5941          "ffree %%st(7)\n"
   5942          "ffree %%st(6)\n"
   5943          "ffree %%st(5)\n"
   5944          "ffree %%st(4)\n"
   5945          "movlps 0+%1, %%xmm13\n"
   5946          "movhps 8+%1, %%xmm13\n"
   5947          "pclmulqdq $1, %0, %%xmm13\n"
   5948          "movlps %%xmm13, 0+%2\n"
   5949          "movhps %%xmm13, 8+%2\n"
   5950          :
   5951          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5952          : "xmm12", "xmm13"
   5953       );
   5954 
   5955       if (result0.uq[0] == 0x4e519b2288cbb2c0ULL && result0.uq[1] == 0x0dd8694f6a24e1f8ULL )
   5956       {
   5957          printf("pclmulqdq_134 ... ok\n");
   5958       }
   5959       else
   5960       {
   5961          printf("pclmulqdq_134 ... not ok\n");
   5962          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4e519b2288cbb2c0ULL);
   5963          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0dd8694f6a24e1f8ULL);
   5964       }
   5965    }
   5966    else
   5967    {
   5968       printf("pclmulqdq_134 ... failed\n");
   5969    }
   5970 
   5971    return;
   5972 }
   5973 
   5974 static void pclmulqdq_135(void)
   5975 {
   5976    reg128_t arg1 = { .uq = { 0xf264d3635acfd80dULL, 0xb93269b28415aaf3ULL } };
   5977    reg128_t arg2 = { .uq = { 0x9c9934da28b8946aULL, 0x4e4c9a6df30a0924ULL } };
   5978    reg128_t result0;
   5979    char state[108];
   5980 
   5981    if (sigsetjmp(catchpoint, 1) == 0)
   5982    {
   5983       asm(
   5984          "ffree %%st(7)\n"
   5985          "ffree %%st(6)\n"
   5986          "ffree %%st(5)\n"
   5987          "ffree %%st(4)\n"
   5988          "movlps 0+%1, %%xmm13\n"
   5989          "movhps 8+%1, %%xmm13\n"
   5990          "pclmulqdq $16, %0, %%xmm13\n"
   5991          "movlps %%xmm13, 0+%2\n"
   5992          "movhps %%xmm13, 8+%2\n"
   5993          :
   5994          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   5995          : "xmm12", "xmm13"
   5996       );
   5997 
   5998       if (result0.uq[0] == 0xe72a61cb516c9cdeULL && result0.uq[1] == 0x50752c361fe9f790ULL )
   5999       {
   6000          printf("pclmulqdq_135 ... ok\n");
   6001       }
   6002       else
   6003       {
   6004          printf("pclmulqdq_135 ... not ok\n");
   6005          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe72a61cb516c9cdeULL);
   6006          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x50752c361fe9f790ULL);
   6007       }
   6008    }
   6009    else
   6010    {
   6011       printf("pclmulqdq_135 ... failed\n");
   6012    }
   6013 
   6014    return;
   6015 }
   6016 
   6017 static void pclmulqdq_136(void)
   6018 {
   6019    reg128_t arg1 = { .uq = { 0x27264d37d832c381ULL, 0xd393269cc2c720b1ULL } };
   6020    reg128_t arg2 = { .uq = { 0xa9c9934f48114f49ULL, 0x94e4c9a88ab66695ULL } };
   6021    reg128_t result0;
   6022    char state[108];
   6023 
   6024    if (sigsetjmp(catchpoint, 1) == 0)
   6025    {
   6026       asm(
   6027          "ffree %%st(7)\n"
   6028          "ffree %%st(6)\n"
   6029          "ffree %%st(5)\n"
   6030          "ffree %%st(4)\n"
   6031          "movlps 0+%1, %%xmm13\n"
   6032          "movhps 8+%1, %%xmm13\n"
   6033          "pclmulqdq $17, %0, %%xmm13\n"
   6034          "movlps %%xmm13, 0+%2\n"
   6035          "movhps %%xmm13, 8+%2\n"
   6036          :
   6037          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6038          : "xmm12", "xmm13"
   6039       );
   6040 
   6041       if (result0.uq[0] == 0x086a7585d4d637e5ULL && result0.uq[1] == 0x67faa7d867e596e8ULL )
   6042       {
   6043          printf("pclmulqdq_136 ... ok\n");
   6044       }
   6045       else
   6046       {
   6047          printf("pclmulqdq_136 ... not ok\n");
   6048          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x086a7585d4d637e5ULL);
   6049          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x67faa7d867e596e8ULL);
   6050       }
   6051    }
   6052    else
   6053    {
   6054       printf("pclmulqdq_136 ... failed\n");
   6055    }
   6056 
   6057    return;
   6058 }
   6059 
   6060 static void pclmulqdq_137(void)
   6061 {
   6062    reg128_t arg1 = { .uq = { 0x8a7264d52c08f237ULL, 0x8539326b7cb23808ULL } };
   6063    reg128_t arg2 = { .uq = { 0x429c99369d06daf3ULL, 0xe14e4c9c25312c6aULL } };
   6064    reg128_t result0;
   6065    char state[108];
   6066 
   6067    if (sigsetjmp(catchpoint, 1) == 0)
   6068    {
   6069       asm(
   6070          "ffree %%st(7)\n"
   6071          "ffree %%st(6)\n"
   6072          "ffree %%st(5)\n"
   6073          "ffree %%st(4)\n"
   6074          "movlps 0+%0, %%xmm12\n"
   6075          "movhps 8+%0, %%xmm12\n"
   6076          "movlps 0+%1, %%xmm13\n"
   6077          "movhps 8+%1, %%xmm13\n"
   6078          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   6079          "movlps %%xmm13, 0+%2\n"
   6080          "movhps %%xmm13, 8+%2\n"
   6081          :
   6082          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6083          : "xmm12", "xmm13"
   6084       );
   6085 
   6086       if (result0.uq[0] == 0x4100ed2820bf0389ULL && result0.uq[1] == 0x23c3d0ef192c679bULL )
   6087       {
   6088          printf("pclmulqdq_137 ... ok\n");
   6089       }
   6090       else
   6091       {
   6092          printf("pclmulqdq_137 ... not ok\n");
   6093          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4100ed2820bf0389ULL);
   6094          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x23c3d0ef192c679bULL);
   6095       }
   6096    }
   6097    else
   6098    {
   6099       printf("pclmulqdq_137 ... failed\n");
   6100    }
   6101 
   6102    return;
   6103 }
   6104 
   6105 static void pclmulqdq_138(void)
   6106 {
   6107    reg128_t arg1 = { .uq = { 0x70a7264ef1465524ULL, 0x385393285750e981ULL } };
   6108    reg128_t arg2 = { .uq = { 0xdc29c995025633b1ULL, 0xae14e4cb67d8d8c9ULL } };
   6109    reg128_t result0;
   6110    char state[108];
   6111 
   6112    if (sigsetjmp(catchpoint, 1) == 0)
   6113    {
   6114       asm(
   6115          "ffree %%st(7)\n"
   6116          "ffree %%st(6)\n"
   6117          "ffree %%st(5)\n"
   6118          "ffree %%st(4)\n"
   6119          "movlps 0+%0, %%xmm12\n"
   6120          "movhps 8+%0, %%xmm12\n"
   6121          "movlps 0+%1, %%xmm13\n"
   6122          "movhps 8+%1, %%xmm13\n"
   6123          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   6124          "movlps %%xmm13, 0+%2\n"
   6125          "movhps %%xmm13, 8+%2\n"
   6126          :
   6127          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6128          : "xmm12", "xmm13"
   6129       );
   6130 
   6131       if (result0.uq[0] == 0x8f6981733d8b4704ULL && result0.uq[1] == 0x34e77f6cd5d2d608ULL )
   6132       {
   6133          printf("pclmulqdq_138 ... ok\n");
   6134       }
   6135       else
   6136       {
   6137          printf("pclmulqdq_138 ... not ok\n");
   6138          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8f6981733d8b4704ULL);
   6139          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x34e77f6cd5d2d608ULL);
   6140       }
   6141    }
   6142    else
   6143    {
   6144       printf("pclmulqdq_138 ... failed\n");
   6145    }
   6146 
   6147    return;
   6148 }
   6149 
   6150 static void pclmulqdq_139(void)
   6151 {
   6152    reg128_t arg1 = { .uq = { 0x970a72669a9a2b55ULL, 0x8b85393423fad497ULL } };
   6153    reg128_t arg2 = { .uq = { 0x85c29c9af8ab2938ULL, 0x42e14e4e5b03538bULL } };
   6154    reg128_t result0;
   6155    char state[108];
   6156 
   6157    if (sigsetjmp(catchpoint, 1) == 0)
   6158    {
   6159       asm(
   6160          "ffree %%st(7)\n"
   6161          "ffree %%st(6)\n"
   6162          "ffree %%st(5)\n"
   6163          "ffree %%st(4)\n"
   6164          "movlps 0+%0, %%xmm12\n"
   6165          "movhps 8+%0, %%xmm12\n"
   6166          "movlps 0+%1, %%xmm13\n"
   6167          "movhps 8+%1, %%xmm13\n"
   6168          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   6169          "movlps %%xmm13, 0+%2\n"
   6170          "movhps %%xmm13, 8+%2\n"
   6171          :
   6172          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6173          : "xmm12", "xmm13"
   6174       );
   6175 
   6176       if (result0.uq[0] == 0x334171ba41a2b028ULL && result0.uq[1] == 0x470172dfe90ec7a3ULL )
   6177       {
   6178          printf("pclmulqdq_139 ... ok\n");
   6179       }
   6180       else
   6181       {
   6182          printf("pclmulqdq_139 ... not ok\n");
   6183          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x334171ba41a2b028ULL);
   6184          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x470172dfe90ec7a3ULL);
   6185       }
   6186    }
   6187    else
   6188    {
   6189       printf("pclmulqdq_139 ... failed\n");
   6190    }
   6191 
   6192    return;
   6193 }
   6194 
   6195 static void pclmulqdq_140(void)
   6196 {
   6197    reg128_t arg1 = { .uq = { 0xe170a728042f68b6ULL, 0x70b85394e0c5734aULL } };
   6198    reg128_t arg2 = { .uq = { 0x385c29cb4f107894ULL, 0x1c2e14e68635fb39ULL } };
   6199    reg128_t result0;
   6200    char state[108];
   6201 
   6202    if (sigsetjmp(catchpoint, 1) == 0)
   6203    {
   6204       asm(
   6205          "ffree %%st(7)\n"
   6206          "ffree %%st(6)\n"
   6207          "ffree %%st(5)\n"
   6208          "ffree %%st(4)\n"
   6209          "movlps 0+%0, %%xmm12\n"
   6210          "movhps 8+%0, %%xmm12\n"
   6211          "movlps 0+%1, %%xmm13\n"
   6212          "movhps 8+%1, %%xmm13\n"
   6213          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   6214          "movlps %%xmm13, 0+%2\n"
   6215          "movhps %%xmm13, 8+%2\n"
   6216          :
   6217          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6218          : "xmm12", "xmm13"
   6219       );
   6220 
   6221       if (result0.uq[0] == 0x464de85ad5b05afaULL && result0.uq[1] == 0x05401150a66ea4ddULL )
   6222       {
   6223          printf("pclmulqdq_140 ... ok\n");
   6224       }
   6225       else
   6226       {
   6227          printf("pclmulqdq_140 ... not ok\n");
   6228          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x464de85ad5b05afaULL);
   6229          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x05401150a66ea4ddULL);
   6230       }
   6231    }
   6232    else
   6233    {
   6234       printf("pclmulqdq_140 ... failed\n");
   6235    }
   6236 
   6237    return;
   6238 }
   6239 
   6240 static void pclmulqdq_141(void)
   6241 {
   6242    reg128_t arg1 = { .uq = { 0xce170a7429c8bc8dULL, 0xa70b853afb921d33ULL } };
   6243    reg128_t arg2 = { .uq = { 0x9385c29e5476cd8aULL, 0x49c2e15008e925b4ULL } };
   6244    reg128_t result0;
   6245    char state[108];
   6246 
   6247    if (sigsetjmp(catchpoint, 1) == 0)
   6248    {
   6249       asm(
   6250          "ffree %%st(7)\n"
   6251          "ffree %%st(6)\n"
   6252          "ffree %%st(5)\n"
   6253          "ffree %%st(4)\n"
   6254          "movlps 0+%1, %%xmm13\n"
   6255          "movhps 8+%1, %%xmm13\n"
   6256          "pclmulqdq $0, %0, %%xmm13\n"
   6257          "movlps %%xmm13, 0+%2\n"
   6258          "movhps %%xmm13, 8+%2\n"
   6259          :
   6260          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6261          : "xmm12", "xmm13"
   6262       );
   6263 
   6264       if (result0.uq[0] == 0x6f7ef804725bcaf2ULL && result0.uq[1] == 0x6adc6430b8465eafULL )
   6265       {
   6266          printf("pclmulqdq_141 ... ok\n");
   6267       }
   6268       else
   6269       {
   6270          printf("pclmulqdq_141 ... not ok\n");
   6271          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x6f7ef804725bcaf2ULL);
   6272          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x6adc6430b8465eafULL);
   6273       }
   6274    }
   6275    else
   6276    {
   6277       printf("pclmulqdq_141 ... failed\n");
   6278    }
   6279 
   6280    return;
   6281 }
   6282 
   6283 static void pclmulqdq_142(void)
   6284 {
   6285    reg128_t arg1 = { .uq = { 0x24e170a8e32251c9ULL, 0xd270b855583ee7d5ULL } };
   6286    reg128_t arg2 = { .uq = { 0xa9385c2b82cd32d7ULL, 0x949c2e16a8145858ULL } };
   6287    reg128_t result0;
   6288    char state[108];
   6289 
   6290    if (sigsetjmp(catchpoint, 1) == 0)
   6291    {
   6292       asm(
   6293          "ffree %%st(7)\n"
   6294          "ffree %%st(6)\n"
   6295          "ffree %%st(5)\n"
   6296          "ffree %%st(4)\n"
   6297          "movlps 0+%1, %%xmm13\n"
   6298          "movhps 8+%1, %%xmm13\n"
   6299          "pclmulqdq $1, %0, %%xmm13\n"
   6300          "movlps %%xmm13, 0+%2\n"
   6301          "movhps %%xmm13, 8+%2\n"
   6302          :
   6303          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6304          : "xmm12", "xmm13"
   6305       );
   6306 
   6307       if (result0.uq[0] == 0x1be3bccbf3f77898ULL && result0.uq[1] == 0x10bca5dea41e786fULL )
   6308       {
   6309          printf("pclmulqdq_142 ... ok\n");
   6310       }
   6311       else
   6312       {
   6313          printf("pclmulqdq_142 ... not ok\n");
   6314          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x1be3bccbf3f77898ULL);
   6315          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x10bca5dea41e786fULL);
   6316       }
   6317    }
   6318    else
   6319    {
   6320       printf("pclmulqdq_142 ... failed\n");
   6321    }
   6322 
   6323    return;
   6324 }
   6325 
   6326 static void pclmulqdq_143(void)
   6327 {
   6328    reg128_t arg1 = { .uq = { 0x4a4e170c32b7eb1bULL, 0xe5270b86f009b47eULL } };
   6329    reg128_t arg2 = { .uq = { 0x729385c456b2992eULL, 0x3949c2e30a070b86ULL } };
   6330    reg128_t result0;
   6331    char state[108];
   6332 
   6333    if (sigsetjmp(catchpoint, 1) == 0)
   6334    {
   6335       asm(
   6336          "ffree %%st(7)\n"
   6337          "ffree %%st(6)\n"
   6338          "ffree %%st(5)\n"
   6339          "ffree %%st(4)\n"
   6340          "movlps 0+%1, %%xmm13\n"
   6341          "movhps 8+%1, %%xmm13\n"
   6342          "pclmulqdq $16, %0, %%xmm13\n"
   6343          "movlps %%xmm13, 0+%2\n"
   6344          "movhps %%xmm13, 8+%2\n"
   6345          :
   6346          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6347          : "xmm12", "xmm13"
   6348       );
   6349 
   6350       if (result0.uq[0] == 0x2b68e2765ffdfb34ULL && result0.uq[1] == 0x2a08820822669a21ULL )
   6351       {
   6352          printf("pclmulqdq_143 ... ok\n");
   6353       }
   6354       else
   6355       {
   6356          printf("pclmulqdq_143 ... not ok\n");
   6357          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x2b68e2765ffdfb34ULL);
   6358          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2a08820822669a21ULL);
   6359       }
   6360    }
   6361    else
   6362    {
   6363       printf("pclmulqdq_143 ... failed\n");
   6364    }
   6365 
   6366    return;
   6367 }
   6368 
   6369 static void pclmulqdq_144(void)
   6370 {
   6371    reg128_t arg1 = { .uq = { 0x1ca4e17263b144b2ULL, 0x0e5270ba10866148ULL } };
   6372    reg128_t arg2 = { .uq = { 0x0729385de6f0ef93ULL, 0xc3949c2fda2636baULL } };
   6373    reg128_t result0;
   6374    char state[108];
   6375 
   6376    if (sigsetjmp(catchpoint, 1) == 0)
   6377    {
   6378       asm(
   6379          "ffree %%st(7)\n"
   6380          "ffree %%st(6)\n"
   6381          "ffree %%st(5)\n"
   6382          "ffree %%st(4)\n"
   6383          "movlps 0+%1, %%xmm13\n"
   6384          "movhps 8+%1, %%xmm13\n"
   6385          "pclmulqdq $17, %0, %%xmm13\n"
   6386          "movlps %%xmm13, 0+%2\n"
   6387          "movhps %%xmm13, 8+%2\n"
   6388          :
   6389          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6390          : "xmm12", "xmm13"
   6391       );
   6392 
   6393       if (result0.uq[0] == 0x27bb3d7f7f6f6150ULL && result0.uq[1] == 0x04a8a03284562190ULL )
   6394       {
   6395          printf("pclmulqdq_144 ... ok\n");
   6396       }
   6397       else
   6398       {
   6399          printf("pclmulqdq_144 ... not ok\n");
   6400          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x27bb3d7f7f6f6150ULL);
   6401          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x04a8a03284562190ULL);
   6402       }
   6403    }
   6404    else
   6405    {
   6406       printf("pclmulqdq_144 ... failed\n");
   6407    }
   6408 
   6409    return;
   6410 }
   6411 
   6412 static void pclmulqdq_145(void)
   6413 {
   6414    reg128_t arg1 = { .uq = { 0x61ca4e18cbc0da4cULL, 0x30e5270d448e2c15ULL } };
   6415    reg128_t arg2 = { .uq = { 0xd872938788f4d4f7ULL, 0xac3949c4ab282968ULL } };
   6416    reg128_t result0;
   6417    char state[108];
   6418 
   6419    if (sigsetjmp(catchpoint, 1) == 0)
   6420    {
   6421       asm(
   6422          "ffree %%st(7)\n"
   6423          "ffree %%st(6)\n"
   6424          "ffree %%st(5)\n"
   6425          "ffree %%st(4)\n"
   6426          "movlps 0+%0, %%xmm12\n"
   6427          "movhps 8+%0, %%xmm12\n"
   6428          "movlps 0+%1, %%xmm13\n"
   6429          "movhps 8+%1, %%xmm13\n"
   6430          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   6431          "movlps %%xmm13, 0+%2\n"
   6432          "movhps %%xmm13, 8+%2\n"
   6433          :
   6434          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6435          : "xmm12", "xmm13"
   6436       );
   6437 
   6438       if (result0.uq[0] == 0x45795f55a307afa4ULL && result0.uq[1] == 0x2d97e09b0bc3ba6eULL )
   6439       {
   6440          printf("pclmulqdq_145 ... ok\n");
   6441       }
   6442       else
   6443       {
   6444          printf("pclmulqdq_145 ... not ok\n");
   6445          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x45795f55a307afa4ULL);
   6446          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2d97e09b0bc3ba6eULL);
   6447       }
   6448    }
   6449    else
   6450    {
   6451       printf("pclmulqdq_145 ... failed\n");
   6452    }
   6453 
   6454    return;
   6455 }
   6456 
   6457 static void pclmulqdq_146(void)
   6458 {
   6459    reg128_t arg1 = { .uq = { 0x561ca4e33441d3a3ULL, 0xeb0e527270cea8c2ULL } };
   6460    reg128_t arg2 = { .uq = { 0x7587293a17151350ULL, 0x3ac3949dea384897ULL } };
   6461    reg128_t result0;
   6462    char state[108];
   6463 
   6464    if (sigsetjmp(catchpoint, 1) == 0)
   6465    {
   6466       asm(
   6467          "ffree %%st(7)\n"
   6468          "ffree %%st(6)\n"
   6469          "ffree %%st(5)\n"
   6470          "ffree %%st(4)\n"
   6471          "movlps 0+%0, %%xmm12\n"
   6472          "movhps 8+%0, %%xmm12\n"
   6473          "movlps 0+%1, %%xmm13\n"
   6474          "movhps 8+%1, %%xmm13\n"
   6475          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   6476          "movlps %%xmm13, 0+%2\n"
   6477          "movhps %%xmm13, 8+%2\n"
   6478          :
   6479          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6480          : "xmm12", "xmm13"
   6481       );
   6482 
   6483       if (result0.uq[0] == 0x8952066b3e0c09d9ULL && result0.uq[1] == 0x0d80def82390fa59ULL )
   6484       {
   6485          printf("pclmulqdq_146 ... ok\n");
   6486       }
   6487       else
   6488       {
   6489          printf("pclmulqdq_146 ... not ok\n");
   6490          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8952066b3e0c09d9ULL);
   6491          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0d80def82390fa59ULL);
   6492       }
   6493    }
   6494    else
   6495    {
   6496       printf("pclmulqdq_146 ... failed\n");
   6497    }
   6498 
   6499    return;
   6500 }
   6501 
   6502 static void pclmulqdq_147(void)
   6503 {
   6504    reg128_t arg1 = { .uq = { 0xdd61ca4fdbc9e338ULL, 0x6eb0e528cc92b08bULL } };
   6505    reg128_t arg2 = { .uq = { 0xf75872954cf71736ULL, 0x7bac394b85294a8aULL } };
   6506    reg128_t result0;
   6507    char state[108];
   6508 
   6509    if (sigsetjmp(catchpoint, 1) == 0)
   6510    {
   6511       asm(
   6512          "ffree %%st(7)\n"
   6513          "ffree %%st(6)\n"
   6514          "ffree %%st(5)\n"
   6515          "ffree %%st(4)\n"
   6516          "movlps 0+%0, %%xmm12\n"
   6517          "movhps 8+%0, %%xmm12\n"
   6518          "movlps 0+%1, %%xmm13\n"
   6519          "movhps 8+%1, %%xmm13\n"
   6520          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   6521          "movlps %%xmm13, 0+%2\n"
   6522          "movhps %%xmm13, 8+%2\n"
   6523          :
   6524          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6525          : "xmm12", "xmm13"
   6526       );
   6527 
   6528       if (result0.uq[0] == 0x07e8e44eff28bbeaULL && result0.uq[1] == 0x26de695e1f9507acULL )
   6529       {
   6530          printf("pclmulqdq_147 ... ok\n");
   6531       }
   6532       else
   6533       {
   6534          printf("pclmulqdq_147 ... not ok\n");
   6535          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x07e8e44eff28bbeaULL);
   6536          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x26de695e1f9507acULL);
   6537       }
   6538    }
   6539    else
   6540    {
   6541       printf("pclmulqdq_147 ... failed\n");
   6542    }
   6543 
   6544    return;
   6545 }
   6546 
   6547 static void pclmulqdq_148(void)
   6548 {
   6549    reg128_t arg1 = { .uq = { 0x3dd61ca6a1426434ULL, 0x1eeb0e542f4ef109ULL } };
   6550    reg128_t arg2 = { .uq = { 0xcf75872afe553775ULL, 0xa7bac39655d85aa7ULL } };
   6551    reg128_t result0;
   6552    char state[108];
   6553 
   6554    if (sigsetjmp(catchpoint, 1) == 0)
   6555    {
   6556       asm(
   6557          "ffree %%st(7)\n"
   6558          "ffree %%st(6)\n"
   6559          "ffree %%st(5)\n"
   6560          "ffree %%st(4)\n"
   6561          "movlps 0+%0, %%xmm12\n"
   6562          "movhps 8+%0, %%xmm12\n"
   6563          "movlps 0+%1, %%xmm13\n"
   6564          "movhps 8+%1, %%xmm13\n"
   6565          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   6566          "movlps %%xmm13, 0+%2\n"
   6567          "movhps %%xmm13, 8+%2\n"
   6568          :
   6569          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6570          : "xmm12", "xmm13"
   6571       );
   6572 
   6573       if (result0.uq[0] == 0x8fad3e20986ef89fULL && result0.uq[1] == 0x0cfdf3f1f7833e00ULL )
   6574       {
   6575          printf("pclmulqdq_148 ... ok\n");
   6576       }
   6577       else
   6578       {
   6579          printf("pclmulqdq_148 ... not ok\n");
   6580          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x8fad3e20986ef89fULL);
   6581          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x0cfdf3f1f7833e00ULL);
   6582       }
   6583    }
   6584    else
   6585    {
   6586       printf("pclmulqdq_148 ... failed\n");
   6587    }
   6588 
   6589    return;
   6590 }
   6591 
   6592 static void pclmulqdq_149(void)
   6593 {
   6594    reg128_t arg1 = { .uq = { 0x93dd61cc0199ec40ULL, 0x49eeb0e6df7ab50fULL } };
   6595    reg128_t arg2 = { .uq = { 0xe4f75874466b1974ULL, 0x727bac3b01e34ba9ULL } };
   6596    reg128_t result0;
   6597    char state[108];
   6598 
   6599    if (sigsetjmp(catchpoint, 1) == 0)
   6600    {
   6601       asm(
   6602          "ffree %%st(7)\n"
   6603          "ffree %%st(6)\n"
   6604          "ffree %%st(5)\n"
   6605          "ffree %%st(4)\n"
   6606          "movlps 0+%1, %%xmm13\n"
   6607          "movhps 8+%1, %%xmm13\n"
   6608          "pclmulqdq $0, %0, %%xmm13\n"
   6609          "movlps %%xmm13, 0+%2\n"
   6610          "movhps %%xmm13, 8+%2\n"
   6611          :
   6612          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6613          : "xmm12", "xmm13"
   6614       );
   6615 
   6616       if (result0.uq[0] == 0xc93a243ecc35ad00ULL && result0.uq[1] == 0x7d58bcc299211eabULL )
   6617       {
   6618          printf("pclmulqdq_149 ... ok\n");
   6619       }
   6620       else
   6621       {
   6622          printf("pclmulqdq_149 ... not ok\n");
   6623          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xc93a243ecc35ad00ULL);
   6624          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7d58bcc299211eabULL);
   6625       }
   6626    }
   6627    else
   6628    {
   6629       printf("pclmulqdq_149 ... failed\n");
   6630    }
   6631 
   6632    return;
   6633 }
   6634 
   6635 static void pclmulqdq_150(void)
   6636 {
   6637    reg128_t arg1 = { .uq = { 0xf93dd61e679f64c5ULL, 0xbc9eeb101a7d714fULL } };
   6638    reg128_t arg2 = { .uq = { 0x9e4f7588e3ec7794ULL, 0x4f27bac550a3fab9ULL } };
   6639    reg128_t result0;
   6640    char state[108];
   6641 
   6642    if (sigsetjmp(catchpoint, 1) == 0)
   6643    {
   6644       asm(
   6645          "ffree %%st(7)\n"
   6646          "ffree %%st(6)\n"
   6647          "ffree %%st(5)\n"
   6648          "ffree %%st(4)\n"
   6649          "movlps 0+%1, %%xmm13\n"
   6650          "movhps 8+%1, %%xmm13\n"
   6651          "pclmulqdq $1, %0, %%xmm13\n"
   6652          "movlps %%xmm13, 0+%2\n"
   6653          "movhps %%xmm13, 8+%2\n"
   6654          :
   6655          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6656          : "xmm12", "xmm13"
   6657       );
   6658 
   6659       if (result0.uq[0] == 0x96014936edcb669dULL && result0.uq[1] == 0x3b74884e3421a5a6ULL )
   6660       {
   6661          printf("pclmulqdq_150 ... ok\n");
   6662       }
   6663       else
   6664       {
   6665          printf("pclmulqdq_150 ... not ok\n");
   6666          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x96014936edcb669dULL);
   6667          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3b74884e3421a5a6ULL);
   6668       }
   6669    }
   6670    else
   6671    {
   6672       printf("pclmulqdq_150 ... failed\n");
   6673    }
   6674 
   6675    return;
   6676 }
   6677 
   6678 static void pclmulqdq_151(void)
   6679 {
   6680    reg128_t arg1 = { .uq = { 0xe793dd637effbc4dULL, 0xb3c9eeb2962d9d13ULL } };
   6681    reg128_t arg2 = { .uq = { 0x99e4f75a21c48d7aULL, 0x4cf27badef9005acULL } };
   6682    reg128_t result0;
   6683    char state[108];
   6684 
   6685    if (sigsetjmp(catchpoint, 1) == 0)
   6686    {
   6687       asm(
   6688          "ffree %%st(7)\n"
   6689          "ffree %%st(6)\n"
   6690          "ffree %%st(5)\n"
   6691          "ffree %%st(4)\n"
   6692          "movlps 0+%1, %%xmm13\n"
   6693          "movhps 8+%1, %%xmm13\n"
   6694          "pclmulqdq $16, %0, %%xmm13\n"
   6695          "movlps %%xmm13, 0+%2\n"
   6696          "movhps %%xmm13, 8+%2\n"
   6697          :
   6698          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6699          : "xmm12", "xmm13"
   6700       );
   6701 
   6702       if (result0.uq[0] == 0xe083eb2842bea22eULL && result0.uq[1] == 0x579424d4aee04284ULL )
   6703       {
   6704          printf("pclmulqdq_151 ... ok\n");
   6705       }
   6706       else
   6707       {
   6708          printf("pclmulqdq_151 ... not ok\n");
   6709          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe083eb2842bea22eULL);
   6710          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x579424d4aee04284ULL);
   6711       }
   6712    }
   6713    else
   6714    {
   6715       printf("pclmulqdq_151 ... failed\n");
   6716    }
   6717 
   6718    return;
   6719 }
   6720 
   6721 static void pclmulqdq_152(void)
   6722 {
   6723    reg128_t arg1 = { .uq = { 0x26793dd7d675c1c5ULL, 0xd33c9eecc1e89fcfULL } };
   6724    reg128_t arg2 = { .uq = { 0xa99e4f7747a20ed4ULL, 0x54cf27bc827ec659ULL } };
   6725    reg128_t result0;
   6726    char state[108];
   6727 
   6728    if (sigsetjmp(catchpoint, 1) == 0)
   6729    {
   6730       asm(
   6731          "ffree %%st(7)\n"
   6732          "ffree %%st(6)\n"
   6733          "ffree %%st(5)\n"
   6734          "ffree %%st(4)\n"
   6735          "movlps 0+%1, %%xmm13\n"
   6736          "movhps 8+%1, %%xmm13\n"
   6737          "pclmulqdq $17, %0, %%xmm13\n"
   6738          "movlps %%xmm13, 0+%2\n"
   6739          "movhps %%xmm13, 8+%2\n"
   6740          :
   6741          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6742          : "xmm12", "xmm13"
   6743       );
   6744 
   6745       if (result0.uq[0] == 0xbbe2a4fae75c8c87ULL && result0.uq[1] == 0x3ae9f530feca9e83ULL )
   6746       {
   6747          printf("pclmulqdq_152 ... ok\n");
   6748       }
   6749       else
   6750       {
   6751          printf("pclmulqdq_152 ... not ok\n");
   6752          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xbbe2a4fae75c8c87ULL);
   6753          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x3ae9f530feca9e83ULL);
   6754       }
   6755    }
   6756    else
   6757    {
   6758       printf("pclmulqdq_152 ... failed\n");
   6759    }
   6760 
   6761    return;
   6762 }
   6763 
   6764 static void pclmulqdq_153(void)
   6765 {
   6766    reg128_t arg1 = { .uq = { 0xea6793df27ed221dULL, 0xb533c9f07aa44ffbULL } };
   6767    reg128_t arg2 = { .uq = { 0x9a99e4f913ffe6eeULL, 0x4d4cf27d68adb266ULL } };
   6768    reg128_t result0;
   6769    char state[108];
   6770 
   6771    if (sigsetjmp(catchpoint, 1) == 0)
   6772    {
   6773       asm(
   6774          "ffree %%st(7)\n"
   6775          "ffree %%st(6)\n"
   6776          "ffree %%st(5)\n"
   6777          "ffree %%st(4)\n"
   6778          "movlps 0+%0, %%xmm12\n"
   6779          "movhps 8+%0, %%xmm12\n"
   6780          "movlps 0+%1, %%xmm13\n"
   6781          "movhps 8+%1, %%xmm13\n"
   6782          "pclmulqdq $0, %%xmm12, %%xmm13\n"
   6783          "movlps %%xmm13, 0+%2\n"
   6784          "movhps %%xmm13, 8+%2\n"
   6785          :
   6786          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6787          : "xmm12", "xmm13"
   6788       );
   6789 
   6790       if (result0.uq[0] == 0x2ecb87e2ee7738c6ULL && result0.uq[1] == 0x7d6e3e944eaff450ULL )
   6791       {
   6792          printf("pclmulqdq_153 ... ok\n");
   6793       }
   6794       else
   6795       {
   6796          printf("pclmulqdq_153 ... not ok\n");
   6797          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x2ecb87e2ee7738c6ULL);
   6798          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x7d6e3e944eaff450ULL);
   6799       }
   6800    }
   6801    else
   6802    {
   6803       printf("pclmulqdq_153 ... failed\n");
   6804    }
   6805 
   6806    return;
   6807 }
   6808 
   6809 static void pclmulqdq_154(void)
   6810 {
   6811    reg128_t arg1 = { .uq = { 0x26a6793f93049822ULL, 0x13533ca0a8300b00ULL } };
   6812    reg128_t arg2 = { .uq = { 0x09a99e5132c5c46fULL, 0xc4d4cf297010a124ULL } };
   6813    reg128_t result0;
   6814    char state[108];
   6815 
   6816    if (sigsetjmp(catchpoint, 1) == 0)
   6817    {
   6818       asm(
   6819          "ffree %%st(7)\n"
   6820          "ffree %%st(6)\n"
   6821          "ffree %%st(5)\n"
   6822          "ffree %%st(4)\n"
   6823          "movlps 0+%0, %%xmm12\n"
   6824          "movhps 8+%0, %%xmm12\n"
   6825          "movlps 0+%1, %%xmm13\n"
   6826          "movhps 8+%1, %%xmm13\n"
   6827          "pclmulqdq $1, %%xmm12, %%xmm13\n"
   6828          "movlps %%xmm13, 0+%2\n"
   6829          "movhps %%xmm13, 8+%2\n"
   6830          :
   6831          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6832          : "xmm12", "xmm13"
   6833       );
   6834 
   6835       if (result0.uq[0] == 0xae7428c8952c06c8ULL && result0.uq[1] == 0x1a782a535e1cf462ULL )
   6836       {
   6837          printf("pclmulqdq_154 ... ok\n");
   6838       }
   6839       else
   6840       {
   6841          printf("pclmulqdq_154 ... not ok\n");
   6842          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xae7428c8952c06c8ULL);
   6843          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1a782a535e1cf462ULL);
   6844       }
   6845    }
   6846    else
   6847    {
   6848       printf("pclmulqdq_154 ... failed\n");
   6849    }
   6850 
   6851    return;
   6852 }
   6853 
   6854 static void pclmulqdq_155(void)
   6855 {
   6856    reg128_t arg1 = { .uq = { 0x626a679596b60f81ULL, 0xf13533cba208c6b1ULL } };
   6857    reg128_t arg2 = { .uq = { 0xb89a99e6b7b22249ULL, 0x9c4d4cf43286d015ULL } };
   6858    reg128_t result0;
   6859    char state[108];
   6860 
   6861    if (sigsetjmp(catchpoint, 1) == 0)
   6862    {
   6863       asm(
   6864          "ffree %%st(7)\n"
   6865          "ffree %%st(6)\n"
   6866          "ffree %%st(5)\n"
   6867          "ffree %%st(4)\n"
   6868          "movlps 0+%0, %%xmm12\n"
   6869          "movhps 8+%0, %%xmm12\n"
   6870          "movlps 0+%1, %%xmm13\n"
   6871          "movhps 8+%1, %%xmm13\n"
   6872          "pclmulqdq $16, %%xmm12, %%xmm13\n"
   6873          "movlps %%xmm13, 0+%2\n"
   6874          "movhps %%xmm13, 8+%2\n"
   6875          :
   6876          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6877          : "xmm12", "xmm13"
   6878       );
   6879 
   6880       if (result0.uq[0] == 0x4a8f4c6ff6f61d79ULL && result0.uq[1] == 0x6e57579e887d4fc8ULL )
   6881       {
   6882          printf("pclmulqdq_155 ... ok\n");
   6883       }
   6884       else
   6885       {
   6886          printf("pclmulqdq_155 ... not ok\n");
   6887          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x4a8f4c6ff6f61d79ULL);
   6888          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x6e57579e887d4fc8ULL);
   6889       }
   6890    }
   6891    else
   6892    {
   6893       printf("pclmulqdq_155 ... failed\n");
   6894    }
   6895 
   6896    return;
   6897 }
   6898 
   6899 static void pclmulqdq_156(void)
   6900 {
   6901    reg128_t arg1 = { .uq = { 0x8e26a67aeff126f7ULL, 0x8713533e5ea65268ULL } };
   6902    reg128_t arg2 = { .uq = { 0x4389a9a00e00e823ULL, 0xe1c4d4d0edae3302ULL } };
   6903    reg128_t result0;
   6904    char state[108];
   6905 
   6906    if (sigsetjmp(catchpoint, 1) == 0)
   6907    {
   6908       asm(
   6909          "ffree %%st(7)\n"
   6910          "ffree %%st(6)\n"
   6911          "ffree %%st(5)\n"
   6912          "ffree %%st(4)\n"
   6913          "movlps 0+%0, %%xmm12\n"
   6914          "movhps 8+%0, %%xmm12\n"
   6915          "movlps 0+%1, %%xmm13\n"
   6916          "movhps 8+%1, %%xmm13\n"
   6917          "pclmulqdq $17, %%xmm12, %%xmm13\n"
   6918          "movlps %%xmm13, 0+%2\n"
   6919          "movhps %%xmm13, 8+%2\n"
   6920          :
   6921          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6922          : "xmm12", "xmm13"
   6923       );
   6924 
   6925       if (result0.uq[0] == 0x7752ad4e77e19cd0ULL && result0.uq[1] == 0x72483d1e1c0e1d3aULL )
   6926       {
   6927          printf("pclmulqdq_156 ... ok\n");
   6928       }
   6929       else
   6930       {
   6931          printf("pclmulqdq_156 ... not ok\n");
   6932          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x7752ad4e77e19cd0ULL);
   6933          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x72483d1e1c0e1d3aULL);
   6934       }
   6935    }
   6936    else
   6937    {
   6938       printf("pclmulqdq_156 ... failed\n");
   6939    }
   6940 
   6941    return;
   6942 }
   6943 
   6944 static void pclmulqdq_157(void)
   6945 {
   6946    reg128_t arg1 = { .uq = { 0x70e26a695584d870ULL, 0x3871353589702b27ULL } };
   6947    reg128_t arg2 = { .uq = { 0xdc389a9bab65d480ULL, 0x6e1c4d4eb460a92fULL } };
   6948    reg128_t result0;
   6949    char state[108];
   6950 
   6951    if (sigsetjmp(catchpoint, 1) == 0)
   6952    {
   6953       asm(
   6954          "ffree %%st(7)\n"
   6955          "ffree %%st(6)\n"
   6956          "ffree %%st(5)\n"
   6957          "ffree %%st(4)\n"
   6958          "movlps 0+%1, %%xmm13\n"
   6959          "movhps 8+%1, %%xmm13\n"
   6960          "pclmulqdq $0, %0, %%xmm13\n"
   6961          "movlps %%xmm13, 0+%2\n"
   6962          "movhps %%xmm13, 8+%2\n"
   6963          :
   6964          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   6965          : "xmm12", "xmm13"
   6966       );
   6967 
   6968       if (result0.uq[0] == 0xd8c101b07d1ef800ULL && result0.uq[1] == 0x2109baafa5af4636ULL )
   6969       {
   6970          printf("pclmulqdq_157 ... ok\n");
   6971       }
   6972       else
   6973       {
   6974          printf("pclmulqdq_157 ... not ok\n");
   6975          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xd8c101b07d1ef800ULL);
   6976          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x2109baafa5af4636ULL);
   6977       }
   6978    }
   6979    else
   6980    {
   6981       printf("pclmulqdq_157 ... failed\n");
   6982    }
   6983 
   6984    return;
   6985 }
   6986 
   6987 static void pclmulqdq_158(void)
   6988 {
   6989    reg128_t arg1 = { .uq = { 0xf70e26a830de1384ULL, 0x7b871354f71cc8b1ULL } };
   6990    reg128_t arg2 = { .uq = { 0xfdc389ab523c2349ULL, 0xbee1c4d67fcbd095ULL } };
   6991    reg128_t result0;
   6992    char state[108];
   6993 
   6994    if (sigsetjmp(catchpoint, 1) == 0)
   6995    {
   6996       asm(
   6997          "ffree %%st(7)\n"
   6998          "ffree %%st(6)\n"
   6999          "ffree %%st(5)\n"
   7000          "ffree %%st(4)\n"
   7001          "movlps 0+%1, %%xmm13\n"
   7002          "movhps 8+%1, %%xmm13\n"
   7003          "pclmulqdq $1, %0, %%xmm13\n"
   7004          "movlps %%xmm13, 0+%2\n"
   7005          "movhps %%xmm13, 8+%2\n"
   7006          :
   7007          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   7008          : "xmm12", "xmm13"
   7009       );
   7010 
   7011       if (result0.uq[0] == 0x2e0ab5ce0af9e7d4ULL && result0.uq[1] == 0x6fc4778aacb0c279ULL )
   7012       {
   7013          printf("pclmulqdq_158 ... ok\n");
   7014       }
   7015       else
   7016       {
   7017          printf("pclmulqdq_158 ... not ok\n");
   7018          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x2e0ab5ce0af9e7d4ULL);
   7019          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x6fc4778aacb0c279ULL);
   7020       }
   7021    }
   7022    else
   7023    {
   7024       printf("pclmulqdq_158 ... failed\n");
   7025    }
   7026 
   7027    return;
   7028 }
   7029 
   7030 static void pclmulqdq_159(void)
   7031 {
   7032    reg128_t arg1 = { .uq = { 0x9f70e26c1693a737ULL, 0x8fb87136e1f79288ULL } };
   7033    reg128_t arg2 = { .uq = { 0x47dc389c4fa98833ULL, 0xe3ee1c4f0e82830aULL } };
   7034    reg128_t result0;
   7035    char state[108];
   7036 
   7037    if (sigsetjmp(catchpoint, 1) == 0)
   7038    {
   7039       asm(
   7040          "ffree %%st(7)\n"
   7041          "ffree %%st(6)\n"
   7042          "ffree %%st(5)\n"
   7043          "ffree %%st(4)\n"
   7044          "movlps 0+%1, %%xmm13\n"
   7045          "movhps 8+%1, %%xmm13\n"
   7046          "pclmulqdq $16, %0, %%xmm13\n"
   7047          "movlps %%xmm13, 0+%2\n"
   7048          "movhps %%xmm13, 8+%2\n"
   7049          :
   7050          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   7051          : "xmm12", "xmm13"
   7052       );
   7053 
   7054       if (result0.uq[0] == 0x5e76a6469d8b8e18ULL && result0.uq[1] == 0x202aa2a3ba5c9f52ULL )
   7055       {
   7056          printf("pclmulqdq_159 ... ok\n");
   7057       }
   7058       else
   7059       {
   7060          printf("pclmulqdq_159 ... not ok\n");
   7061          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0x5e76a6469d8b8e18ULL);
   7062          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x202aa2a3ba5c9f52ULL);
   7063       }
   7064    }
   7065    else
   7066    {
   7067       printf("pclmulqdq_159 ... failed\n");
   7068    }
   7069 
   7070    return;
   7071 }
   7072 
   7073 static void pclmulqdq_160(void)
   7074 {
   7075    reg128_t arg1 = { .uq = { 0x71f70e2865ef0074ULL, 0x38fb871511a53f29ULL } };
   7076    reg128_t arg2 = { .uq = { 0xdc7dc38b5f805e85ULL, 0xae3ee1c6866dee2fULL } };
   7077    reg128_t result0;
   7078    char state[108];
   7079 
   7080    if (sigsetjmp(catchpoint, 1) == 0)
   7081    {
   7082       asm(
   7083          "ffree %%st(7)\n"
   7084          "ffree %%st(6)\n"
   7085          "ffree %%st(5)\n"
   7086          "ffree %%st(4)\n"
   7087          "movlps 0+%1, %%xmm13\n"
   7088          "movhps 8+%1, %%xmm13\n"
   7089          "pclmulqdq $17, %0, %%xmm13\n"
   7090          "movlps %%xmm13, 0+%2\n"
   7091          "movhps %%xmm13, 8+%2\n"
   7092          :
   7093          : "m" (arg1), "m" (arg2), "m" (result0), "m" (state[0])
   7094          : "xmm12", "xmm13"
   7095       );
   7096 
   7097       if (result0.uq[0] == 0xe9f524d62e90ffb7ULL && result0.uq[1] == 0x1a32a63921dddceaULL )
   7098       {
   7099          printf("pclmulqdq_160 ... ok\n");
   7100       }
   7101       else
   7102       {
   7103          printf("pclmulqdq_160 ... not ok\n");
   7104          printf("  result0.uq[0] = %llu (expected %llu)\n", result0.uq[0], 0xe9f524d62e90ffb7ULL);
   7105          printf("  result0.uq[1] = %llu (expected %llu)\n", result0.uq[1], 0x1a32a63921dddceaULL);
   7106       }
   7107    }
   7108    else
   7109    {
   7110       printf("pclmulqdq_160 ... failed\n");
   7111    }
   7112 
   7113    return;
   7114 }
   7115 
   7116 int main(int argc, char **argv)
   7117 {
   7118    signal(SIGILL, handle_sigill);
   7119 
   7120    pclmulqdq_1();
   7121    pclmulqdq_2();
   7122    pclmulqdq_3();
   7123    pclmulqdq_4();
   7124    pclmulqdq_5();
   7125    pclmulqdq_6();
   7126    pclmulqdq_7();
   7127    pclmulqdq_8();
   7128    pclmulqdq_9();
   7129    pclmulqdq_10();
   7130    pclmulqdq_11();
   7131    pclmulqdq_12();
   7132    pclmulqdq_13();
   7133    pclmulqdq_14();
   7134    pclmulqdq_15();
   7135    pclmulqdq_16();
   7136    pclmulqdq_17();
   7137    pclmulqdq_18();
   7138    pclmulqdq_19();
   7139    pclmulqdq_20();
   7140    pclmulqdq_21();
   7141    pclmulqdq_22();
   7142    pclmulqdq_23();
   7143    pclmulqdq_24();
   7144    pclmulqdq_25();
   7145    pclmulqdq_26();
   7146    pclmulqdq_27();
   7147    pclmulqdq_28();
   7148    pclmulqdq_29();
   7149    pclmulqdq_30();
   7150    pclmulqdq_31();
   7151    pclmulqdq_32();
   7152    pclmulqdq_33();
   7153    pclmulqdq_34();
   7154    pclmulqdq_35();
   7155    pclmulqdq_36();
   7156    pclmulqdq_37();
   7157    pclmulqdq_38();
   7158    pclmulqdq_39();
   7159    pclmulqdq_40();
   7160    pclmulqdq_41();
   7161    pclmulqdq_42();
   7162    pclmulqdq_43();
   7163    pclmulqdq_44();
   7164    pclmulqdq_45();
   7165    pclmulqdq_46();
   7166    pclmulqdq_47();
   7167    pclmulqdq_48();
   7168    pclmulqdq_49();
   7169    pclmulqdq_50();
   7170    pclmulqdq_51();
   7171    pclmulqdq_52();
   7172    pclmulqdq_53();
   7173    pclmulqdq_54();
   7174    pclmulqdq_55();
   7175    pclmulqdq_56();
   7176    pclmulqdq_57();
   7177    pclmulqdq_58();
   7178    pclmulqdq_59();
   7179    pclmulqdq_60();
   7180    pclmulqdq_61();
   7181    pclmulqdq_62();
   7182    pclmulqdq_63();
   7183    pclmulqdq_64();
   7184    pclmulqdq_65();
   7185    pclmulqdq_66();
   7186    pclmulqdq_67();
   7187    pclmulqdq_68();
   7188    pclmulqdq_69();
   7189    pclmulqdq_70();
   7190    pclmulqdq_71();
   7191    pclmulqdq_72();
   7192    pclmulqdq_73();
   7193    pclmulqdq_74();
   7194    pclmulqdq_75();
   7195    pclmulqdq_76();
   7196    pclmulqdq_77();
   7197    pclmulqdq_78();
   7198    pclmulqdq_79();
   7199    pclmulqdq_80();
   7200    pclmulqdq_81();
   7201    pclmulqdq_82();
   7202    pclmulqdq_83();
   7203    pclmulqdq_84();
   7204    pclmulqdq_85();
   7205    pclmulqdq_86();
   7206    pclmulqdq_87();
   7207    pclmulqdq_88();
   7208    pclmulqdq_89();
   7209    pclmulqdq_90();
   7210    pclmulqdq_91();
   7211    pclmulqdq_92();
   7212    pclmulqdq_93();
   7213    pclmulqdq_94();
   7214    pclmulqdq_95();
   7215    pclmulqdq_96();
   7216    pclmulqdq_97();
   7217    pclmulqdq_98();
   7218    pclmulqdq_99();
   7219    pclmulqdq_100();
   7220    pclmulqdq_101();
   7221    pclmulqdq_102();
   7222    pclmulqdq_103();
   7223    pclmulqdq_104();
   7224    pclmulqdq_105();
   7225    pclmulqdq_106();
   7226    pclmulqdq_107();
   7227    pclmulqdq_108();
   7228    pclmulqdq_109();
   7229    pclmulqdq_110();
   7230    pclmulqdq_111();
   7231    pclmulqdq_112();
   7232    pclmulqdq_113();
   7233    pclmulqdq_114();
   7234    pclmulqdq_115();
   7235    pclmulqdq_116();
   7236    pclmulqdq_117();
   7237    pclmulqdq_118();
   7238    pclmulqdq_119();
   7239    pclmulqdq_120();
   7240    pclmulqdq_121();
   7241    pclmulqdq_122();
   7242    pclmulqdq_123();
   7243    pclmulqdq_124();
   7244    pclmulqdq_125();
   7245    pclmulqdq_126();
   7246    pclmulqdq_127();
   7247    pclmulqdq_128();
   7248    pclmulqdq_129();
   7249    pclmulqdq_130();
   7250    pclmulqdq_131();
   7251    pclmulqdq_132();
   7252    pclmulqdq_133();
   7253    pclmulqdq_134();
   7254    pclmulqdq_135();
   7255    pclmulqdq_136();
   7256    pclmulqdq_137();
   7257    pclmulqdq_138();
   7258    pclmulqdq_139();
   7259    pclmulqdq_140();
   7260    pclmulqdq_141();
   7261    pclmulqdq_142();
   7262    pclmulqdq_143();
   7263    pclmulqdq_144();
   7264    pclmulqdq_145();
   7265    pclmulqdq_146();
   7266    pclmulqdq_147();
   7267    pclmulqdq_148();
   7268    pclmulqdq_149();
   7269    pclmulqdq_150();
   7270    pclmulqdq_151();
   7271    pclmulqdq_152();
   7272    pclmulqdq_153();
   7273    pclmulqdq_154();
   7274    pclmulqdq_155();
   7275    pclmulqdq_156();
   7276    pclmulqdq_157();
   7277    pclmulqdq_158();
   7278    pclmulqdq_159();
   7279    pclmulqdq_160();
   7280 
   7281    exit(0);
   7282 }
   7283