#include <math.h>
#include <setjmp.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>

typedef union {
  char sb[1];
  unsigned char ub[1];
} reg8_t;

typedef union {
  char sb[2];
  unsigned char ub[2];
  short sw[1];
  unsigned short uw[1];
} reg16_t;

typedef union {
  char sb[4];
  unsigned char ub[4];
  short sw[2];
  unsigned short uw[2];
  long int sd[1];
  unsigned long int ud[1];
  float ps[1];
} reg32_t;

typedef union {
  char sb[8];
  unsigned char ub[8];
  short sw[4];
  unsigned short uw[4];
  long int sd[2];
  unsigned long int ud[2];
  long long int sq[1];
  unsigned long long int uq[1];
  float ps[2];
  double pd[1];
} reg64_t __attribute__ ((aligned (8)));

typedef union {
  char sb[16];
  unsigned char ub[16];
  short sw[8];
  unsigned short uw[8];
  long int sd[4];
  unsigned long int ud[4];
  long long int sq[2];
  unsigned long long int uq[2];
  float ps[4];
  double pd[2];
} reg128_t __attribute__ ((aligned (16)));

static sigjmp_buf catchpoint;

static void handle_sigill(int signum)
{
   siglongjmp(catchpoint, 1);
}

__attribute__((unused))
static int eq_float(float f1, float f2)
{
   return f1 == f2 || fabsf(f1 - f2) < fabsf(f1) * 1.5 * pow(2,-12);
}

__attribute__((unused))
static int eq_double(double d1, double d2)
{
   return d1 == d2 || fabs(d1 - d2) < fabs(d1) * 1.5 * pow(2,-12);
}

static void adcb_1(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcb $12, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 46U )
      {
         printf("adcb_1 ... ok\n");
      }
      else
      {
         printf("adcb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("adcb_1 ... failed\n");
   }

   return;
}

static void adcb_2(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcb $12, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 47U )
      {
         printf("adcb_2 ... ok\n");
      }
      else
      {
         printf("adcb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 47U);
      }
   }
   else
   {
      printf("adcb_2 ... failed\n");
   }

   return;
}

static void adcb_3(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcb $12, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 46U )
      {
         printf("adcb_3 ... ok\n");
      }
      else
      {
         printf("adcb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("adcb_3 ... failed\n");
   }

   return;
}

static void adcb_4(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcb $12, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 47U )
      {
         printf("adcb_4 ... ok\n");
      }
      else
      {
         printf("adcb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 47U);
      }
   }
   else
   {
      printf("adcb_4 ... failed\n");
   }

   return;
}

static void adcb_5(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcb $12, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 46U )
      {
         printf("adcb_5 ... ok\n");
      }
      else
      {
         printf("adcb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("adcb_5 ... failed\n");
   }

   return;
}

static void adcb_6(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcb $12, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 47U )
      {
         printf("adcb_6 ... ok\n");
      }
      else
      {
         printf("adcb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 47U);
      }
   }
   else
   {
      printf("adcb_6 ... failed\n");
   }

   return;
}

static void adcb_7(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 46U )
      {
         printf("adcb_7 ... ok\n");
      }
      else
      {
         printf("adcb_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("adcb_7 ... failed\n");
   }

   return;
}

static void adcb_8(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 47U )
      {
         printf("adcb_8 ... ok\n");
      }
      else
      {
         printf("adcb_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 47U);
      }
   }
   else
   {
      printf("adcb_8 ... failed\n");
   }

   return;
}

static void adcb_9(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 46U )
      {
         printf("adcb_9 ... ok\n");
      }
      else
      {
         printf("adcb_9 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("adcb_9 ... failed\n");
   }

   return;
}

static void adcb_10(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 47U )
      {
         printf("adcb_10 ... ok\n");
      }
      else
      {
         printf("adcb_10 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 47U);
      }
   }
   else
   {
      printf("adcb_10 ... failed\n");
   }

   return;
}

static void adcb_11(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 46U )
      {
         printf("adcb_11 ... ok\n");
      }
      else
      {
         printf("adcb_11 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("adcb_11 ... failed\n");
   }

   return;
}

static void adcb_12(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 47U )
      {
         printf("adcb_12 ... ok\n");
      }
      else
      {
         printf("adcb_12 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 47U);
      }
   }
   else
   {
      printf("adcb_12 ... failed\n");
   }

   return;
}

static void adcw_1(void)
{
   reg16_t arg1 = { .uw = { 3456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw $12, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 3468 )
      {
         printf("adcw_1 ... ok\n");
      }
      else
      {
         printf("adcw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3468);
      }
   }
   else
   {
      printf("adcw_1 ... failed\n");
   }

   return;
}

static void adcw_2(void)
{
   reg16_t arg1 = { .uw = { 3456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw $12, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 3469 )
      {
         printf("adcw_2 ... ok\n");
      }
      else
      {
         printf("adcw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3469);
      }
   }
   else
   {
      printf("adcw_2 ... failed\n");
   }

   return;
}

static void adcw_3(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw $1234, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("adcw_3 ... ok\n");
      }
      else
      {
         printf("adcw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("adcw_3 ... failed\n");
   }

   return;
}

static void adcw_4(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw $1234, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 6913 )
      {
         printf("adcw_4 ... ok\n");
      }
      else
      {
         printf("adcw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6913);
      }
   }
   else
   {
      printf("adcw_4 ... failed\n");
   }

   return;
}

static void adcw_5(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw $1234, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("adcw_5 ... ok\n");
      }
      else
      {
         printf("adcw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("adcw_5 ... failed\n");
   }

   return;
}

static void adcw_6(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw $1234, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 6913 )
      {
         printf("adcw_6 ... ok\n");
      }
      else
      {
         printf("adcw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6913);
      }
   }
   else
   {
      printf("adcw_6 ... failed\n");
   }

   return;
}

static void adcw_7(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw $1234, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 6912 )
      {
         printf("adcw_7 ... ok\n");
      }
      else
      {
         printf("adcw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("adcw_7 ... failed\n");
   }

   return;
}

static void adcw_8(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw $1234, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 6913 )
      {
         printf("adcw_8 ... ok\n");
      }
      else
      {
         printf("adcw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6913);
      }
   }
   else
   {
      printf("adcw_8 ... failed\n");
   }

   return;
}

static void adcw_9(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("adcw_9 ... ok\n");
      }
      else
      {
         printf("adcw_9 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("adcw_9 ... failed\n");
   }

   return;
}

static void adcw_10(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 6913 )
      {
         printf("adcw_10 ... ok\n");
      }
      else
      {
         printf("adcw_10 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6913);
      }
   }
   else
   {
      printf("adcw_10 ... failed\n");
   }

   return;
}

static void adcw_11(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("adcw_11 ... ok\n");
      }
      else
      {
         printf("adcw_11 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("adcw_11 ... failed\n");
   }

   return;
}

static void adcw_12(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 6913 )
      {
         printf("adcw_12 ... ok\n");
      }
      else
      {
         printf("adcw_12 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6913);
      }
   }
   else
   {
      printf("adcw_12 ... failed\n");
   }

   return;
}

static void adcw_13(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("adcw_13 ... ok\n");
      }
      else
      {
         printf("adcw_13 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("adcw_13 ... failed\n");
   }

   return;
}

static void adcw_14(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 6913 )
      {
         printf("adcw_14 ... ok\n");
      }
      else
      {
         printf("adcw_14 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6913);
      }
   }
   else
   {
      printf("adcw_14 ... failed\n");
   }

   return;
}

static void adcl_1(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl $12, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654333UL )
      {
         printf("adcl_1 ... ok\n");
      }
      else
      {
         printf("adcl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654333UL);
      }
   }
   else
   {
      printf("adcl_1 ... failed\n");
   }

   return;
}

static void adcl_2(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl $12, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654334UL )
      {
         printf("adcl_2 ... ok\n");
      }
      else
      {
         printf("adcl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654334UL);
      }
   }
   else
   {
      printf("adcl_2 ... failed\n");
   }

   return;
}

static void adcl_3(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("adcl_3 ... ok\n");
      }
      else
      {
         printf("adcl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("adcl_3 ... failed\n");
   }

   return;
}

static void adcl_4(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 100000000UL )
      {
         printf("adcl_4 ... ok\n");
      }
      else
      {
         printf("adcl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 100000000UL);
      }
   }
   else
   {
      printf("adcl_4 ... failed\n");
   }

   return;
}

static void adcl_5(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl $12345678, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("adcl_5 ... ok\n");
      }
      else
      {
         printf("adcl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("adcl_5 ... failed\n");
   }

   return;
}

static void adcl_6(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl $12345678, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 100000000UL )
      {
         printf("adcl_6 ... ok\n");
      }
      else
      {
         printf("adcl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 100000000UL);
      }
   }
   else
   {
      printf("adcl_6 ... failed\n");
   }

   return;
}

static void adcl_7(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl $12345678, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("adcl_7 ... ok\n");
      }
      else
      {
         printf("adcl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("adcl_7 ... failed\n");
   }

   return;
}

static void adcl_8(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl $12345678, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 100000000UL )
      {
         printf("adcl_8 ... ok\n");
      }
      else
      {
         printf("adcl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 100000000UL);
      }
   }
   else
   {
      printf("adcl_8 ... failed\n");
   }

   return;
}

static void adcl_9(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("adcl_9 ... ok\n");
      }
      else
      {
         printf("adcl_9 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("adcl_9 ... failed\n");
   }

   return;
}

static void adcl_10(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 100000000UL )
      {
         printf("adcl_10 ... ok\n");
      }
      else
      {
         printf("adcl_10 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 100000000UL);
      }
   }
   else
   {
      printf("adcl_10 ... failed\n");
   }

   return;
}

static void adcl_11(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("adcl_11 ... ok\n");
      }
      else
      {
         printf("adcl_11 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("adcl_11 ... failed\n");
   }

   return;
}

static void adcl_12(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 100000000UL )
      {
         printf("adcl_12 ... ok\n");
      }
      else
      {
         printf("adcl_12 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 100000000UL);
      }
   }
   else
   {
      printf("adcl_12 ... failed\n");
   }

   return;
}

static void adcl_13(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "adcl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("adcl_13 ... ok\n");
      }
      else
      {
         printf("adcl_13 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("adcl_13 ... failed\n");
   }

   return;
}

static void adcl_14(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "adcl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 100000000UL )
      {
         printf("adcl_14 ... ok\n");
      }
      else
      {
         printf("adcl_14 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 100000000UL);
      }
   }
   else
   {
      printf("adcl_14 ... failed\n");
   }

   return;
}

static void addb_1(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "addb $12, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 46U )
      {
         printf("addb_1 ... ok\n");
      }
      else
      {
         printf("addb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("addb_1 ... failed\n");
   }

   return;
}

static void addb_2(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "addb $12, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 46U )
      {
         printf("addb_2 ... ok\n");
      }
      else
      {
         printf("addb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("addb_2 ... failed\n");
   }

   return;
}

static void addb_3(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "addb $12, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 46U )
      {
         printf("addb_3 ... ok\n");
      }
      else
      {
         printf("addb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("addb_3 ... failed\n");
   }

   return;
}

static void addb_4(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "addb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 46U )
      {
         printf("addb_4 ... ok\n");
      }
      else
      {
         printf("addb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("addb_4 ... failed\n");
   }

   return;
}

static void addb_5(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "addb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 46U )
      {
         printf("addb_5 ... ok\n");
      }
      else
      {
         printf("addb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("addb_5 ... failed\n");
   }

   return;
}

static void addb_6(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "addb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 46U )
      {
         printf("addb_6 ... ok\n");
      }
      else
      {
         printf("addb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 46U);
      }
   }
   else
   {
      printf("addb_6 ... failed\n");
   }

   return;
}

static void addw_1(void)
{
   reg16_t arg1 = { .uw = { 3456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "addw $12, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 3468 )
      {
         printf("addw_1 ... ok\n");
      }
      else
      {
         printf("addw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3468);
      }
   }
   else
   {
      printf("addw_1 ... failed\n");
   }

   return;
}

static void addw_2(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "addw $1234, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("addw_2 ... ok\n");
      }
      else
      {
         printf("addw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("addw_2 ... failed\n");
   }

   return;
}

static void addw_3(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "addw $1234, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("addw_3 ... ok\n");
      }
      else
      {
         printf("addw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("addw_3 ... failed\n");
   }

   return;
}

static void addw_4(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "addw $1234, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 6912 )
      {
         printf("addw_4 ... ok\n");
      }
      else
      {
         printf("addw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("addw_4 ... failed\n");
   }

   return;
}

static void addw_5(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "addw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("addw_5 ... ok\n");
      }
      else
      {
         printf("addw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("addw_5 ... failed\n");
   }

   return;
}

static void addw_6(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "addw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("addw_6 ... ok\n");
      }
      else
      {
         printf("addw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("addw_6 ... failed\n");
   }

   return;
}

static void addw_7(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "addw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 6912 )
      {
         printf("addw_7 ... ok\n");
      }
      else
      {
         printf("addw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 6912);
      }
   }
   else
   {
      printf("addw_7 ... failed\n");
   }

   return;
}

static void addl_1(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "addl $12, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654333UL )
      {
         printf("addl_1 ... ok\n");
      }
      else
      {
         printf("addl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654333UL);
      }
   }
   else
   {
      printf("addl_1 ... failed\n");
   }

   return;
}

static void addl_2(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "addl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("addl_2 ... ok\n");
      }
      else
      {
         printf("addl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("addl_2 ... failed\n");
   }

   return;
}

static void addl_3(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "addl $12345678, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("addl_3 ... ok\n");
      }
      else
      {
         printf("addl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("addl_3 ... failed\n");
   }

   return;
}

static void addl_4(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "addl $12345678, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("addl_4 ... ok\n");
      }
      else
      {
         printf("addl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("addl_4 ... failed\n");
   }

   return;
}

static void addl_5(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "addl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("addl_5 ... ok\n");
      }
      else
      {
         printf("addl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("addl_5 ... failed\n");
   }

   return;
}

static void addl_6(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "addl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("addl_6 ... ok\n");
      }
      else
      {
         printf("addl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("addl_6 ... failed\n");
   }

   return;
}

static void addl_7(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "addl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 99999999UL )
      {
         printf("addl_7 ... ok\n");
      }
      else
      {
         printf("addl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("addl_7 ... failed\n");
   }

   return;
}

static void andb_1(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "andb $0x34, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x14U )
      {
         printf("andb_1 ... ok\n");
      }
      else
      {
         printf("andb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x14U);
      }
   }
   else
   {
      printf("andb_1 ... failed\n");
   }

   return;
}

static void andb_2(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "andb $0x34, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 0x14U )
      {
         printf("andb_2 ... ok\n");
      }
      else
      {
         printf("andb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x14U);
      }
   }
   else
   {
      printf("andb_2 ... failed\n");
   }

   return;
}

static void andb_3(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "andb $0x34, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x14U )
      {
         printf("andb_3 ... ok\n");
      }
      else
      {
         printf("andb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x14U);
      }
   }
   else
   {
      printf("andb_3 ... failed\n");
   }

   return;
}

static void andb_4(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "andb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 0x14U )
      {
         printf("andb_4 ... ok\n");
      }
      else
      {
         printf("andb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x14U);
      }
   }
   else
   {
      printf("andb_4 ... failed\n");
   }

   return;
}

static void andb_5(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "andb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x14U )
      {
         printf("andb_5 ... ok\n");
      }
      else
      {
         printf("andb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x14U);
      }
   }
   else
   {
      printf("andb_5 ... failed\n");
   }

   return;
}

static void andb_6(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "andb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 0x14U )
      {
         printf("andb_6 ... ok\n");
      }
      else
      {
         printf("andb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x14U);
      }
   }
   else
   {
      printf("andb_6 ... failed\n");
   }

   return;
}

static void andw_1(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "andw $0x31, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0030 )
      {
         printf("andw_1 ... ok\n");
      }
      else
      {
         printf("andw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0030);
      }
   }
   else
   {
      printf("andw_1 ... failed\n");
   }

   return;
}

static void andw_2(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "andw $0x4231, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0230 )
      {
         printf("andw_2 ... ok\n");
      }
      else
      {
         printf("andw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0230);
      }
   }
   else
   {
      printf("andw_2 ... failed\n");
   }

   return;
}

static void andw_3(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "andw $0x4231, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 0x0230 )
      {
         printf("andw_3 ... ok\n");
      }
      else
      {
         printf("andw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0230);
      }
   }
   else
   {
      printf("andw_3 ... failed\n");
   }

   return;
}

static void andw_4(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "andw $0x4231, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x0230 )
      {
         printf("andw_4 ... ok\n");
      }
      else
      {
         printf("andw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0230);
      }
   }
   else
   {
      printf("andw_4 ... failed\n");
   }

   return;
}

static void andw_5(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "andw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x0230 )
      {
         printf("andw_5 ... ok\n");
      }
      else
      {
         printf("andw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0230);
      }
   }
   else
   {
      printf("andw_5 ... failed\n");
   }

   return;
}

static void andw_6(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "andw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0230 )
      {
         printf("andw_6 ... ok\n");
      }
      else
      {
         printf("andw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0230);
      }
   }
   else
   {
      printf("andw_6 ... failed\n");
   }

   return;
}

static void andw_7(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "andw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 0x0230 )
      {
         printf("andw_7 ... ok\n");
      }
      else
      {
         printf("andw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0230);
      }
   }
   else
   {
      printf("andw_7 ... failed\n");
   }

   return;
}

static void andl_1(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "andl $0x31, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00000030UL )
      {
         printf("andl_1 ... ok\n");
      }
      else
      {
         printf("andl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00000030UL);
      }
   }
   else
   {
      printf("andl_1 ... failed\n");
   }

   return;
}

static void andl_2(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "andl $0x86427531, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x02005430UL )
      {
         printf("andl_2 ... ok\n");
      }
      else
      {
         printf("andl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x02005430UL);
      }
   }
   else
   {
      printf("andl_2 ... failed\n");
   }

   return;
}

static void andl_3(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "andl $0x86427531, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 0x02005430UL )
      {
         printf("andl_3 ... ok\n");
      }
      else
      {
         printf("andl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x02005430UL);
      }
   }
   else
   {
      printf("andl_3 ... failed\n");
   }

   return;
}

static void andl_4(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "andl $0x86427531, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x02005430UL )
      {
         printf("andl_4 ... ok\n");
      }
      else
      {
         printf("andl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x02005430UL);
      }
   }
   else
   {
      printf("andl_4 ... failed\n");
   }

   return;
}

static void andl_5(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "andl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x02005430UL )
      {
         printf("andl_5 ... ok\n");
      }
      else
      {
         printf("andl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x02005430UL);
      }
   }
   else
   {
      printf("andl_5 ... failed\n");
   }

   return;
}

static void andl_6(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "andl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x02005430UL )
      {
         printf("andl_6 ... ok\n");
      }
      else
      {
         printf("andl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x02005430UL);
      }
   }
   else
   {
      printf("andl_6 ... failed\n");
   }

   return;
}

static void andl_7(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "andl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 0x02005430UL )
      {
         printf("andl_7 ... ok\n");
      }
      else
      {
         printf("andl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x02005430UL);
      }
   }
   else
   {
      printf("andl_7 ... failed\n");
   }

   return;
}

static void bsfw_1(void)
{
   reg16_t arg0 = { .uw = { 0x2468 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "bsfw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 3 )
      {
         printf("bsfw_1 ... ok\n");
      }
      else
      {
         printf("bsfw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3);
      }
   }
   else
   {
      printf("bsfw_1 ... failed\n");
   }

   return;
}

static void bsfw_2(void)
{
   reg16_t arg0 = { .uw = { 0x8642 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "bsfw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 1 )
      {
         printf("bsfw_2 ... ok\n");
      }
      else
      {
         printf("bsfw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 1);
      }
   }
   else
   {
      printf("bsfw_2 ... failed\n");
   }

   return;
}

static void bsfl_1(void)
{
   reg32_t arg0 = { .ud = { 0x13572468UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "bsfl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 3UL )
      {
         printf("bsfl_1 ... ok\n");
      }
      else
      {
         printf("bsfl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 3UL);
      }
   }
   else
   {
      printf("bsfl_1 ... failed\n");
   }

   return;
}

static void bsfl_2(void)
{
   reg32_t arg0 = { .ud = { 0x75318642UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "bsfl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 1UL )
      {
         printf("bsfl_2 ... ok\n");
      }
      else
      {
         printf("bsfl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 1UL);
      }
   }
   else
   {
      printf("bsfl_2 ... failed\n");
   }

   return;
}

static void bsrw_1(void)
{
   reg16_t arg0 = { .uw = { 0x2468 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "bsrw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 13 )
      {
         printf("bsrw_1 ... ok\n");
      }
      else
      {
         printf("bsrw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 13);
      }
   }
   else
   {
      printf("bsrw_1 ... failed\n");
   }

   return;
}

static void bsrw_2(void)
{
   reg16_t arg0 = { .uw = { 0x8642 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "bsrw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 15 )
      {
         printf("bsrw_2 ... ok\n");
      }
      else
      {
         printf("bsrw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 15);
      }
   }
   else
   {
      printf("bsrw_2 ... failed\n");
   }

   return;
}

static void bsrl_1(void)
{
   reg32_t arg0 = { .ud = { 0x13572468UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "bsrl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 28UL )
      {
         printf("bsrl_1 ... ok\n");
      }
      else
      {
         printf("bsrl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 28UL);
      }
   }
   else
   {
      printf("bsrl_1 ... failed\n");
   }

   return;
}

static void bsrl_2(void)
{
   reg32_t arg0 = { .ud = { 0x75318642UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "bsrl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 30UL )
      {
         printf("bsrl_2 ... ok\n");
      }
      else
      {
         printf("bsrl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 30UL);
      }
   }
   else
   {
      printf("bsrl_2 ... failed\n");
   }

   return;
}

static void bswapl_1(void)
{
   reg32_t arg0 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "bswapl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x78563412UL )
      {
         printf("bswapl_1 ... ok\n");
      }
      else
      {
         printf("bswapl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x78563412UL);
      }
   }
   else
   {
      printf("bswapl_1 ... failed\n");
   }

   return;
}

static void btw_1(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btw $0, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btw_1 ... ok\n");
      }
      else
      {
         printf("btw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btw_1 ... failed\n");
   }

   return;
}

static void btw_2(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btw $12, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btw_2 ... ok\n");
      }
      else
      {
         printf("btw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btw_2 ... failed\n");
   }

   return;
}

static void btw_3(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btw $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btw_3 ... ok\n");
      }
      else
      {
         printf("btw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btw_3 ... failed\n");
   }

   return;
}

static void btw_4(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btw $12, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btw_4 ... ok\n");
      }
      else
      {
         printf("btw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btw_4 ... failed\n");
   }

   return;
}

static void btw_5(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btw_5 ... ok\n");
      }
      else
      {
         printf("btw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btw_5 ... failed\n");
   }

   return;
}

static void btw_6(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btw_6 ... ok\n");
      }
      else
      {
         printf("btw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btw_6 ... failed\n");
   }

   return;
}

static void btw_7(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btw_7 ... ok\n");
      }
      else
      {
         printf("btw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btw_7 ... failed\n");
   }

   return;
}

static void btw_8(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btw_8 ... ok\n");
      }
      else
      {
         printf("btw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btw_8 ... failed\n");
   }

   return;
}

static void btl_1(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btl $0, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btl_1 ... ok\n");
      }
      else
      {
         printf("btl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btl_1 ... failed\n");
   }

   return;
}

static void btl_2(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btl $24, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btl_2 ... ok\n");
      }
      else
      {
         printf("btl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btl_2 ... failed\n");
   }

   return;
}

static void btl_3(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btl $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btl_3 ... ok\n");
      }
      else
      {
         printf("btl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btl_3 ... failed\n");
   }

   return;
}

static void btl_4(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btl $24, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btl_4 ... ok\n");
      }
      else
      {
         printf("btl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btl_4 ... failed\n");
   }

   return;
}

static void btl_5(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btl_5 ... ok\n");
      }
      else
      {
         printf("btl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btl_5 ... failed\n");
   }

   return;
}

static void btl_6(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btl_6 ... ok\n");
      }
      else
      {
         printf("btl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btl_6 ... failed\n");
   }

   return;
}

static void btl_7(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btl_7 ... ok\n");
      }
      else
      {
         printf("btl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btl_7 ... failed\n");
   }

   return;
}

static void btl_8(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btl_8 ... ok\n");
      }
      else
      {
         printf("btl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btl_8 ... failed\n");
   }

   return;
}

static void btcw_1(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcw $0, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcw_1 ... ok\n");
      }
      else
      {
         printf("btcw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcw_1 ... failed\n");
   }

   return;
}

static void btcw_2(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcw $12, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcw_2 ... ok\n");
      }
      else
      {
         printf("btcw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcw_2 ... failed\n");
   }

   return;
}

static void btcw_3(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcw $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcw_3 ... ok\n");
      }
      else
      {
         printf("btcw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcw_3 ... failed\n");
   }

   return;
}

static void btcw_4(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcw $12, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcw_4 ... ok\n");
      }
      else
      {
         printf("btcw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcw_4 ... failed\n");
   }

   return;
}

static void btcw_5(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcw_5 ... ok\n");
      }
      else
      {
         printf("btcw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcw_5 ... failed\n");
   }

   return;
}

static void btcw_6(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcw_6 ... ok\n");
      }
      else
      {
         printf("btcw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcw_6 ... failed\n");
   }

   return;
}

static void btcw_7(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcw_7 ... ok\n");
      }
      else
      {
         printf("btcw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcw_7 ... failed\n");
   }

   return;
}

static void btcw_8(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcw_8 ... ok\n");
      }
      else
      {
         printf("btcw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcw_8 ... failed\n");
   }

   return;
}

static void btcl_1(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcl $0, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcl_1 ... ok\n");
      }
      else
      {
         printf("btcl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcl_1 ... failed\n");
   }

   return;
}

static void btcl_2(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcl $24, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcl_2 ... ok\n");
      }
      else
      {
         printf("btcl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcl_2 ... failed\n");
   }

   return;
}

static void btcl_3(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcl $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcl_3 ... ok\n");
      }
      else
      {
         printf("btcl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcl_3 ... failed\n");
   }

   return;
}

static void btcl_4(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcl $24, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcl_4 ... ok\n");
      }
      else
      {
         printf("btcl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcl_4 ... failed\n");
   }

   return;
}

static void btcl_5(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcl_5 ... ok\n");
      }
      else
      {
         printf("btcl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcl_5 ... failed\n");
   }

   return;
}

static void btcl_6(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcl_6 ... ok\n");
      }
      else
      {
         printf("btcl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcl_6 ... failed\n");
   }

   return;
}

static void btcl_7(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btcl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btcl_7 ... ok\n");
      }
      else
      {
         printf("btcl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btcl_7 ... failed\n");
   }

   return;
}

static void btcl_8(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btcl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btcl_8 ... ok\n");
      }
      else
      {
         printf("btcl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btcl_8 ... failed\n");
   }

   return;
}

static void btrw_1(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrw $0, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrw_1 ... ok\n");
      }
      else
      {
         printf("btrw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrw_1 ... failed\n");
   }

   return;
}

static void btrw_2(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrw $12, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrw_2 ... ok\n");
      }
      else
      {
         printf("btrw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrw_2 ... failed\n");
   }

   return;
}

static void btrw_3(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrw $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrw_3 ... ok\n");
      }
      else
      {
         printf("btrw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrw_3 ... failed\n");
   }

   return;
}

static void btrw_4(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrw $12, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrw_4 ... ok\n");
      }
      else
      {
         printf("btrw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrw_4 ... failed\n");
   }

   return;
}

static void btrw_5(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrw_5 ... ok\n");
      }
      else
      {
         printf("btrw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrw_5 ... failed\n");
   }

   return;
}

static void btrw_6(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrw_6 ... ok\n");
      }
      else
      {
         printf("btrw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrw_6 ... failed\n");
   }

   return;
}

static void btrw_7(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4230 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrw_7 ... ok\n");
      }
      else
      {
         printf("btrw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4230);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrw_7 ... failed\n");
   }

   return;
}

static void btrw_8(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrw_8 ... ok\n");
      }
      else
      {
         printf("btrw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrw_8 ... failed\n");
   }

   return;
}

static void btrl_1(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrl $0, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrl_1 ... ok\n");
      }
      else
      {
         printf("btrl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrl_1 ... failed\n");
   }

   return;
}

static void btrl_2(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrl $24, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrl_2 ... ok\n");
      }
      else
      {
         printf("btrl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrl_2 ... failed\n");
   }

   return;
}

static void btrl_3(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrl $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrl_3 ... ok\n");
      }
      else
      {
         printf("btrl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrl_3 ... failed\n");
   }

   return;
}

static void btrl_4(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrl $24, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrl_4 ... ok\n");
      }
      else
      {
         printf("btrl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrl_4 ... failed\n");
   }

   return;
}

static void btrl_5(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrl_5 ... ok\n");
      }
      else
      {
         printf("btrl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrl_5 ... failed\n");
   }

   return;
}

static void btrl_6(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrl_6 ... ok\n");
      }
      else
      {
         printf("btrl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrl_6 ... failed\n");
   }

   return;
}

static void btrl_7(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btrl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427530UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btrl_7 ... ok\n");
      }
      else
      {
         printf("btrl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427530UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btrl_7 ... failed\n");
   }

   return;
}

static void btrl_8(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btrl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btrl_8 ... ok\n");
      }
      else
      {
         printf("btrl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btrl_8 ... failed\n");
   }

   return;
}

static void btsw_1(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsw $0, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsw_1 ... ok\n");
      }
      else
      {
         printf("btsw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsw_1 ... failed\n");
   }

   return;
}

static void btsw_2(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsw $12, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsw_2 ... ok\n");
      }
      else
      {
         printf("btsw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsw_2 ... failed\n");
   }

   return;
}

static void btsw_3(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsw $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsw_3 ... ok\n");
      }
      else
      {
         printf("btsw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsw_3 ... failed\n");
   }

   return;
}

static void btsw_4(void)
{
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsw $12, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsw_4 ... ok\n");
      }
      else
      {
         printf("btsw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsw_4 ... failed\n");
   }

   return;
}

static void btsw_5(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsw_5 ... ok\n");
      }
      else
      {
         printf("btsw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsw_5 ... failed\n");
   }

   return;
}

static void btsw_6(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsw_6 ... ok\n");
      }
      else
      {
         printf("btsw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsw_6 ... failed\n");
   }

   return;
}

static void btsw_7(void)
{
   reg16_t arg0 = { .uw = { 0 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsw_7 ... ok\n");
      }
      else
      {
         printf("btsw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsw_7 ... failed\n");
   }

   return;
}

static void btsw_8(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 0x4231 } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5231 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsw_8 ... ok\n");
      }
      else
      {
         printf("btsw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5231);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsw_8 ... failed\n");
   }

   return;
}

static void btsl_1(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsl $0, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsl_1 ... ok\n");
      }
      else
      {
         printf("btsl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsl_1 ... failed\n");
   }

   return;
}

static void btsl_2(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsl $24, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsl_2 ... ok\n");
      }
      else
      {
         printf("btsl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsl_2 ... failed\n");
   }

   return;
}

static void btsl_3(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsl $0, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsl_3 ... ok\n");
      }
      else
      {
         printf("btsl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsl_3 ... failed\n");
   }

   return;
}

static void btsl_4(void)
{
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsl $24, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsl_4 ... ok\n");
      }
      else
      {
         printf("btsl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsl_4 ... failed\n");
   }

   return;
}

static void btsl_5(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsl_5 ... ok\n");
      }
      else
      {
         printf("btsl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsl_5 ... failed\n");
   }

   return;
}

static void btsl_6(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsl_6 ... ok\n");
      }
      else
      {
         printf("btsl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsl_6 ... failed\n");
   }

   return;
}

static void btsl_7(void)
{
   reg32_t arg0 = { .ud = { 0UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "btsl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x86427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("btsl_7 ... ok\n");
      }
      else
      {
         printf("btsl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x86427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("btsl_7 ... failed\n");
   }

   return;
}

static void btsl_8(void)
{
   reg32_t arg0 = { .ud = { 24UL } };
   reg32_t arg1 = { .ud = { 0x86427531UL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "btsl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x87427531UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("btsl_8 ... ok\n");
      }
      else
      {
         printf("btsl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x87427531UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("btsl_8 ... failed\n");
   }

   return;
}

static void cbw_1(void)
{
   reg8_t preset0 = { .sb = { 123 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "cbw\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "al"
      );

      if (result0.sw[0] == 123 )
      {
         printf("cbw_1 ... ok\n");
      }
      else
      {
         printf("cbw_1 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], 123);
      }
   }
   else
   {
      printf("cbw_1 ... failed\n");
   }

   return;
}

static void cbw_2(void)
{
   reg8_t preset0 = { .sb = { -123 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "cbw\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "al"
      );

      if (result0.sw[0] == -123 )
      {
         printf("cbw_2 ... ok\n");
      }
      else
      {
         printf("cbw_2 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -123);
      }
   }
   else
   {
      printf("cbw_2 ... failed\n");
   }

   return;
}

static void cdq_1(void)
{
   reg32_t preset0 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "cdq\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00000000UL &&
          result1.ud[0] == 0x12345678UL )
      {
         printf("cdq_1 ... ok\n");
      }
      else
      {
         printf("cdq_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00000000UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 0x12345678UL);
      }
   }
   else
   {
      printf("cdq_1 ... failed\n");
   }

   return;
}

static void cdq_2(void)
{
   reg32_t preset0 = { .ud = { 0xfedcba98UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "cdq\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xffffffffUL &&
          result1.ud[0] == 0xfedcba98UL )
      {
         printf("cdq_2 ... ok\n");
      }
      else
      {
         printf("cdq_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xffffffffUL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 0xfedcba98UL);
      }
   }
   else
   {
      printf("cdq_2 ... failed\n");
   }

   return;
}

static void clc_1(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "clc\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("clc_1 ... ok\n");
      }
      else
      {
         printf("clc_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result0.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("clc_1 ... failed\n");
   }

   return;
}

static void clc_2(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "clc\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("clc_2 ... ok\n");
      }
      else
      {
         printf("clc_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result0.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("clc_2 ... failed\n");
   }

   return;
}

static void cld_1(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffbff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cld\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000400UL) == 0x00000000UL )
      {
         printf("cld_1 ... ok\n");
      }
      else
      {
         printf("cld_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000400UL, result0.ud[0] & 0x00000400UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cld_1 ... failed\n");
   }

   return;
}

static void cld_2(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffbff, (%%esp)\n"
         "orl $0x00000400, (%%esp)\n"
         "popfl\n"
         "cld\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000400UL) == 0x00000000UL )
      {
         printf("cld_2 ... ok\n");
      }
      else
      {
         printf("cld_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000400UL, result0.ud[0] & 0x00000400UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cld_2 ... failed\n");
   }

   return;
}

static void cmc_1(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmc\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("cmc_1 ... ok\n");
      }
      else
      {
         printf("cmc_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result0.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("cmc_1 ... failed\n");
   }

   return;
}

static void cmc_2(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "cmc\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("cmc_2 ... ok\n");
      }
      else
      {
         printf("cmc_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result0.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmc_2 ... failed\n");
   }

   return;
}

static void cmpb_1(void)
{
   reg8_t arg1 = { .ub = { 2U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $3, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpb_1 ... ok\n");
      }
      else
      {
         printf("cmpb_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpb_1 ... failed\n");
   }

   return;
}

static void cmpb_2(void)
{
   reg8_t arg1 = { .ub = { 3U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpb $2, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpb_2 ... ok\n");
      }
      else
      {
         printf("cmpb_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_2 ... failed\n");
   }

   return;
}

static void cmpb_3(void)
{
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpb_3 ... ok\n");
      }
      else
      {
         printf("cmpb_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpb_3 ... failed\n");
   }

   return;
}

static void cmpb_4(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpb_4 ... ok\n");
      }
      else
      {
         printf("cmpb_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_4 ... failed\n");
   }

   return;
}

static void cmpb_5(void)
{
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $34, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpb_5 ... ok\n");
      }
      else
      {
         printf("cmpb_5 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpb_5 ... failed\n");
   }

   return;
}

static void cmpb_6(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpb_6 ... ok\n");
      }
      else
      {
         printf("cmpb_6 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_6 ... failed\n");
   }

   return;
}

static void cmpb_7(void)
{
   reg8_t arg1 = { .sb = { -100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $100, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_7 ... ok\n");
      }
      else
      {
         printf("cmpb_7 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_7 ... failed\n");
   }

   return;
}

static void cmpb_8(void)
{
   reg8_t arg1 = { .sb = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb $50, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_8 ... ok\n");
      }
      else
      {
         printf("cmpb_8 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_8 ... failed\n");
   }

   return;
}

static void cmpb_9(void)
{
   reg8_t arg1 = { .sb = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb $-50, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_9 ... ok\n");
      }
      else
      {
         printf("cmpb_9 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_9 ... failed\n");
   }

   return;
}

static void cmpb_10(void)
{
   reg8_t arg1 = { .sb = { 100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $-100, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_10 ... ok\n");
      }
      else
      {
         printf("cmpb_10 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_10 ... failed\n");
   }

   return;
}

static void cmpb_11(void)
{
   reg8_t arg1 = { .ub = { 2U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $3, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpb_11 ... ok\n");
      }
      else
      {
         printf("cmpb_11 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpb_11 ... failed\n");
   }

   return;
}

static void cmpb_12(void)
{
   reg8_t arg1 = { .ub = { 3U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpb $2, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpb_12 ... ok\n");
      }
      else
      {
         printf("cmpb_12 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_12 ... failed\n");
   }

   return;
}

static void cmpb_13(void)
{
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpb_13 ... ok\n");
      }
      else
      {
         printf("cmpb_13 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpb_13 ... failed\n");
   }

   return;
}

static void cmpb_14(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpb_14 ... ok\n");
      }
      else
      {
         printf("cmpb_14 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_14 ... failed\n");
   }

   return;
}

static void cmpb_15(void)
{
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $34, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpb_15 ... ok\n");
      }
      else
      {
         printf("cmpb_15 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpb_15 ... failed\n");
   }

   return;
}

static void cmpb_16(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpb_16 ... ok\n");
      }
      else
      {
         printf("cmpb_16 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_16 ... failed\n");
   }

   return;
}

static void cmpb_17(void)
{
   reg8_t arg1 = { .sb = { -100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $100, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_17 ... ok\n");
      }
      else
      {
         printf("cmpb_17 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_17 ... failed\n");
   }

   return;
}

static void cmpb_18(void)
{
   reg8_t arg1 = { .sb = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb $50, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_18 ... ok\n");
      }
      else
      {
         printf("cmpb_18 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_18 ... failed\n");
   }

   return;
}

static void cmpb_19(void)
{
   reg8_t arg1 = { .sb = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb $-50, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_19 ... ok\n");
      }
      else
      {
         printf("cmpb_19 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_19 ... failed\n");
   }

   return;
}

static void cmpb_20(void)
{
   reg8_t arg1 = { .sb = { 100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $-100, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_20 ... ok\n");
      }
      else
      {
         printf("cmpb_20 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_20 ... failed\n");
   }

   return;
}

static void cmpb_21(void)
{
   reg8_t arg1 = { .ub = { 2U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $3, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpb_21 ... ok\n");
      }
      else
      {
         printf("cmpb_21 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpb_21 ... failed\n");
   }

   return;
}

static void cmpb_22(void)
{
   reg8_t arg1 = { .ub = { 3U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpb $2, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpb_22 ... ok\n");
      }
      else
      {
         printf("cmpb_22 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_22 ... failed\n");
   }

   return;
}

static void cmpb_23(void)
{
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpb_23 ... ok\n");
      }
      else
      {
         printf("cmpb_23 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpb_23 ... failed\n");
   }

   return;
}

static void cmpb_24(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpb_24 ... ok\n");
      }
      else
      {
         printf("cmpb_24 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_24 ... failed\n");
   }

   return;
}

static void cmpb_25(void)
{
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $34, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpb_25 ... ok\n");
      }
      else
      {
         printf("cmpb_25 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpb_25 ... failed\n");
   }

   return;
}

static void cmpb_26(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpb $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpb_26 ... ok\n");
      }
      else
      {
         printf("cmpb_26 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_26 ... failed\n");
   }

   return;
}

static void cmpb_27(void)
{
   reg8_t arg1 = { .sb = { -100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_27 ... ok\n");
      }
      else
      {
         printf("cmpb_27 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_27 ... failed\n");
   }

   return;
}

static void cmpb_28(void)
{
   reg8_t arg1 = { .sb = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb $50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_28 ... ok\n");
      }
      else
      {
         printf("cmpb_28 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_28 ... failed\n");
   }

   return;
}

static void cmpb_29(void)
{
   reg8_t arg1 = { .sb = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb $-50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_29 ... ok\n");
      }
      else
      {
         printf("cmpb_29 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_29 ... failed\n");
   }

   return;
}

static void cmpb_30(void)
{
   reg8_t arg1 = { .sb = { 100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb $-100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_30 ... ok\n");
      }
      else
      {
         printf("cmpb_30 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_30 ... failed\n");
   }

   return;
}

static void cmpb_31(void)
{
   reg8_t arg0 = { .ub = { 3U } };
   reg8_t arg1 = { .ub = { 2U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpb_31 ... ok\n");
      }
      else
      {
         printf("cmpb_31 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpb_31 ... failed\n");
   }

   return;
}

static void cmpb_32(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 3U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpb_32 ... ok\n");
      }
      else
      {
         printf("cmpb_32 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_32 ... failed\n");
   }

   return;
}

static void cmpb_33(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpb_33 ... ok\n");
      }
      else
      {
         printf("cmpb_33 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpb_33 ... failed\n");
   }

   return;
}

static void cmpb_34(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpb_34 ... ok\n");
      }
      else
      {
         printf("cmpb_34 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_34 ... failed\n");
   }

   return;
}

static void cmpb_35(void)
{
   reg8_t arg0 = { .ub = { 34U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpb_35 ... ok\n");
      }
      else
      {
         printf("cmpb_35 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpb_35 ... failed\n");
   }

   return;
}

static void cmpb_36(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpb_36 ... ok\n");
      }
      else
      {
         printf("cmpb_36 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_36 ... failed\n");
   }

   return;
}

static void cmpb_37(void)
{
   reg8_t arg0 = { .ub = { 100U } };
   reg8_t arg1 = { .sb = { -100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_37 ... ok\n");
      }
      else
      {
         printf("cmpb_37 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_37 ... failed\n");
   }

   return;
}

static void cmpb_38(void)
{
   reg8_t arg0 = { .ub = { 50U } };
   reg8_t arg1 = { .sb = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_38 ... ok\n");
      }
      else
      {
         printf("cmpb_38 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_38 ... failed\n");
   }

   return;
}

static void cmpb_39(void)
{
   reg8_t arg0 = { .sb = { -50 } };
   reg8_t arg1 = { .sb = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_39 ... ok\n");
      }
      else
      {
         printf("cmpb_39 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_39 ... failed\n");
   }

   return;
}

static void cmpb_40(void)
{
   reg8_t arg0 = { .sb = { -100 } };
   reg8_t arg1 = { .sb = { 100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_40 ... ok\n");
      }
      else
      {
         printf("cmpb_40 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_40 ... failed\n");
   }

   return;
}

static void cmpb_41(void)
{
   reg8_t arg0 = { .ub = { 3U } };
   reg8_t arg1 = { .ub = { 2U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpb_41 ... ok\n");
      }
      else
      {
         printf("cmpb_41 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpb_41 ... failed\n");
   }

   return;
}

static void cmpb_42(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 3U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpb_42 ... ok\n");
      }
      else
      {
         printf("cmpb_42 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_42 ... failed\n");
   }

   return;
}

static void cmpb_43(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpb_43 ... ok\n");
      }
      else
      {
         printf("cmpb_43 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpb_43 ... failed\n");
   }

   return;
}

static void cmpb_44(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpb_44 ... ok\n");
      }
      else
      {
         printf("cmpb_44 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_44 ... failed\n");
   }

   return;
}

static void cmpb_45(void)
{
   reg8_t arg0 = { .ub = { 34U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpb_45 ... ok\n");
      }
      else
      {
         printf("cmpb_45 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpb_45 ... failed\n");
   }

   return;
}

static void cmpb_46(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpb_46 ... ok\n");
      }
      else
      {
         printf("cmpb_46 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_46 ... failed\n");
   }

   return;
}

static void cmpb_47(void)
{
   reg8_t arg0 = { .ub = { 100U } };
   reg8_t arg1 = { .sb = { -100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_47 ... ok\n");
      }
      else
      {
         printf("cmpb_47 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_47 ... failed\n");
   }

   return;
}

static void cmpb_48(void)
{
   reg8_t arg0 = { .ub = { 50U } };
   reg8_t arg1 = { .sb = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_48 ... ok\n");
      }
      else
      {
         printf("cmpb_48 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_48 ... failed\n");
   }

   return;
}

static void cmpb_49(void)
{
   reg8_t arg0 = { .sb = { -50 } };
   reg8_t arg1 = { .sb = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_49 ... ok\n");
      }
      else
      {
         printf("cmpb_49 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_49 ... failed\n");
   }

   return;
}

static void cmpb_50(void)
{
   reg8_t arg0 = { .sb = { -100 } };
   reg8_t arg1 = { .sb = { 100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_50 ... ok\n");
      }
      else
      {
         printf("cmpb_50 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_50 ... failed\n");
   }

   return;
}

static void cmpb_51(void)
{
   reg8_t arg0 = { .ub = { 3U } };
   reg8_t arg1 = { .ub = { 2U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpb_51 ... ok\n");
      }
      else
      {
         printf("cmpb_51 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpb_51 ... failed\n");
   }

   return;
}

static void cmpb_52(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 3U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpb_52 ... ok\n");
      }
      else
      {
         printf("cmpb_52 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_52 ... failed\n");
   }

   return;
}

static void cmpb_53(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpb_53 ... ok\n");
      }
      else
      {
         printf("cmpb_53 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpb_53 ... failed\n");
   }

   return;
}

static void cmpb_54(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpb_54 ... ok\n");
      }
      else
      {
         printf("cmpb_54 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_54 ... failed\n");
   }

   return;
}

static void cmpb_55(void)
{
   reg8_t arg0 = { .ub = { 34U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpb_55 ... ok\n");
      }
      else
      {
         printf("cmpb_55 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpb_55 ... failed\n");
   }

   return;
}

static void cmpb_56(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpb_56 ... ok\n");
      }
      else
      {
         printf("cmpb_56 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_56 ... failed\n");
   }

   return;
}

static void cmpb_57(void)
{
   reg8_t arg0 = { .ub = { 100U } };
   reg8_t arg1 = { .sb = { -100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_57 ... ok\n");
      }
      else
      {
         printf("cmpb_57 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_57 ... failed\n");
   }

   return;
}

static void cmpb_58(void)
{
   reg8_t arg0 = { .ub = { 50U } };
   reg8_t arg1 = { .sb = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_58 ... ok\n");
      }
      else
      {
         printf("cmpb_58 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_58 ... failed\n");
   }

   return;
}

static void cmpb_59(void)
{
   reg8_t arg0 = { .sb = { -50 } };
   reg8_t arg1 = { .sb = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpb_59 ... ok\n");
      }
      else
      {
         printf("cmpb_59 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpb_59 ... failed\n");
   }

   return;
}

static void cmpb_60(void)
{
   reg8_t arg0 = { .sb = { -100 } };
   reg8_t arg1 = { .sb = { 100 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpb %1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpb_60 ... ok\n");
      }
      else
      {
         printf("cmpb_60 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpb_60 ... failed\n");
   }

   return;
}

static void cmpw_1(void)
{
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $3, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_1 ... ok\n");
      }
      else
      {
         printf("cmpw_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_1 ... failed\n");
   }

   return;
}

static void cmpw_2(void)
{
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw $2, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_2 ... ok\n");
      }
      else
      {
         printf("cmpw_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_2 ... failed\n");
   }

   return;
}

static void cmpw_3(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_3 ... ok\n");
      }
      else
      {
         printf("cmpw_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_3 ... failed\n");
   }

   return;
}

static void cmpw_4(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_4 ... ok\n");
      }
      else
      {
         printf("cmpw_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_4 ... failed\n");
   }

   return;
}

static void cmpw_5(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $34, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_5 ... ok\n");
      }
      else
      {
         printf("cmpw_5 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_5 ... failed\n");
   }

   return;
}

static void cmpw_6(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_6 ... ok\n");
      }
      else
      {
         printf("cmpw_6 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_6 ... failed\n");
   }

   return;
}

static void cmpw_7(void)
{
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $100, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_7 ... ok\n");
      }
      else
      {
         printf("cmpw_7 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_7 ... failed\n");
   }

   return;
}

static void cmpw_8(void)
{
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $50, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_8 ... ok\n");
      }
      else
      {
         printf("cmpw_8 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_8 ... failed\n");
   }

   return;
}

static void cmpw_9(void)
{
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $-50, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_9 ... ok\n");
      }
      else
      {
         printf("cmpw_9 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_9 ... failed\n");
   }

   return;
}

static void cmpw_10(void)
{
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $-100, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_10 ... ok\n");
      }
      else
      {
         printf("cmpw_10 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_10 ... failed\n");
   }

   return;
}

static void cmpw_11(void)
{
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $3, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_11 ... ok\n");
      }
      else
      {
         printf("cmpw_11 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_11 ... failed\n");
   }

   return;
}

static void cmpw_12(void)
{
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw $2, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_12 ... ok\n");
      }
      else
      {
         printf("cmpw_12 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_12 ... failed\n");
   }

   return;
}

static void cmpw_13(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_13 ... ok\n");
      }
      else
      {
         printf("cmpw_13 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_13 ... failed\n");
   }

   return;
}

static void cmpw_14(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_14 ... ok\n");
      }
      else
      {
         printf("cmpw_14 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_14 ... failed\n");
   }

   return;
}

static void cmpw_15(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $34, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_15 ... ok\n");
      }
      else
      {
         printf("cmpw_15 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_15 ... failed\n");
   }

   return;
}

static void cmpw_16(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_16 ... ok\n");
      }
      else
      {
         printf("cmpw_16 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_16 ... failed\n");
   }

   return;
}

static void cmpw_17(void)
{
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_17 ... ok\n");
      }
      else
      {
         printf("cmpw_17 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_17 ... failed\n");
   }

   return;
}

static void cmpw_18(void)
{
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_18 ... ok\n");
      }
      else
      {
         printf("cmpw_18 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_18 ... failed\n");
   }

   return;
}

static void cmpw_19(void)
{
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $-50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_19 ... ok\n");
      }
      else
      {
         printf("cmpw_19 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_19 ... failed\n");
   }

   return;
}

static void cmpw_20(void)
{
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $-100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_20 ... ok\n");
      }
      else
      {
         printf("cmpw_20 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_20 ... failed\n");
   }

   return;
}

static void cmpw_21(void)
{
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $3, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_21 ... ok\n");
      }
      else
      {
         printf("cmpw_21 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_21 ... failed\n");
   }

   return;
}

static void cmpw_22(void)
{
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw $2, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_22 ... ok\n");
      }
      else
      {
         printf("cmpw_22 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_22 ... failed\n");
   }

   return;
}

static void cmpw_23(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_23 ... ok\n");
      }
      else
      {
         printf("cmpw_23 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_23 ... failed\n");
   }

   return;
}

static void cmpw_24(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_24 ... ok\n");
      }
      else
      {
         printf("cmpw_24 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_24 ... failed\n");
   }

   return;
}

static void cmpw_25(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $34, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_25 ... ok\n");
      }
      else
      {
         printf("cmpw_25 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_25 ... failed\n");
   }

   return;
}

static void cmpw_26(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_26 ... ok\n");
      }
      else
      {
         printf("cmpw_26 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_26 ... failed\n");
   }

   return;
}

static void cmpw_27(void)
{
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $100, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_27 ... ok\n");
      }
      else
      {
         printf("cmpw_27 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_27 ... failed\n");
   }

   return;
}

static void cmpw_28(void)
{
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $50, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_28 ... ok\n");
      }
      else
      {
         printf("cmpw_28 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_28 ... failed\n");
   }

   return;
}

static void cmpw_29(void)
{
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $-50, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_29 ... ok\n");
      }
      else
      {
         printf("cmpw_29 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_29 ... failed\n");
   }

   return;
}

static void cmpw_30(void)
{
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $-100, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_30 ... ok\n");
      }
      else
      {
         printf("cmpw_30 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_30 ... failed\n");
   }

   return;
}

static void cmpw_31(void)
{
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $3, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_31 ... ok\n");
      }
      else
      {
         printf("cmpw_31 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_31 ... failed\n");
   }

   return;
}

static void cmpw_32(void)
{
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw $2, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_32 ... ok\n");
      }
      else
      {
         printf("cmpw_32 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_32 ... failed\n");
   }

   return;
}

static void cmpw_33(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_33 ... ok\n");
      }
      else
      {
         printf("cmpw_33 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_33 ... failed\n");
   }

   return;
}

static void cmpw_34(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_34 ... ok\n");
      }
      else
      {
         printf("cmpw_34 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_34 ... failed\n");
   }

   return;
}

static void cmpw_35(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $34, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_35 ... ok\n");
      }
      else
      {
         printf("cmpw_35 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_35 ... failed\n");
   }

   return;
}

static void cmpw_36(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_36 ... ok\n");
      }
      else
      {
         printf("cmpw_36 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_36 ... failed\n");
   }

   return;
}

static void cmpw_37(void)
{
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $100, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_37 ... ok\n");
      }
      else
      {
         printf("cmpw_37 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_37 ... failed\n");
   }

   return;
}

static void cmpw_38(void)
{
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $50, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_38 ... ok\n");
      }
      else
      {
         printf("cmpw_38 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_38 ... failed\n");
   }

   return;
}

static void cmpw_39(void)
{
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $-50, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_39 ... ok\n");
      }
      else
      {
         printf("cmpw_39 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_39 ... failed\n");
   }

   return;
}

static void cmpw_40(void)
{
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $-100, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_40 ... ok\n");
      }
      else
      {
         printf("cmpw_40 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_40 ... failed\n");
   }

   return;
}

static void cmpw_41(void)
{
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $3, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_41 ... ok\n");
      }
      else
      {
         printf("cmpw_41 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_41 ... failed\n");
   }

   return;
}

static void cmpw_42(void)
{
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw $2, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_42 ... ok\n");
      }
      else
      {
         printf("cmpw_42 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_42 ... failed\n");
   }

   return;
}

static void cmpw_43(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_43 ... ok\n");
      }
      else
      {
         printf("cmpw_43 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_43 ... failed\n");
   }

   return;
}

static void cmpw_44(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_44 ... ok\n");
      }
      else
      {
         printf("cmpw_44 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_44 ... failed\n");
   }

   return;
}

static void cmpw_45(void)
{
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $34, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_45 ... ok\n");
      }
      else
      {
         printf("cmpw_45 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_45 ... failed\n");
   }

   return;
}

static void cmpw_46(void)
{
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_46 ... ok\n");
      }
      else
      {
         printf("cmpw_46 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_46 ... failed\n");
   }

   return;
}

static void cmpw_47(void)
{
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_47 ... ok\n");
      }
      else
      {
         printf("cmpw_47 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_47 ... failed\n");
   }

   return;
}

static void cmpw_48(void)
{
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_48 ... ok\n");
      }
      else
      {
         printf("cmpw_48 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_48 ... failed\n");
   }

   return;
}

static void cmpw_49(void)
{
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw $-50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_49 ... ok\n");
      }
      else
      {
         printf("cmpw_49 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_49 ... failed\n");
   }

   return;
}

static void cmpw_50(void)
{
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw $-100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_50 ... ok\n");
      }
      else
      {
         printf("cmpw_50 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_50 ... failed\n");
   }

   return;
}

static void cmpw_51(void)
{
   reg16_t arg0 = { .uw = { 3 } };
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_51 ... ok\n");
      }
      else
      {
         printf("cmpw_51 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_51 ... failed\n");
   }

   return;
}

static void cmpw_52(void)
{
   reg16_t arg0 = { .uw = { 2 } };
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_52 ... ok\n");
      }
      else
      {
         printf("cmpw_52 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_52 ... failed\n");
   }

   return;
}

static void cmpw_53(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_53 ... ok\n");
      }
      else
      {
         printf("cmpw_53 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_53 ... failed\n");
   }

   return;
}

static void cmpw_54(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_54 ... ok\n");
      }
      else
      {
         printf("cmpw_54 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_54 ... failed\n");
   }

   return;
}

static void cmpw_55(void)
{
   reg16_t arg0 = { .uw = { 34 } };
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_55 ... ok\n");
      }
      else
      {
         printf("cmpw_55 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_55 ... failed\n");
   }

   return;
}

static void cmpw_56(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_56 ... ok\n");
      }
      else
      {
         printf("cmpw_56 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_56 ... failed\n");
   }

   return;
}

static void cmpw_57(void)
{
   reg16_t arg0 = { .uw = { 100 } };
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_57 ... ok\n");
      }
      else
      {
         printf("cmpw_57 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_57 ... failed\n");
   }

   return;
}

static void cmpw_58(void)
{
   reg16_t arg0 = { .uw = { 50 } };
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_58 ... ok\n");
      }
      else
      {
         printf("cmpw_58 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_58 ... failed\n");
   }

   return;
}

static void cmpw_59(void)
{
   reg16_t arg0 = { .sw = { -50 } };
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_59 ... ok\n");
      }
      else
      {
         printf("cmpw_59 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_59 ... failed\n");
   }

   return;
}

static void cmpw_60(void)
{
   reg16_t arg0 = { .sw = { -100 } };
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_60 ... ok\n");
      }
      else
      {
         printf("cmpw_60 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_60 ... failed\n");
   }

   return;
}

static void cmpw_61(void)
{
   reg16_t arg0 = { .uw = { 3 } };
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_61 ... ok\n");
      }
      else
      {
         printf("cmpw_61 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_61 ... failed\n");
   }

   return;
}

static void cmpw_62(void)
{
   reg16_t arg0 = { .uw = { 2 } };
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_62 ... ok\n");
      }
      else
      {
         printf("cmpw_62 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_62 ... failed\n");
   }

   return;
}

static void cmpw_63(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_63 ... ok\n");
      }
      else
      {
         printf("cmpw_63 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_63 ... failed\n");
   }

   return;
}

static void cmpw_64(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_64 ... ok\n");
      }
      else
      {
         printf("cmpw_64 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_64 ... failed\n");
   }

   return;
}

static void cmpw_65(void)
{
   reg16_t arg0 = { .uw = { 34 } };
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_65 ... ok\n");
      }
      else
      {
         printf("cmpw_65 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_65 ... failed\n");
   }

   return;
}

static void cmpw_66(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_66 ... ok\n");
      }
      else
      {
         printf("cmpw_66 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_66 ... failed\n");
   }

   return;
}

static void cmpw_67(void)
{
   reg16_t arg0 = { .uw = { 100 } };
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_67 ... ok\n");
      }
      else
      {
         printf("cmpw_67 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_67 ... failed\n");
   }

   return;
}

static void cmpw_68(void)
{
   reg16_t arg0 = { .uw = { 50 } };
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_68 ... ok\n");
      }
      else
      {
         printf("cmpw_68 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_68 ... failed\n");
   }

   return;
}

static void cmpw_69(void)
{
   reg16_t arg0 = { .sw = { -50 } };
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_69 ... ok\n");
      }
      else
      {
         printf("cmpw_69 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_69 ... failed\n");
   }

   return;
}

static void cmpw_70(void)
{
   reg16_t arg0 = { .sw = { -100 } };
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_70 ... ok\n");
      }
      else
      {
         printf("cmpw_70 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_70 ... failed\n");
   }

   return;
}

static void cmpw_71(void)
{
   reg16_t arg0 = { .uw = { 3 } };
   reg16_t arg1 = { .uw = { 2 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpw_71 ... ok\n");
      }
      else
      {
         printf("cmpw_71 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpw_71 ... failed\n");
   }

   return;
}

static void cmpw_72(void)
{
   reg16_t arg0 = { .uw = { 2 } };
   reg16_t arg1 = { .uw = { 3 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpw_72 ... ok\n");
      }
      else
      {
         printf("cmpw_72 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_72 ... failed\n");
   }

   return;
}

static void cmpw_73(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpw_73 ... ok\n");
      }
      else
      {
         printf("cmpw_73 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpw_73 ... failed\n");
   }

   return;
}

static void cmpw_74(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpw_74 ... ok\n");
      }
      else
      {
         printf("cmpw_74 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_74 ... failed\n");
   }

   return;
}

static void cmpw_75(void)
{
   reg16_t arg0 = { .uw = { 34 } };
   reg16_t arg1 = { .uw = { 12 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpw_75 ... ok\n");
      }
      else
      {
         printf("cmpw_75 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpw_75 ... failed\n");
   }

   return;
}

static void cmpw_76(void)
{
   reg16_t arg0 = { .uw = { 12 } };
   reg16_t arg1 = { .uw = { 34 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpw_76 ... ok\n");
      }
      else
      {
         printf("cmpw_76 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_76 ... failed\n");
   }

   return;
}

static void cmpw_77(void)
{
   reg16_t arg0 = { .uw = { 100 } };
   reg16_t arg1 = { .sw = { -32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_77 ... ok\n");
      }
      else
      {
         printf("cmpw_77 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_77 ... failed\n");
   }

   return;
}

static void cmpw_78(void)
{
   reg16_t arg0 = { .uw = { 50 } };
   reg16_t arg1 = { .sw = { -50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_78 ... ok\n");
      }
      else
      {
         printf("cmpw_78 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_78 ... failed\n");
   }

   return;
}

static void cmpw_79(void)
{
   reg16_t arg0 = { .sw = { -50 } };
   reg16_t arg1 = { .sw = { 50 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpw_79 ... ok\n");
      }
      else
      {
         printf("cmpw_79 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpw_79 ... failed\n");
   }

   return;
}

static void cmpw_80(void)
{
   reg16_t arg0 = { .sw = { -100 } };
   reg16_t arg1 = { .sw = { 32700 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpw %1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpw_80 ... ok\n");
      }
      else
      {
         printf("cmpw_80 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpw_80 ... failed\n");
   }

   return;
}

static void cmpl_1(void)
{
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $3, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_1 ... ok\n");
      }
      else
      {
         printf("cmpl_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_1 ... failed\n");
   }

   return;
}

static void cmpl_2(void)
{
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl $2, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_2 ... ok\n");
      }
      else
      {
         printf("cmpl_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_2 ... failed\n");
   }

   return;
}

static void cmpl_3(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_3 ... ok\n");
      }
      else
      {
         printf("cmpl_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_3 ... failed\n");
   }

   return;
}

static void cmpl_4(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_4 ... ok\n");
      }
      else
      {
         printf("cmpl_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_4 ... failed\n");
   }

   return;
}

static void cmpl_5(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $34, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_5 ... ok\n");
      }
      else
      {
         printf("cmpl_5 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_5 ... failed\n");
   }

   return;
}

static void cmpl_6(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_6 ... ok\n");
      }
      else
      {
         printf("cmpl_6 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_6 ... failed\n");
   }

   return;
}

static void cmpl_7(void)
{
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $100, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_7 ... ok\n");
      }
      else
      {
         printf("cmpl_7 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_7 ... failed\n");
   }

   return;
}

static void cmpl_8(void)
{
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $50, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_8 ... ok\n");
      }
      else
      {
         printf("cmpl_8 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_8 ... failed\n");
   }

   return;
}

static void cmpl_9(void)
{
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $-50, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_9 ... ok\n");
      }
      else
      {
         printf("cmpl_9 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_9 ... failed\n");
   }

   return;
}

static void cmpl_10(void)
{
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $-100, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_10 ... ok\n");
      }
      else
      {
         printf("cmpl_10 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_10 ... failed\n");
   }

   return;
}

static void cmpl_11(void)
{
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $3, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_11 ... ok\n");
      }
      else
      {
         printf("cmpl_11 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_11 ... failed\n");
   }

   return;
}

static void cmpl_12(void)
{
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl $2, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_12 ... ok\n");
      }
      else
      {
         printf("cmpl_12 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_12 ... failed\n");
   }

   return;
}

static void cmpl_13(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_13 ... ok\n");
      }
      else
      {
         printf("cmpl_13 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_13 ... failed\n");
   }

   return;
}

static void cmpl_14(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_14 ... ok\n");
      }
      else
      {
         printf("cmpl_14 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_14 ... failed\n");
   }

   return;
}

static void cmpl_15(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $34, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_15 ... ok\n");
      }
      else
      {
         printf("cmpl_15 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_15 ... failed\n");
   }

   return;
}

static void cmpl_16(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_16 ... ok\n");
      }
      else
      {
         printf("cmpl_16 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_16 ... failed\n");
   }

   return;
}

static void cmpl_17(void)
{
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_17 ... ok\n");
      }
      else
      {
         printf("cmpl_17 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_17 ... failed\n");
   }

   return;
}

static void cmpl_18(void)
{
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_18 ... ok\n");
      }
      else
      {
         printf("cmpl_18 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_18 ... failed\n");
   }

   return;
}

static void cmpl_19(void)
{
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $-50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_19 ... ok\n");
      }
      else
      {
         printf("cmpl_19 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_19 ... failed\n");
   }

   return;
}

static void cmpl_20(void)
{
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $-100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_20 ... ok\n");
      }
      else
      {
         printf("cmpl_20 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_20 ... failed\n");
   }

   return;
}

static void cmpl_21(void)
{
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $3, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_21 ... ok\n");
      }
      else
      {
         printf("cmpl_21 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_21 ... failed\n");
   }

   return;
}

static void cmpl_22(void)
{
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl $2, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_22 ... ok\n");
      }
      else
      {
         printf("cmpl_22 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_22 ... failed\n");
   }

   return;
}

static void cmpl_23(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_23 ... ok\n");
      }
      else
      {
         printf("cmpl_23 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_23 ... failed\n");
   }

   return;
}

static void cmpl_24(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_24 ... ok\n");
      }
      else
      {
         printf("cmpl_24 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_24 ... failed\n");
   }

   return;
}

static void cmpl_25(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $34, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_25 ... ok\n");
      }
      else
      {
         printf("cmpl_25 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_25 ... failed\n");
   }

   return;
}

static void cmpl_26(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_26 ... ok\n");
      }
      else
      {
         printf("cmpl_26 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_26 ... failed\n");
   }

   return;
}

static void cmpl_27(void)
{
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $100, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_27 ... ok\n");
      }
      else
      {
         printf("cmpl_27 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_27 ... failed\n");
   }

   return;
}

static void cmpl_28(void)
{
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $50, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_28 ... ok\n");
      }
      else
      {
         printf("cmpl_28 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_28 ... failed\n");
   }

   return;
}

static void cmpl_29(void)
{
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $-50, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_29 ... ok\n");
      }
      else
      {
         printf("cmpl_29 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_29 ... failed\n");
   }

   return;
}

static void cmpl_30(void)
{
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $-100, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_30 ... ok\n");
      }
      else
      {
         printf("cmpl_30 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_30 ... failed\n");
   }

   return;
}

static void cmpl_31(void)
{
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $3, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_31 ... ok\n");
      }
      else
      {
         printf("cmpl_31 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_31 ... failed\n");
   }

   return;
}

static void cmpl_32(void)
{
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl $2, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_32 ... ok\n");
      }
      else
      {
         printf("cmpl_32 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_32 ... failed\n");
   }

   return;
}

static void cmpl_33(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_33 ... ok\n");
      }
      else
      {
         printf("cmpl_33 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_33 ... failed\n");
   }

   return;
}

static void cmpl_34(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_34 ... ok\n");
      }
      else
      {
         printf("cmpl_34 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_34 ... failed\n");
   }

   return;
}

static void cmpl_35(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $34, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_35 ... ok\n");
      }
      else
      {
         printf("cmpl_35 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_35 ... failed\n");
   }

   return;
}

static void cmpl_36(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_36 ... ok\n");
      }
      else
      {
         printf("cmpl_36 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_36 ... failed\n");
   }

   return;
}

static void cmpl_37(void)
{
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $100, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_37 ... ok\n");
      }
      else
      {
         printf("cmpl_37 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_37 ... failed\n");
   }

   return;
}

static void cmpl_38(void)
{
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $50, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_38 ... ok\n");
      }
      else
      {
         printf("cmpl_38 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_38 ... failed\n");
   }

   return;
}

static void cmpl_39(void)
{
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $-50, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_39 ... ok\n");
      }
      else
      {
         printf("cmpl_39 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_39 ... failed\n");
   }

   return;
}

static void cmpl_40(void)
{
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $-100, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_40 ... ok\n");
      }
      else
      {
         printf("cmpl_40 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_40 ... failed\n");
   }

   return;
}

static void cmpl_41(void)
{
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $3, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_41 ... ok\n");
      }
      else
      {
         printf("cmpl_41 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_41 ... failed\n");
   }

   return;
}

static void cmpl_42(void)
{
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl $2, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_42 ... ok\n");
      }
      else
      {
         printf("cmpl_42 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_42 ... failed\n");
   }

   return;
}

static void cmpl_43(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_43 ... ok\n");
      }
      else
      {
         printf("cmpl_43 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_43 ... failed\n");
   }

   return;
}

static void cmpl_44(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_44 ... ok\n");
      }
      else
      {
         printf("cmpl_44 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_44 ... failed\n");
   }

   return;
}

static void cmpl_45(void)
{
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $34, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_45 ... ok\n");
      }
      else
      {
         printf("cmpl_45 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_45 ... failed\n");
   }

   return;
}

static void cmpl_46(void)
{
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl $12, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_46 ... ok\n");
      }
      else
      {
         printf("cmpl_46 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_46 ... failed\n");
   }

   return;
}

static void cmpl_47(void)
{
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_47 ... ok\n");
      }
      else
      {
         printf("cmpl_47 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_47 ... failed\n");
   }

   return;
}

static void cmpl_48(void)
{
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_48 ... ok\n");
      }
      else
      {
         printf("cmpl_48 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_48 ... failed\n");
   }

   return;
}

static void cmpl_49(void)
{
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl $-50, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_49 ... ok\n");
      }
      else
      {
         printf("cmpl_49 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_49 ... failed\n");
   }

   return;
}

static void cmpl_50(void)
{
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl $-100, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_50 ... ok\n");
      }
      else
      {
         printf("cmpl_50 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_50 ... failed\n");
   }

   return;
}

static void cmpl_51(void)
{
   reg32_t arg0 = { .ud = { 3UL } };
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_51 ... ok\n");
      }
      else
      {
         printf("cmpl_51 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_51 ... failed\n");
   }

   return;
}

static void cmpl_52(void)
{
   reg32_t arg0 = { .ud = { 2UL } };
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_52 ... ok\n");
      }
      else
      {
         printf("cmpl_52 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_52 ... failed\n");
   }

   return;
}

static void cmpl_53(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_53 ... ok\n");
      }
      else
      {
         printf("cmpl_53 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_53 ... failed\n");
   }

   return;
}

static void cmpl_54(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_54 ... ok\n");
      }
      else
      {
         printf("cmpl_54 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_54 ... failed\n");
   }

   return;
}

static void cmpl_55(void)
{
   reg32_t arg0 = { .ud = { 34UL } };
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_55 ... ok\n");
      }
      else
      {
         printf("cmpl_55 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_55 ... failed\n");
   }

   return;
}

static void cmpl_56(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_56 ... ok\n");
      }
      else
      {
         printf("cmpl_56 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_56 ... failed\n");
   }

   return;
}

static void cmpl_57(void)
{
   reg32_t arg0 = { .ud = { 100UL } };
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_57 ... ok\n");
      }
      else
      {
         printf("cmpl_57 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_57 ... failed\n");
   }

   return;
}

static void cmpl_58(void)
{
   reg32_t arg0 = { .ud = { 50UL } };
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_58 ... ok\n");
      }
      else
      {
         printf("cmpl_58 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_58 ... failed\n");
   }

   return;
}

static void cmpl_59(void)
{
   reg32_t arg0 = { .sd = { -50L } };
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_59 ... ok\n");
      }
      else
      {
         printf("cmpl_59 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_59 ... failed\n");
   }

   return;
}

static void cmpl_60(void)
{
   reg32_t arg0 = { .sd = { -100L } };
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_60 ... ok\n");
      }
      else
      {
         printf("cmpl_60 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_60 ... failed\n");
   }

   return;
}

static void cmpl_61(void)
{
   reg32_t arg0 = { .ud = { 3UL } };
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_61 ... ok\n");
      }
      else
      {
         printf("cmpl_61 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_61 ... failed\n");
   }

   return;
}

static void cmpl_62(void)
{
   reg32_t arg0 = { .ud = { 2UL } };
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_62 ... ok\n");
      }
      else
      {
         printf("cmpl_62 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_62 ... failed\n");
   }

   return;
}

static void cmpl_63(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_63 ... ok\n");
      }
      else
      {
         printf("cmpl_63 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_63 ... failed\n");
   }

   return;
}

static void cmpl_64(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_64 ... ok\n");
      }
      else
      {
         printf("cmpl_64 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_64 ... failed\n");
   }

   return;
}

static void cmpl_65(void)
{
   reg32_t arg0 = { .ud = { 34UL } };
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_65 ... ok\n");
      }
      else
      {
         printf("cmpl_65 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_65 ... failed\n");
   }

   return;
}

static void cmpl_66(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_66 ... ok\n");
      }
      else
      {
         printf("cmpl_66 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_66 ... failed\n");
   }

   return;
}

static void cmpl_67(void)
{
   reg32_t arg0 = { .ud = { 100UL } };
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_67 ... ok\n");
      }
      else
      {
         printf("cmpl_67 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_67 ... failed\n");
   }

   return;
}

static void cmpl_68(void)
{
   reg32_t arg0 = { .ud = { 50UL } };
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_68 ... ok\n");
      }
      else
      {
         printf("cmpl_68 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_68 ... failed\n");
   }

   return;
}

static void cmpl_69(void)
{
   reg32_t arg0 = { .sd = { -50L } };
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_69 ... ok\n");
      }
      else
      {
         printf("cmpl_69 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_69 ... failed\n");
   }

   return;
}

static void cmpl_70(void)
{
   reg32_t arg0 = { .sd = { -100L } };
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_70 ... ok\n");
      }
      else
      {
         printf("cmpl_70 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_70 ... failed\n");
   }

   return;
}

static void cmpl_71(void)
{
   reg32_t arg0 = { .ud = { 3UL } };
   reg32_t arg1 = { .ud = { 2UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000010UL )
      {
         printf("cmpl_71 ... ok\n");
      }
      else
      {
         printf("cmpl_71 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000010UL);
      }
   }
   else
   {
      printf("cmpl_71 ... failed\n");
   }

   return;
}

static void cmpl_72(void)
{
   reg32_t arg0 = { .ud = { 2UL } };
   reg32_t arg1 = { .ud = { 3UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffef, (%%esp)\n"
         "orl $0x00000010, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000010UL) == 0x00000000UL )
      {
         printf("cmpl_72 ... ok\n");
      }
      else
      {
         printf("cmpl_72 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000010UL, result0.ud[0] & 0x00000010UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_72 ... failed\n");
   }

   return;
}

static void cmpl_73(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000044UL )
      {
         printf("cmpl_73 ... ok\n");
      }
      else
      {
         printf("cmpl_73 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000044UL);
      }
   }
   else
   {
      printf("cmpl_73 ... failed\n");
   }

   return;
}

static void cmpl_74(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffbb, (%%esp)\n"
         "orl $0x00000044, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000044UL) == 0x00000000UL )
      {
         printf("cmpl_74 ... ok\n");
      }
      else
      {
         printf("cmpl_74 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000044UL, result0.ud[0] & 0x00000044UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_74 ... failed\n");
   }

   return;
}

static void cmpl_75(void)
{
   reg32_t arg0 = { .ud = { 34UL } };
   reg32_t arg1 = { .ud = { 12UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000081UL )
      {
         printf("cmpl_75 ... ok\n");
      }
      else
      {
         printf("cmpl_75 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000081UL);
      }
   }
   else
   {
      printf("cmpl_75 ... failed\n");
   }

   return;
}

static void cmpl_76(void)
{
   reg32_t arg0 = { .ud = { 12UL } };
   reg32_t arg1 = { .ud = { 34UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xffffff7e, (%%esp)\n"
         "orl $0x00000081, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000081UL) == 0x00000000UL )
      {
         printf("cmpl_76 ... ok\n");
      }
      else
      {
         printf("cmpl_76 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000081UL, result0.ud[0] & 0x00000081UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_76 ... failed\n");
   }

   return;
}

static void cmpl_77(void)
{
   reg32_t arg0 = { .ud = { 100UL } };
   reg32_t arg1 = { .sd = { -2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_77 ... ok\n");
      }
      else
      {
         printf("cmpl_77 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_77 ... failed\n");
   }

   return;
}

static void cmpl_78(void)
{
   reg32_t arg0 = { .ud = { 50UL } };
   reg32_t arg1 = { .sd = { -50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_78 ... ok\n");
      }
      else
      {
         printf("cmpl_78 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_78 ... failed\n");
   }

   return;
}

static void cmpl_79(void)
{
   reg32_t arg0 = { .sd = { -50L } };
   reg32_t arg1 = { .sd = { 50L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000000UL )
      {
         printf("cmpl_79 ... ok\n");
      }
      else
      {
         printf("cmpl_79 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000000UL);
      }
   }
   else
   {
      printf("cmpl_79 ... failed\n");
   }

   return;
}

static void cmpl_80(void)
{
   reg32_t arg0 = { .sd = { -100L } };
   reg32_t arg1 = { .sd = { 2147483600L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpl %1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x00000800UL) == 0x00000800UL )
      {
         printf("cmpl_80 ... ok\n");
      }
      else
      {
         printf("cmpl_80 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000800UL, result0.ud[0] & 0x00000800UL, 0x00000800UL);
      }
   }
   else
   {
      printf("cmpl_80 ... failed\n");
   }

   return;
}

static void cmpxchgb_1(void)
{
   reg16_t preset0 = { .uw = { 12 } };
   reg8_t arg0 = { .ub = { 56U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   reg8_t result1;
   reg8_t result2;
   reg8_t result3;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movw %4, %%ax\n"
         "movb %5, %%bl\n"
         "movb %6, %%cl\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpxchgb %%bl, %%cl\n"
         "pushfl\n"
         "popl %0\n"
         "movb %%al, %1\n"
         "movb %%bl, %2\n"
         "movb %%cl, %3\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bl", "cl"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000040UL &&
          result1.ub[0] == 12U &&
          result2.ub[0] == 56U &&
          result3.ub[0] == 56U )
      {
         printf("cmpxchgb_1 ... ok\n");
      }
      else
      {
         printf("cmpxchgb_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000040UL);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 12U);
         printf("  result2.ub[0] = %u (expected %u)\n", result2.ub[0], 56U);
         printf("  result3.ub[0] = %u (expected %u)\n", result3.ub[0], 56U);
      }
   }
   else
   {
      printf("cmpxchgb_1 ... failed\n");
   }

   return;
}

static void cmpxchgb_2(void)
{
   reg8_t preset0 = { .ub = { 12U } };
   reg8_t arg0 = { .ub = { 56U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   reg8_t result1;
   reg8_t result2;
   reg8_t result3;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movb %4, %%al\n"
         "movb %5, %%bl\n"
         "movb %6, %%cl\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "cmpxchgb %%bl, %%cl\n"
         "pushfl\n"
         "popl %0\n"
         "movb %%al, %1\n"
         "movb %%bl, %2\n"
         "movb %%cl, %3\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl", "cl"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000000UL &&
          result1.ub[0] == 34U &&
          result2.ub[0] == 56U &&
          result3.ub[0] == 34U )
      {
         printf("cmpxchgb_2 ... ok\n");
      }
      else
      {
         printf("cmpxchgb_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000000UL);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 34U);
         printf("  result2.ub[0] = %u (expected %u)\n", result2.ub[0], 56U);
         printf("  result3.ub[0] = %u (expected %u)\n", result3.ub[0], 34U);
      }
   }
   else
   {
      printf("cmpxchgb_2 ... failed\n");
   }

   return;
}

static void cmpxchgb_3(void)
{
   reg8_t preset0 = { .ub = { 12U } };
   reg8_t arg0 = { .ub = { 56U } };
   reg8_t arg1 = { .ub = { 12U } };
   reg32_t result0;
   reg8_t result1;
   reg8_t result2;
   reg8_t result3 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movb %4, %%al\n"
         "movb %5, %%bl\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpxchgb %%bl, %3\n"
         "pushfl\n"
         "popl %0\n"
         "movb %%al, %1\n"
         "movb %%bl, %2\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000040UL &&
          result1.ub[0] == 12U &&
          result2.ub[0] == 56U &&
          result3.ub[0] == 56U )
      {
         printf("cmpxchgb_3 ... ok\n");
      }
      else
      {
         printf("cmpxchgb_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000040UL);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 12U);
         printf("  result2.ub[0] = %u (expected %u)\n", result2.ub[0], 56U);
         printf("  result3.ub[0] = %u (expected %u)\n", result3.ub[0], 56U);
      }
   }
   else
   {
      printf("cmpxchgb_3 ... failed\n");
   }

   return;
}

static void cmpxchgb_4(void)
{
   reg8_t preset0 = { .ub = { 12U } };
   reg8_t arg0 = { .ub = { 56U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg32_t result0;
   reg8_t result1;
   reg8_t result2;
   reg8_t result3 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movb %4, %%al\n"
         "movb %5, %%bl\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "cmpxchgb %%bl, %3\n"
         "pushfl\n"
         "popl %0\n"
         "movb %%al, %1\n"
         "movb %%bl, %2\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000000UL &&
          result1.ub[0] == 34U &&
          result2.ub[0] == 56U &&
          result3.ub[0] == 34U )
      {
         printf("cmpxchgb_4 ... ok\n");
      }
      else
      {
         printf("cmpxchgb_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000000UL);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 34U);
         printf("  result2.ub[0] = %u (expected %u)\n", result2.ub[0], 56U);
         printf("  result3.ub[0] = %u (expected %u)\n", result3.ub[0], 34U);
      }
   }
   else
   {
      printf("cmpxchgb_4 ... failed\n");
   }

   return;
}

static void cmpxchgw_1(void)
{
   reg16_t preset0 = { .uw = { 123 } };
   reg16_t arg0 = { .uw = { 567 } };
   reg16_t arg1 = { .uw = { 123 } };
   reg32_t result0;
   reg16_t result1;
   reg16_t result2;
   reg16_t result3;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movw %4, %%ax\n"
         "movw %5, %%bx\n"
         "movw %6, %%cx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpxchgw %%bx, %%cx\n"
         "pushfl\n"
         "popl %0\n"
         "movw %%ax, %1\n"
         "movw %%bx, %2\n"
         "movw %%cx, %3\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx", "cx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000040UL &&
          result1.uw[0] == 123 &&
          result2.uw[0] == 567 &&
          result3.uw[0] == 567 )
      {
         printf("cmpxchgw_1 ... ok\n");
      }
      else
      {
         printf("cmpxchgw_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000040UL);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 123);
         printf("  result2.uw[0] = %u (expected %u)\n", result2.uw[0], 567);
         printf("  result3.uw[0] = %u (expected %u)\n", result3.uw[0], 567);
      }
   }
   else
   {
      printf("cmpxchgw_1 ... failed\n");
   }

   return;
}

static void cmpxchgw_2(void)
{
   reg16_t preset0 = { .uw = { 123 } };
   reg16_t arg0 = { .uw = { 567 } };
   reg16_t arg1 = { .uw = { 345 } };
   reg32_t result0;
   reg16_t result1;
   reg16_t result2;
   reg16_t result3;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movw %4, %%ax\n"
         "movw %5, %%bx\n"
         "movw %6, %%cx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "cmpxchgw %%bx, %%cx\n"
         "pushfl\n"
         "popl %0\n"
         "movw %%ax, %1\n"
         "movw %%bx, %2\n"
         "movw %%cx, %3\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx", "cx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000000UL &&
          result1.uw[0] == 345 &&
          result2.uw[0] == 567 &&
          result3.uw[0] == 345 )
      {
         printf("cmpxchgw_2 ... ok\n");
      }
      else
      {
         printf("cmpxchgw_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000000UL);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 345);
         printf("  result2.uw[0] = %u (expected %u)\n", result2.uw[0], 567);
         printf("  result3.uw[0] = %u (expected %u)\n", result3.uw[0], 345);
      }
   }
   else
   {
      printf("cmpxchgw_2 ... failed\n");
   }

   return;
}

static void cmpxchgw_3(void)
{
   reg16_t preset0 = { .uw = { 123 } };
   reg16_t arg0 = { .uw = { 567 } };
   reg16_t arg1 = { .uw = { 123 } };
   reg32_t result0;
   reg16_t result1;
   reg16_t result2;
   reg16_t result3 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movw %4, %%ax\n"
         "movw %5, %%bx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpxchgw %%bx, %3\n"
         "pushfl\n"
         "popl %0\n"
         "movw %%ax, %1\n"
         "movw %%bx, %2\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000040UL &&
          result1.uw[0] == 123 &&
          result2.uw[0] == 567 &&
          result3.uw[0] == 567 )
      {
         printf("cmpxchgw_3 ... ok\n");
      }
      else
      {
         printf("cmpxchgw_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000040UL);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 123);
         printf("  result2.uw[0] = %u (expected %u)\n", result2.uw[0], 567);
         printf("  result3.uw[0] = %u (expected %u)\n", result3.uw[0], 567);
      }
   }
   else
   {
      printf("cmpxchgw_3 ... failed\n");
   }

   return;
}

static void cmpxchgw_4(void)
{
   reg16_t preset0 = { .uw = { 123 } };
   reg16_t arg0 = { .uw = { 567 } };
   reg16_t arg1 = { .uw = { 345 } };
   reg32_t result0;
   reg16_t result1;
   reg16_t result2;
   reg16_t result3 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movw %4, %%ax\n"
         "movw %5, %%bx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "cmpxchgw %%bx, %3\n"
         "pushfl\n"
         "popl %0\n"
         "movw %%ax, %1\n"
         "movw %%bx, %2\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000000UL &&
          result1.uw[0] == 345 &&
          result2.uw[0] == 567 &&
          result3.uw[0] == 345 )
      {
         printf("cmpxchgw_4 ... ok\n");
      }
      else
      {
         printf("cmpxchgw_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000000UL);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 345);
         printf("  result2.uw[0] = %u (expected %u)\n", result2.uw[0], 567);
         printf("  result3.uw[0] = %u (expected %u)\n", result3.uw[0], 345);
      }
   }
   else
   {
      printf("cmpxchgw_4 ... failed\n");
   }

   return;
}

static void cmpxchgl_1(void)
{
   reg32_t preset0 = { .ud = { 1234UL } };
   reg32_t arg0 = { .ud = { 5678UL } };
   reg32_t arg1 = { .ud = { 1234UL } };
   reg32_t result0;
   reg32_t result1;
   reg32_t result2;
   reg32_t result3;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movl %4, %%eax\n"
         "movl %5, %%ebx\n"
         "movl %6, %%ecx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpxchgl %%ebx, %%ecx\n"
         "pushfl\n"
         "popl %0\n"
         "movl %%eax, %1\n"
         "movl %%ebx, %2\n"
         "movl %%ecx, %3\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx", "ecx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000040UL &&
          result1.ud[0] == 1234UL &&
          result2.ud[0] == 5678UL &&
          result3.ud[0] == 5678UL )
      {
         printf("cmpxchgl_1 ... ok\n");
      }
      else
      {
         printf("cmpxchgl_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000040UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 1234UL);
         printf("  result2.ud[0] = %lu (expected %lu)\n", result2.ud[0], 5678UL);
         printf("  result3.ud[0] = %lu (expected %lu)\n", result3.ud[0], 5678UL);
      }
   }
   else
   {
      printf("cmpxchgl_1 ... failed\n");
   }

   return;
}

static void cmpxchgl_2(void)
{
   reg32_t preset0 = { .ud = { 1234UL } };
   reg32_t arg0 = { .ud = { 5678UL } };
   reg32_t arg1 = { .ud = { 3456UL } };
   reg32_t result0;
   reg32_t result1;
   reg32_t result2;
   reg32_t result3;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movl %4, %%eax\n"
         "movl %5, %%ebx\n"
         "movl %6, %%ecx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "cmpxchgl %%ebx, %%ecx\n"
         "pushfl\n"
         "popl %0\n"
         "movl %%eax, %1\n"
         "movl %%ebx, %2\n"
         "movl %%ecx, %3\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx", "ecx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000000UL &&
          result1.ud[0] == 3456UL &&
          result2.ud[0] == 5678UL &&
          result3.ud[0] == 3456UL )
      {
         printf("cmpxchgl_2 ... ok\n");
      }
      else
      {
         printf("cmpxchgl_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000000UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 3456UL);
         printf("  result2.ud[0] = %lu (expected %lu)\n", result2.ud[0], 5678UL);
         printf("  result3.ud[0] = %lu (expected %lu)\n", result3.ud[0], 3456UL);
      }
   }
   else
   {
      printf("cmpxchgl_2 ... failed\n");
   }

   return;
}

static void cmpxchgl_3(void)
{
   reg32_t preset0 = { .ud = { 1234UL } };
   reg32_t arg0 = { .ud = { 5678UL } };
   reg32_t arg1 = { .ud = { 1234UL } };
   reg32_t result0;
   reg32_t result1;
   reg32_t result2;
   reg32_t result3 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movl %4, %%eax\n"
         "movl %5, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "cmpxchgl %%ebx, %3\n"
         "pushfl\n"
         "popl %0\n"
         "movl %%eax, %1\n"
         "movl %%ebx, %2\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000040UL &&
          result1.ud[0] == 1234UL &&
          result2.ud[0] == 5678UL &&
          result3.ud[0] == 5678UL )
      {
         printf("cmpxchgl_3 ... ok\n");
      }
      else
      {
         printf("cmpxchgl_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000040UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 1234UL);
         printf("  result2.ud[0] = %lu (expected %lu)\n", result2.ud[0], 5678UL);
         printf("  result3.ud[0] = %lu (expected %lu)\n", result3.ud[0], 5678UL);
      }
   }
   else
   {
      printf("cmpxchgl_3 ... failed\n");
   }

   return;
}

static void cmpxchgl_4(void)
{
   reg32_t preset0 = { .ud = { 1234UL } };
   reg32_t arg0 = { .ud = { 5678UL } };
   reg32_t arg1 = { .ud = { 3456UL } };
   reg32_t result0;
   reg32_t result1;
   reg32_t result2;
   reg32_t result3 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %7\n"
         "movl %4, %%eax\n"
         "movl %5, %%ebx\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "cmpxchgl %%ebx, %3\n"
         "pushfl\n"
         "popl %0\n"
         "movl %%eax, %1\n"
         "movl %%ebx, %2\n"
         "frstor %7\n"
         "cld\n"
         : "=m" (result0), "=m" (result1), "=m" (result2), "=m" (result3)
         : "m" (preset0), "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x00000040UL) == 0x00000000UL &&
          result1.ud[0] == 3456UL &&
          result2.ud[0] == 5678UL &&
          result3.ud[0] == 3456UL )
      {
         printf("cmpxchgl_4 ... ok\n");
      }
      else
      {
         printf("cmpxchgl_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000040UL, result0.ud[0] & 0x00000040UL, 0x00000000UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 3456UL);
         printf("  result2.ud[0] = %lu (expected %lu)\n", result2.ud[0], 5678UL);
         printf("  result3.ud[0] = %lu (expected %lu)\n", result3.ud[0], 3456UL);
      }
   }
   else
   {
      printf("cmpxchgl_4 ... failed\n");
   }

   return;
}

static void cwd_1(void)
{
   reg16_t preset0 = { .uw = { 0x1234 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "cwd\n"
         "movw %%dx, %0\n"
         "movw %%ax, %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0000 &&
          result1.uw[0] == 0x1234 )
      {
         printf("cwd_1 ... ok\n");
      }
      else
      {
         printf("cwd_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0000);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 0x1234);
      }
   }
   else
   {
      printf("cwd_1 ... failed\n");
   }

   return;
}

static void cwd_2(void)
{
   reg16_t preset0 = { .uw = { 0xfedc } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "cwd\n"
         "movw %%dx, %0\n"
         "movw %%ax, %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xffff &&
          result1.uw[0] == 0xfedc )
      {
         printf("cwd_2 ... ok\n");
      }
      else
      {
         printf("cwd_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xffff);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 0xfedc);
      }
   }
   else
   {
      printf("cwd_2 ... failed\n");
   }

   return;
}

static void cwde_1(void)
{
   reg16_t preset0 = { .sw = { 12345 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "cwde\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "ax"
      );

      if (result0.sd[0] == 12345L )
      {
         printf("cwde_1 ... ok\n");
      }
      else
      {
         printf("cwde_1 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], 12345L);
      }
   }
   else
   {
      printf("cwde_1 ... failed\n");
   }

   return;
}

static void cwde_2(void)
{
   reg16_t preset0 = { .sw = { -12345 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "cwde\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "ax"
      );

      if (result0.sd[0] == -12345L )
      {
         printf("cwde_2 ... ok\n");
      }
      else
      {
         printf("cwde_2 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -12345L);
      }
   }
   else
   {
      printf("cwde_2 ... failed\n");
   }

   return;
}

static void decb_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "decb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 122U )
      {
         printf("decb_1 ... ok\n");
      }
      else
      {
         printf("decb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 122U);
      }
   }
   else
   {
      printf("decb_1 ... failed\n");
   }

   return;
}

static void decb_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "decb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 122U )
      {
         printf("decb_2 ... ok\n");
      }
      else
      {
         printf("decb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 122U);
      }
   }
   else
   {
      printf("decb_2 ... failed\n");
   }

   return;
}

static void decw_1(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "decw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 12344 )
      {
         printf("decw_1 ... ok\n");
      }
      else
      {
         printf("decw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12344);
      }
   }
   else
   {
      printf("decw_1 ... failed\n");
   }

   return;
}

static void decw_2(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "decw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 12344 )
      {
         printf("decw_2 ... ok\n");
      }
      else
      {
         printf("decw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12344);
      }
   }
   else
   {
      printf("decw_2 ... failed\n");
   }

   return;
}

static void decl_1(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "decl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 12345677UL )
      {
         printf("decl_1 ... ok\n");
      }
      else
      {
         printf("decl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345677UL);
      }
   }
   else
   {
      printf("decl_1 ... failed\n");
   }

   return;
}

static void decl_2(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "decl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 12345677UL )
      {
         printf("decl_2 ... ok\n");
      }
      else
      {
         printf("decl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345677UL);
      }
   }
   else
   {
      printf("decl_2 ... failed\n");
   }

   return;
}

static void divb_1(void)
{
   reg16_t preset0 = { .uw = { 30276 } };
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   reg8_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movb %3, %%bl\n"
         "divb %%bl\n"
         "movb %%al, %0\n"
         "movb %%ah, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax", "bl"
      );

      if (result0.ub[0] == 246U &&
          result1.ub[0] == 18U )
      {
         printf("divb_1 ... ok\n");
      }
      else
      {
         printf("divb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 246U);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 18U);
      }
   }
   else
   {
      printf("divb_1 ... failed\n");
   }

   return;
}

static void divb_2(void)
{
   reg16_t preset0 = { .uw = { 30276 } };
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   reg8_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "divb %3\n"
         "movb %%al, %0\n"
         "movb %%ah, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.ub[0] == 246U &&
          result1.ub[0] == 18U )
      {
         printf("divb_2 ... ok\n");
      }
      else
      {
         printf("divb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 246U);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 18U);
      }
   }
   else
   {
      printf("divb_2 ... failed\n");
   }

   return;
}

static void divw_1(void)
{
   reg16_t preset0 = { .uw = { 464 } };
   reg16_t preset1 = { .uw = { 58794 } };
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movw %2, %%dx\n"
         "movw %3, %%ax\n"
         "movw %4, %%bx\n"
         "divw %%bx\n"
         "movw %%ax, %0\n"
         "movw %%dx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "dx", "ax", "bx"
      );

      if (result0.uw[0] == 2468 &&
          result1.uw[0] == 38 )
      {
         printf("divw_1 ... ok\n");
      }
      else
      {
         printf("divw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 2468);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 38);
      }
   }
   else
   {
      printf("divw_1 ... failed\n");
   }

   return;
}

static void divw_2(void)
{
   reg16_t preset0 = { .uw = { 464 } };
   reg16_t preset1 = { .uw = { 58794 } };
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movw %2, %%dx\n"
         "movw %3, %%ax\n"
         "divw %4\n"
         "movw %%ax, %0\n"
         "movw %%dx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "dx", "ax"
      );

      if (result0.uw[0] == 2468 &&
          result1.uw[0] == 38 )
      {
         printf("divw_2 ... ok\n");
      }
      else
      {
         printf("divw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 2468);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 38);
      }
   }
   else
   {
      printf("divw_2 ... failed\n");
   }

   return;
}

static void divl_1(void)
{
   reg32_t preset0 = { .ud = { 251958UL } };
   reg32_t preset1 = { .ud = { 673192206UL } };
   reg32_t arg0 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movl %2, %%edx\n"
         "movl %3, %%eax\n"
         "movl %4, %%ebx\n"
         "divl %%ebx\n"
         "movl %%eax, %0\n"
         "movl %%edx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "edx", "eax", "ebx"
      );

      if (result0.ud[0] == 12345678UL &&
          result1.ud[0] == 20783136UL )
      {
         printf("divl_1 ... ok\n");
      }
      else
      {
         printf("divl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 20783136UL);
      }
   }
   else
   {
      printf("divl_1 ... failed\n");
   }

   return;
}

static void divl_2(void)
{
   reg32_t preset0 = { .ud = { 251958UL } };
   reg32_t preset1 = { .ud = { 673192206UL } };
   reg32_t arg0 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movl %2, %%edx\n"
         "movl %3, %%eax\n"
         "divl %4\n"
         "movl %%eax, %0\n"
         "movl %%edx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "edx", "eax"
      );

      if (result0.ud[0] == 12345678UL &&
          result1.ud[0] == 20783136UL )
      {
         printf("divl_2 ... ok\n");
      }
      else
      {
         printf("divl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 20783136UL);
      }
   }
   else
   {
      printf("divl_2 ... failed\n");
   }

   return;
}

static void idivb_1(void)
{
   reg16_t preset0 = { .sw = { -15157 } };
   reg8_t arg0 = { .sb = { 123 } };
   reg8_t result0;
   reg8_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movb %3, %%bl\n"
         "idivb %%bl\n"
         "movb %%al, %0\n"
         "movb %%ah, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax", "bl"
      );

      if (result0.sb[0] == -123 &&
          result1.sb[0] == -28 )
      {
         printf("idivb_1 ... ok\n");
      }
      else
      {
         printf("idivb_1 ... not ok\n");
         printf("  result0.sb[0] = %d (expected %d)\n", result0.sb[0], -123);
         printf("  result1.sb[0] = %d (expected %d)\n", result1.sb[0], -28);
      }
   }
   else
   {
      printf("idivb_1 ... failed\n");
   }

   return;
}

static void idivb_2(void)
{
   reg16_t preset0 = { .sw = { 15157 } };
   reg8_t arg0 = { .sb = { -123 } };
   reg8_t result0;
   reg8_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "idivb %3\n"
         "movb %%al, %0\n"
         "movb %%ah, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.sb[0] == -123 &&
          result1.sb[0] == 28 )
      {
         printf("idivb_2 ... ok\n");
      }
      else
      {
         printf("idivb_2 ... not ok\n");
         printf("  result0.sb[0] = %d (expected %d)\n", result0.sb[0], -123);
         printf("  result1.sb[0] = %d (expected %d)\n", result1.sb[0], 28);
      }
   }
   else
   {
      printf("idivb_2 ... failed\n");
   }

   return;
}

static void idivw_1(void)
{
   reg16_t preset0 = { .sw = { -464 } };
   reg16_t preset1 = { .sw = { -23456 } };
   reg16_t arg0 = { .sw = { 12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movw %2, %%dx\n"
         "movw %3, %%ax\n"
         "movw %4, %%bx\n"
         "idivw %%bx\n"
         "movw %%ax, %0\n"
         "movw %%dx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "dx", "ax", "bx"
      );

      if (result0.sw[0] == -2459 &&
          result1.sw[0] == -10269 )
      {
         printf("idivw_1 ... ok\n");
      }
      else
      {
         printf("idivw_1 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -2459);
         printf("  result1.sw[0] = %d (expected %d)\n", result1.sw[0], -10269);
      }
   }
   else
   {
      printf("idivw_1 ... failed\n");
   }

   return;
}

static void idivw_2(void)
{
   reg16_t preset0 = { .sw = { 464 } };
   reg16_t preset1 = { .sw = { 23456 } };
   reg16_t arg0 = { .sw = { -12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movw %2, %%dx\n"
         "movw %3, %%ax\n"
         "idivw %4\n"
         "movw %%ax, %0\n"
         "movw %%dx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "dx", "ax"
      );

      if (result0.sw[0] == -2465 &&
          result1.sw[0] == 1735 )
      {
         printf("idivw_2 ... ok\n");
      }
      else
      {
         printf("idivw_2 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -2465);
         printf("  result1.sw[0] = %d (expected %d)\n", result1.sw[0], 1735);
      }
   }
   else
   {
      printf("idivw_2 ... failed\n");
   }

   return;
}

static void idivl_1(void)
{
   reg32_t preset0 = { .sd = { -251959L } };
   reg32_t preset1 = { .sd = { -673192206L } };
   reg32_t arg0 = { .sd = { 87654321L } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movl %2, %%edx\n"
         "movl %3, %%eax\n"
         "movl %4, %%ebx\n"
         "idivl %%ebx\n"
         "movl %%eax, %0\n"
         "movl %%edx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "edx", "eax", "ebx"
      );

      if (result0.sd[0] == -12345678L &&
          result1.sd[0] == -20783136L )
      {
         printf("idivl_1 ... ok\n");
      }
      else
      {
         printf("idivl_1 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -12345678L);
         printf("  result1.sd[0] = %ld (expected %ld)\n", result1.sd[0], -20783136L);
      }
   }
   else
   {
      printf("idivl_1 ... failed\n");
   }

   return;
}

static void idivl_2(void)
{
   reg32_t preset0 = { .sd = { 251958L } };
   reg32_t preset1 = { .sd = { 673192206L } };
   reg32_t arg0 = { .sd = { -87654321L } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %5\n"
         "movl %2, %%edx\n"
         "movl %3, %%eax\n"
         "idivl %4\n"
         "movl %%eax, %0\n"
         "movl %%edx, %1\n"
         "frstor %5\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (preset1), "m" (arg0), "m" (state[0])
         : "edx", "eax"
      );

      if (result0.sd[0] == -12345678L &&
          result1.sd[0] == 20783136L )
      {
         printf("idivl_2 ... ok\n");
      }
      else
      {
         printf("idivl_2 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -12345678L);
         printf("  result1.sd[0] = %ld (expected %ld)\n", result1.sd[0], 20783136L);
      }
   }
   else
   {
      printf("idivl_2 ... failed\n");
   }

   return;
}

static void imulb_1(void)
{
   reg8_t preset0 = { .sb = { 123 } };
   reg8_t arg0 = { .sb = { -123 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "imulb %%bl\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "al", "bl"
      );

      if (result0.sw[0] == -15129 )
      {
         printf("imulb_1 ... ok\n");
      }
      else
      {
         printf("imulb_1 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -15129);
      }
   }
   else
   {
      printf("imulb_1 ... failed\n");
   }

   return;
}

static void imulb_2(void)
{
   reg8_t preset0 = { .sb = { -123 } };
   reg8_t arg0 = { .sb = { 123 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "imulb %2\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.sw[0] == -15129 )
      {
         printf("imulb_2 ... ok\n");
      }
      else
      {
         printf("imulb_2 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -15129);
      }
   }
   else
   {
      printf("imulb_2 ... failed\n");
   }

   return;
}

static void imulw_1(void)
{
   reg16_t preset0 = { .sw = { -12345 } };
   reg16_t arg0 = { .sw = { 12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "imulw %%bx\n"
         "movw %%dx, %0\n"
         "movw %%ax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.sw[0] == -2326 &&
          result1.sw[0] == -27825 )
      {
         printf("imulw_1 ... ok\n");
      }
      else
      {
         printf("imulw_1 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -2326);
         printf("  result1.sw[0] = %d (expected %d)\n", result1.sw[0], -27825);
      }
   }
   else
   {
      printf("imulw_1 ... failed\n");
   }

   return;
}

static void imulw_2(void)
{
   reg16_t preset0 = { .sw = { 12345 } };
   reg16_t arg0 = { .sw = { -12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "imulw %3\n"
         "movw %%dx, %0\n"
         "movw %%ax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.sw[0] == -2326 &&
          result1.sw[0] == -27825 )
      {
         printf("imulw_2 ... ok\n");
      }
      else
      {
         printf("imulw_2 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -2326);
         printf("  result1.sw[0] = %d (expected %d)\n", result1.sw[0], -27825);
      }
   }
   else
   {
      printf("imulw_2 ... failed\n");
   }

   return;
}

static void imull_1(void)
{
   reg32_t preset0 = { .sd = { -12345678L } };
   reg32_t arg0 = { .sd = { 12345678L } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "imull %%ebx\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.sd[0] == -35488L &&
          result1.sd[0] == -260846532L )
      {
         printf("imull_1 ... ok\n");
      }
      else
      {
         printf("imull_1 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -35488L);
         printf("  result1.sd[0] = %ld (expected %ld)\n", result1.sd[0], -260846532L);
      }
   }
   else
   {
      printf("imull_1 ... failed\n");
   }

   return;
}

static void imull_2(void)
{
   reg32_t preset0 = { .sd = { 12345678L } };
   reg32_t arg0 = { .sd = { -12345678L } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "imull %3\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.sd[0] == -35488L &&
          result1.sd[0] == -260846532L )
      {
         printf("imull_2 ... ok\n");
      }
      else
      {
         printf("imull_2 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -35488L);
         printf("  result1.sd[0] = %ld (expected %ld)\n", result1.sd[0], -260846532L);
      }
   }
   else
   {
      printf("imull_2 ... failed\n");
   }

   return;
}

static void imulw_3(void)
{
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "imulw $123, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_3 ... ok\n");
      }
      else
      {
         printf("imulw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_3 ... failed\n");
   }

   return;
}

static void imulw_4(void)
{
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t arg2 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "imulw $123, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_4 ... ok\n");
      }
      else
      {
         printf("imulw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_4 ... failed\n");
   }

   return;
}

static void imulw_5(void)
{
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t arg2 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "imulw $123, %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_5 ... ok\n");
      }
      else
      {
         printf("imulw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_5 ... failed\n");
   }

   return;
}

static void imulw_6(void)
{
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "imulw $123, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_6 ... ok\n");
      }
      else
      {
         printf("imulw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_6 ... failed\n");
   }

   return;
}

static void imulw_7(void)
{
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t arg2 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "imulw $123, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_7 ... ok\n");
      }
      else
      {
         printf("imulw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_7 ... failed\n");
   }

   return;
}

static void imulw_8(void)
{
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t arg2 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "imulw $123, %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_8 ... ok\n");
      }
      else
      {
         printf("imulw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_8 ... failed\n");
   }

   return;
}

static void imulw_9(void)
{
   reg16_t arg0 = { .uw = { 123 } };
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "imulw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_9 ... ok\n");
      }
      else
      {
         printf("imulw_9 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_9 ... failed\n");
   }

   return;
}

static void imulw_10(void)
{
   reg16_t arg0 = { .uw = { 123 } };
   reg16_t arg1 = { .uw = { 456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "imulw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 56088 )
      {
         printf("imulw_10 ... ok\n");
      }
      else
      {
         printf("imulw_10 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 56088);
      }
   }
   else
   {
      printf("imulw_10 ... failed\n");
   }

   return;
}

static void imull_3(void)
{
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "imull $123, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 8350470UL )
      {
         printf("imull_3 ... ok\n");
      }
      else
      {
         printf("imull_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 8350470UL);
      }
   }
   else
   {
      printf("imull_3 ... failed\n");
   }

   return;
}

static void imull_4(void)
{
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t arg2 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "imull $123, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 8350470UL )
      {
         printf("imull_4 ... ok\n");
      }
      else
      {
         printf("imull_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 8350470UL);
      }
   }
   else
   {
      printf("imull_4 ... failed\n");
   }

   return;
}

static void imull_5(void)
{
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t arg2 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "imull $123, %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 8350470UL )
      {
         printf("imull_5 ... ok\n");
      }
      else
      {
         printf("imull_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 8350470UL);
      }
   }
   else
   {
      printf("imull_5 ... failed\n");
   }

   return;
}

static void imull_6(void)
{
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "imull $12345, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 838102050UL )
      {
         printf("imull_6 ... ok\n");
      }
      else
      {
         printf("imull_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 838102050UL);
      }
   }
   else
   {
      printf("imull_6 ... failed\n");
   }

   return;
}

static void imull_7(void)
{
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t arg2 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "imull $12345, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 838102050UL )
      {
         printf("imull_7 ... ok\n");
      }
      else
      {
         printf("imull_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 838102050UL);
      }
   }
   else
   {
      printf("imull_7 ... failed\n");
   }

   return;
}

static void imull_8(void)
{
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t arg2 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "imull $12345, %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 838102050UL )
      {
         printf("imull_8 ... ok\n");
      }
      else
      {
         printf("imull_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 838102050UL);
      }
   }
   else
   {
      printf("imull_8 ... failed\n");
   }

   return;
}

static void imull_9(void)
{
   reg32_t arg0 = { .ud = { 12345UL } };
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "imull %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 838102050UL )
      {
         printf("imull_9 ... ok\n");
      }
      else
      {
         printf("imull_9 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 838102050UL);
      }
   }
   else
   {
      printf("imull_9 ... failed\n");
   }

   return;
}

static void imull_10(void)
{
   reg32_t arg0 = { .ud = { 12345UL } };
   reg32_t arg1 = { .ud = { 67890UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "imull %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 838102050UL )
      {
         printf("imull_10 ... ok\n");
      }
      else
      {
         printf("imull_10 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 838102050UL);
      }
   }
   else
   {
      printf("imull_10 ... failed\n");
   }

   return;
}

static void incb_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "incb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 124U )
      {
         printf("incb_1 ... ok\n");
      }
      else
      {
         printf("incb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 124U);
      }
   }
   else
   {
      printf("incb_1 ... failed\n");
   }

   return;
}

static void incb_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "incb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 124U )
      {
         printf("incb_2 ... ok\n");
      }
      else
      {
         printf("incb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 124U);
      }
   }
   else
   {
      printf("incb_2 ... failed\n");
   }

   return;
}

static void incw_1(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "incw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 12346 )
      {
         printf("incw_1 ... ok\n");
      }
      else
      {
         printf("incw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12346);
      }
   }
   else
   {
      printf("incw_1 ... failed\n");
   }

   return;
}

static void incw_2(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "incw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 12346 )
      {
         printf("incw_2 ... ok\n");
      }
      else
      {
         printf("incw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12346);
      }
   }
   else
   {
      printf("incw_2 ... failed\n");
   }

   return;
}

static void incl_1(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "incl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 12345679UL )
      {
         printf("incl_1 ... ok\n");
      }
      else
      {
         printf("incl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345679UL);
      }
   }
   else
   {
      printf("incl_1 ... failed\n");
   }

   return;
}

static void incl_2(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "incl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 12345679UL )
      {
         printf("incl_2 ... ok\n");
      }
      else
      {
         printf("incl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345679UL);
      }
   }
   else
   {
      printf("incl_2 ... failed\n");
   }

   return;
}

static void lahf_1(void)
{
   reg8_t preset0 = { .ub = { 0x28U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%ah\n"
         "pushfl\n"
         "andl $0xffffff00, (%%esp)\n"
         "orl $0x000000fd, (%%esp)\n"
         "popfl\n"
         "lahf\n"
         "movb %%ah, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "ah"
      );

      if (result0.ub[0] == 0xd7U )
      {
         printf("lahf_1 ... ok\n");
      }
      else
      {
         printf("lahf_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xd7U);
      }
   }
   else
   {
      printf("lahf_1 ... failed\n");
   }

   return;
}

static void lahf_2(void)
{
   reg8_t preset0 = { .ub = { 0xfdU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%ah\n"
         "pushfl\n"
         "andl $0xffffff00, (%%esp)\n"
         "orl $0x00000028, (%%esp)\n"
         "popfl\n"
         "lahf\n"
         "movb %%ah, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "ah"
      );

      if (result0.ub[0] == 0x02U )
      {
         printf("lahf_2 ... ok\n");
      }
      else
      {
         printf("lahf_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x02U);
      }
   }
   else
   {
      printf("lahf_2 ... failed\n");
   }

   return;
}

static void movb_1(void)
{
   reg8_t arg1 = { .ub = { 0U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "movb $123, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 123U )
      {
         printf("movb_1 ... ok\n");
      }
      else
      {
         printf("movb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 123U);
      }
   }
   else
   {
      printf("movb_1 ... failed\n");
   }

   return;
}

static void movb_2(void)
{
   reg8_t arg1 = { .ub = { 0U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb $123, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 123U )
      {
         printf("movb_2 ... ok\n");
      }
      else
      {
         printf("movb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 123U);
      }
   }
   else
   {
      printf("movb_2 ... failed\n");
   }

   return;
}

static void movb_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t arg1 = { .ub = { 0U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "movb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 123U )
      {
         printf("movb_3 ... ok\n");
      }
      else
      {
         printf("movb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 123U);
      }
   }
   else
   {
      printf("movb_3 ... failed\n");
   }

   return;
}

static void movb_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t arg1 = { .ub = { 0U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 123U )
      {
         printf("movb_4 ... ok\n");
      }
      else
      {
         printf("movb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 123U);
      }
   }
   else
   {
      printf("movb_4 ... failed\n");
   }

   return;
}

static void movb_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t arg1 = { .ub = { 0U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "movb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 123U )
      {
         printf("movb_5 ... ok\n");
      }
      else
      {
         printf("movb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 123U);
      }
   }
   else
   {
      printf("movb_5 ... failed\n");
   }

   return;
}

static void movw_1(void)
{
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "movw $12345, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 12345 )
      {
         printf("movw_1 ... ok\n");
      }
      else
      {
         printf("movw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12345);
      }
   }
   else
   {
      printf("movw_1 ... failed\n");
   }

   return;
}

static void movw_2(void)
{
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw $12345, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 12345 )
      {
         printf("movw_2 ... ok\n");
      }
      else
      {
         printf("movw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12345);
      }
   }
   else
   {
      printf("movw_2 ... failed\n");
   }

   return;
}

static void movw_3(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "movw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 12345 )
      {
         printf("movw_3 ... ok\n");
      }
      else
      {
         printf("movw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12345);
      }
   }
   else
   {
      printf("movw_3 ... failed\n");
   }

   return;
}

static void movw_4(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 12345 )
      {
         printf("movw_4 ... ok\n");
      }
      else
      {
         printf("movw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12345);
      }
   }
   else
   {
      printf("movw_4 ... failed\n");
   }

   return;
}

static void movw_5(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "movw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 12345 )
      {
         printf("movw_5 ... ok\n");
      }
      else
      {
         printf("movw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 12345);
      }
   }
   else
   {
      printf("movw_5 ... failed\n");
   }

   return;
}

static void movl_1(void)
{
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "movl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 12345678UL )
      {
         printf("movl_1 ... ok\n");
      }
      else
      {
         printf("movl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("movl_1 ... failed\n");
   }

   return;
}

static void movl_2(void)
{
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl $12345678, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 12345678UL )
      {
         printf("movl_2 ... ok\n");
      }
      else
      {
         printf("movl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("movl_2 ... failed\n");
   }

   return;
}

static void movl_3(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "movl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 12345678UL )
      {
         printf("movl_3 ... ok\n");
      }
      else
      {
         printf("movl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("movl_3 ... failed\n");
   }

   return;
}

static void movl_4(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 12345678UL )
      {
         printf("movl_4 ... ok\n");
      }
      else
      {
         printf("movl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("movl_4 ... failed\n");
   }

   return;
}

static void movl_5(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "movl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 12345678UL )
      {
         printf("movl_5 ... ok\n");
      }
      else
      {
         printf("movl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("movl_5 ... failed\n");
   }

   return;
}

static void movsbw_1(void)
{
   reg8_t arg0 = { .sb = { 123 } };
   reg16_t arg1 = { .sw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movw %2, %%bx\n"
         "movsbw %%al, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bx"
      );

      if (result0.sw[0] == 123 )
      {
         printf("movsbw_1 ... ok\n");
      }
      else
      {
         printf("movsbw_1 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], 123);
      }
   }
   else
   {
      printf("movsbw_1 ... failed\n");
   }

   return;
}

static void movsbw_2(void)
{
   reg8_t arg0 = { .sb = { -123 } };
   reg16_t arg1 = { .sw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "movsbw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.sw[0] == -123 )
      {
         printf("movsbw_2 ... ok\n");
      }
      else
      {
         printf("movsbw_2 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -123);
      }
   }
   else
   {
      printf("movsbw_2 ... failed\n");
   }

   return;
}

static void movsbl_1(void)
{
   reg8_t arg0 = { .sb = { 123 } };
   reg32_t arg1 = { .sd = { 0L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movl %2, %%ebx\n"
         "movsbl %%al, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "ebx"
      );

      if (result0.sd[0] == 123L )
      {
         printf("movsbl_1 ... ok\n");
      }
      else
      {
         printf("movsbl_1 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], 123L);
      }
   }
   else
   {
      printf("movsbl_1 ... failed\n");
   }

   return;
}

static void movsbl_2(void)
{
   reg8_t arg0 = { .sb = { -123 } };
   reg32_t arg1 = { .sd = { 0L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "movsbl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.sd[0] == -123L )
      {
         printf("movsbl_2 ... ok\n");
      }
      else
      {
         printf("movsbl_2 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -123L);
      }
   }
   else
   {
      printf("movsbl_2 ... failed\n");
   }

   return;
}

static void movswl_1(void)
{
   reg16_t arg0 = { .sw = { 12345 } };
   reg32_t arg1 = { .sd = { 0L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movl %2, %%ebx\n"
         "movswl %%ax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "ebx"
      );

      if (result0.sd[0] == 12345L )
      {
         printf("movswl_1 ... ok\n");
      }
      else
      {
         printf("movswl_1 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], 12345L);
      }
   }
   else
   {
      printf("movswl_1 ... failed\n");
   }

   return;
}

static void movswl_2(void)
{
   reg16_t arg0 = { .sw = { -12345 } };
   reg32_t arg1 = { .sd = { 0L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "movswl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.sd[0] == -12345L )
      {
         printf("movswl_2 ... ok\n");
      }
      else
      {
         printf("movswl_2 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -12345L);
      }
   }
   else
   {
      printf("movswl_2 ... failed\n");
   }

   return;
}

static void movzbw_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movw %2, %%bx\n"
         "movzbw %%al, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bx"
      );

      if (result0.uw[0] == 123 )
      {
         printf("movzbw_1 ... ok\n");
      }
      else
      {
         printf("movzbw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 123);
      }
   }
   else
   {
      printf("movzbw_1 ... failed\n");
   }

   return;
}

static void movzbw_2(void)
{
   reg8_t arg0 = { .ub = { 246U } };
   reg16_t arg1 = { .uw = { 0 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "movzbw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 246 )
      {
         printf("movzbw_2 ... ok\n");
      }
      else
      {
         printf("movzbw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 246);
      }
   }
   else
   {
      printf("movzbw_2 ... failed\n");
   }

   return;
}

static void movzbl_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movl %2, %%ebx\n"
         "movzbl %%al, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "ebx"
      );

      if (result0.ud[0] == 123UL )
      {
         printf("movzbl_1 ... ok\n");
      }
      else
      {
         printf("movzbl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 123UL);
      }
   }
   else
   {
      printf("movzbl_1 ... failed\n");
   }

   return;
}

static void movzbl_2(void)
{
   reg8_t arg0 = { .ub = { 246U } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "movzbl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 246UL )
      {
         printf("movzbl_2 ... ok\n");
      }
      else
      {
         printf("movzbl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 246UL);
      }
   }
   else
   {
      printf("movzbl_2 ... failed\n");
   }

   return;
}

static void movzwl_1(void)
{
   reg16_t arg0 = { .uw = { 12345 } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movl %2, %%ebx\n"
         "movzwl %%ax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "ebx"
      );

      if (result0.ud[0] == 12345UL )
      {
         printf("movzwl_1 ... ok\n");
      }
      else
      {
         printf("movzwl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 12345UL);
      }
   }
   else
   {
      printf("movzwl_1 ... failed\n");
   }

   return;
}

static void movzwl_2(void)
{
   reg16_t arg0 = { .uw = { 49380 } };
   reg32_t arg1 = { .ud = { 0UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "movzwl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 49380UL )
      {
         printf("movzwl_2 ... ok\n");
      }
      else
      {
         printf("movzwl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 49380UL);
      }
   }
   else
   {
      printf("movzwl_2 ... failed\n");
   }

   return;
}

static void mulb_1(void)
{
   reg8_t preset0 = { .ub = { 123U } };
   reg8_t arg0 = { .ub = { 123U } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "mulb %%bl\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "al", "bl"
      );

      if (result0.uw[0] == 15129 )
      {
         printf("mulb_1 ... ok\n");
      }
      else
      {
         printf("mulb_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 15129);
      }
   }
   else
   {
      printf("mulb_1 ... failed\n");
   }

   return;
}

static void mulb_2(void)
{
   reg8_t preset0 = { .ub = { 123U } };
   reg8_t arg0 = { .ub = { 123U } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "mulb %2\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.uw[0] == 15129 )
      {
         printf("mulb_2 ... ok\n");
      }
      else
      {
         printf("mulb_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 15129);
      }
   }
   else
   {
      printf("mulb_2 ... failed\n");
   }

   return;
}

static void mulw_1(void)
{
   reg16_t preset0 = { .uw = { 12345 } };
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "mulw %%bx\n"
         "movw %%dx, %0\n"
         "movw %%ax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 2325 &&
          result1.uw[0] == 27825 )
      {
         printf("mulw_1 ... ok\n");
      }
      else
      {
         printf("mulw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 2325);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 27825);
      }
   }
   else
   {
      printf("mulw_1 ... failed\n");
   }

   return;
}

static void mulw_2(void)
{
   reg16_t preset0 = { .uw = { 12345 } };
   reg16_t arg0 = { .uw = { 12345 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "mulw %3\n"
         "movw %%dx, %0\n"
         "movw %%ax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 2325 &&
          result1.uw[0] == 27825 )
      {
         printf("mulw_2 ... ok\n");
      }
      else
      {
         printf("mulw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 2325);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 27825);
      }
   }
   else
   {
      printf("mulw_2 ... failed\n");
   }

   return;
}

static void mull_1(void)
{
   reg32_t preset0 = { .ud = { 12345678UL } };
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "mull %%ebx\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 35487UL &&
          result1.ud[0] == 260846532UL )
      {
         printf("mull_1 ... ok\n");
      }
      else
      {
         printf("mull_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 35487UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 260846532UL);
      }
   }
   else
   {
      printf("mull_1 ... failed\n");
   }

   return;
}

static void mull_2(void)
{
   reg32_t preset0 = { .ud = { 12345678UL } };
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "mull %3\n"
         "movl %%edx, %0\n"
         "movl %%eax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (preset0), "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 35487UL &&
          result1.ud[0] == 260846532UL )
      {
         printf("mull_2 ... ok\n");
      }
      else
      {
         printf("mull_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 35487UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 260846532UL);
      }
   }
   else
   {
      printf("mull_2 ... failed\n");
   }

   return;
}

static void negb_1(void)
{
   reg8_t arg0 = { .sb = { 123 } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "negb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.sb[0] == -123 )
      {
         printf("negb_1 ... ok\n");
      }
      else
      {
         printf("negb_1 ... not ok\n");
         printf("  result0.sb[0] = %d (expected %d)\n", result0.sb[0], -123);
      }
   }
   else
   {
      printf("negb_1 ... failed\n");
   }

   return;
}

static void negb_2(void)
{
   reg8_t arg0 = { .sb = { -123 } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "negb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.sb[0] == 123 )
      {
         printf("negb_2 ... ok\n");
      }
      else
      {
         printf("negb_2 ... not ok\n");
         printf("  result0.sb[0] = %d (expected %d)\n", result0.sb[0], 123);
      }
   }
   else
   {
      printf("negb_2 ... failed\n");
   }

   return;
}

static void negw_1(void)
{
   reg16_t arg0 = { .sw = { 12345 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "negw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.sw[0] == -12345 )
      {
         printf("negw_1 ... ok\n");
      }
      else
      {
         printf("negw_1 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], -12345);
      }
   }
   else
   {
      printf("negw_1 ... failed\n");
   }

   return;
}

static void negw_2(void)
{
   reg16_t arg0 = { .sw = { -12345 } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "negw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.sw[0] == 12345 )
      {
         printf("negw_2 ... ok\n");
      }
      else
      {
         printf("negw_2 ... not ok\n");
         printf("  result0.sw[0] = %d (expected %d)\n", result0.sw[0], 12345);
      }
   }
   else
   {
      printf("negw_2 ... failed\n");
   }

   return;
}

static void negl_1(void)
{
   reg32_t arg0 = { .sd = { 12345678L } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "negl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.sd[0] == -12345678L )
      {
         printf("negl_1 ... ok\n");
      }
      else
      {
         printf("negl_1 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], -12345678L);
      }
   }
   else
   {
      printf("negl_1 ... failed\n");
   }

   return;
}

static void negl_2(void)
{
   reg32_t arg0 = { .sd = { -12345678L } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "negl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.sd[0] == 12345678L )
      {
         printf("negl_2 ... ok\n");
      }
      else
      {
         printf("negl_2 ... not ok\n");
         printf("  result0.sd[0] = %ld (expected %ld)\n", result0.sd[0], 12345678L);
      }
   }
   else
   {
      printf("negl_2 ... failed\n");
   }

   return;
}

static void notb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "notb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x35U )
      {
         printf("notb_1 ... ok\n");
      }
      else
      {
         printf("notb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x35U);
      }
   }
   else
   {
      printf("notb_1 ... failed\n");
   }

   return;
}

static void notb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "notb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x35U )
      {
         printf("notb_2 ... ok\n");
      }
      else
      {
         printf("notb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x35U);
      }
   }
   else
   {
      printf("notb_2 ... failed\n");
   }

   return;
}

static void notw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "notw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0f35 )
      {
         printf("notw_1 ... ok\n");
      }
      else
      {
         printf("notw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0f35);
      }
   }
   else
   {
      printf("notw_1 ... failed\n");
   }

   return;
}

static void notw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "notw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0x0f35 )
      {
         printf("notw_2 ... ok\n");
      }
      else
      {
         printf("notw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0f35);
      }
   }
   else
   {
      printf("notw_2 ... failed\n");
   }

   return;
}

static void notl_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "notl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00ff0f35UL )
      {
         printf("notl_1 ... ok\n");
      }
      else
      {
         printf("notl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00ff0f35UL);
      }
   }
   else
   {
      printf("notl_1 ... failed\n");
   }

   return;
}

static void notl_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "notl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0x00ff0f35UL )
      {
         printf("notl_2 ... ok\n");
      }
      else
      {
         printf("notl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00ff0f35UL);
      }
   }
   else
   {
      printf("notl_2 ... failed\n");
   }

   return;
}

static void orb_1(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "orb $0x34, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x76U )
      {
         printf("orb_1 ... ok\n");
      }
      else
      {
         printf("orb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x76U);
      }
   }
   else
   {
      printf("orb_1 ... failed\n");
   }

   return;
}

static void orb_2(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "orb $0x34, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 0x76U )
      {
         printf("orb_2 ... ok\n");
      }
      else
      {
         printf("orb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x76U);
      }
   }
   else
   {
      printf("orb_2 ... failed\n");
   }

   return;
}

static void orb_3(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "orb $0x34, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x76U )
      {
         printf("orb_3 ... ok\n");
      }
      else
      {
         printf("orb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x76U);
      }
   }
   else
   {
      printf("orb_3 ... failed\n");
   }

   return;
}

static void orb_4(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "orb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 0x76U )
      {
         printf("orb_4 ... ok\n");
      }
      else
      {
         printf("orb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x76U);
      }
   }
   else
   {
      printf("orb_4 ... failed\n");
   }

   return;
}

static void orb_5(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "orb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x76U )
      {
         printf("orb_5 ... ok\n");
      }
      else
      {
         printf("orb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x76U);
      }
   }
   else
   {
      printf("orb_5 ... failed\n");
   }

   return;
}

static void orb_6(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "orb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 0x76U )
      {
         printf("orb_6 ... ok\n");
      }
      else
      {
         printf("orb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x76U);
      }
   }
   else
   {
      printf("orb_6 ... failed\n");
   }

   return;
}

static void orw_1(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "orw $0x31, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x1235 )
      {
         printf("orw_1 ... ok\n");
      }
      else
      {
         printf("orw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x1235);
      }
   }
   else
   {
      printf("orw_1 ... failed\n");
   }

   return;
}

static void orw_2(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "orw $0x4231, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5235 )
      {
         printf("orw_2 ... ok\n");
      }
      else
      {
         printf("orw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5235);
      }
   }
   else
   {
      printf("orw_2 ... failed\n");
   }

   return;
}

static void orw_3(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "orw $0x4231, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 0x5235 )
      {
         printf("orw_3 ... ok\n");
      }
      else
      {
         printf("orw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5235);
      }
   }
   else
   {
      printf("orw_3 ... failed\n");
   }

   return;
}

static void orw_4(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "orw $0x4231, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x5235 )
      {
         printf("orw_4 ... ok\n");
      }
      else
      {
         printf("orw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5235);
      }
   }
   else
   {
      printf("orw_4 ... failed\n");
   }

   return;
}

static void orw_5(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "orw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x5235 )
      {
         printf("orw_5 ... ok\n");
      }
      else
      {
         printf("orw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5235);
      }
   }
   else
   {
      printf("orw_5 ... failed\n");
   }

   return;
}

static void orw_6(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "orw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5235 )
      {
         printf("orw_6 ... ok\n");
      }
      else
      {
         printf("orw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5235);
      }
   }
   else
   {
      printf("orw_6 ... failed\n");
   }

   return;
}

static void orw_7(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "orw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 0x5235 )
      {
         printf("orw_7 ... ok\n");
      }
      else
      {
         printf("orw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5235);
      }
   }
   else
   {
      printf("orw_7 ... failed\n");
   }

   return;
}

static void orl_1(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "orl $0x31, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x12345679UL )
      {
         printf("orl_1 ... ok\n");
      }
      else
      {
         printf("orl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x12345679UL);
      }
   }
   else
   {
      printf("orl_1 ... failed\n");
   }

   return;
}

static void orl_2(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "orl $0x86427531, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x96767779UL )
      {
         printf("orl_2 ... ok\n");
      }
      else
      {
         printf("orl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x96767779UL);
      }
   }
   else
   {
      printf("orl_2 ... failed\n");
   }

   return;
}

static void orl_3(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "orl $0x86427531, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 0x96767779UL )
      {
         printf("orl_3 ... ok\n");
      }
      else
      {
         printf("orl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x96767779UL);
      }
   }
   else
   {
      printf("orl_3 ... failed\n");
   }

   return;
}

static void orl_4(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "orl $0x86427531, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x96767779UL )
      {
         printf("orl_4 ... ok\n");
      }
      else
      {
         printf("orl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x96767779UL);
      }
   }
   else
   {
      printf("orl_4 ... failed\n");
   }

   return;
}

static void orl_5(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "orl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x96767779UL )
      {
         printf("orl_5 ... ok\n");
      }
      else
      {
         printf("orl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x96767779UL);
      }
   }
   else
   {
      printf("orl_5 ... failed\n");
   }

   return;
}

static void orl_6(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "orl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x96767779UL )
      {
         printf("orl_6 ... ok\n");
      }
      else
      {
         printf("orl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x96767779UL);
      }
   }
   else
   {
      printf("orl_6 ... failed\n");
   }

   return;
}

static void orl_7(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "orl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 0x96767779UL )
      {
         printf("orl_7 ... ok\n");
      }
      else
      {
         printf("orl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x96767779UL);
      }
   }
   else
   {
      printf("orl_7 ... failed\n");
   }

   return;
}

static void rclb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclb %%al\n"
         "movb %%al, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x94U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclb_1 ... ok\n");
      }
      else
      {
         printf("rclb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x94U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclb_1 ... failed\n");
   }

   return;
}

static void rclb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclb %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x94U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclb_2 ... ok\n");
      }
      else
      {
         printf("rclb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x94U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclb_2 ... failed\n");
   }

   return;
}

static void rclb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclb $2, %%al\n"
         "movb %%al, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x29U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclb_3 ... ok\n");
      }
      else
      {
         printf("rclb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x29U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclb_3 ... failed\n");
   }

   return;
}

static void rclb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclb $2, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x29U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclb_4 ... ok\n");
      }
      else
      {
         printf("rclb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x29U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclb_4 ... failed\n");
   }

   return;
}

static void rclb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "movb %3, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclb %%cl, %%al\n"
         "movb %%al, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0x29U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclb_5 ... ok\n");
      }
      else
      {
         printf("rclb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x29U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclb_5 ... failed\n");
   }

   return;
}

static void rclb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclb %%cl, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0x29U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclb_6 ... ok\n");
      }
      else
      {
         printf("rclb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x29U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclb_6 ... failed\n");
   }

   return;
}

static void rclw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclw %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xe194 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclw_1 ... ok\n");
      }
      else
      {
         printf("rclw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe194);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclw_1 ... failed\n");
   }

   return;
}

static void rclw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclw %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0xe194 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclw_2 ... ok\n");
      }
      else
      {
         printf("rclw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe194);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclw_2 ... failed\n");
   }

   return;
}

static void rclw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclw $4, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0ca7 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclw_3 ... ok\n");
      }
      else
      {
         printf("rclw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca7);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclw_3 ... failed\n");
   }

   return;
}

static void rclw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclw $4, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x0ca7 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclw_4 ... ok\n");
      }
      else
      {
         printf("rclw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca7);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclw_4 ... failed\n");
   }

   return;
}

static void rclw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "movw %3, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x0ca7 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclw_5 ... ok\n");
      }
      else
      {
         printf("rclw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca7);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclw_5 ... failed\n");
   }

   return;
}

static void rclw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rclw %%cl, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0x0ca7 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rclw_6 ... ok\n");
      }
      else
      {
         printf("rclw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca7);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rclw_6 ... failed\n");
   }

   return;
}

static void rcll_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcll %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xfe01e194UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcll_1 ... ok\n");
      }
      else
      {
         printf("rcll_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e194UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcll_1 ... failed\n");
   }

   return;
}

static void rcll_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcll %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0xfe01e194UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcll_2 ... ok\n");
      }
      else
      {
         printf("rcll_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e194UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcll_2 ... failed\n");
   }

   return;
}

static void rcll_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcll $8, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00f0ca7fUL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcll_3 ... ok\n");
      }
      else
      {
         printf("rcll_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca7fUL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcll_3 ... failed\n");
   }

   return;
}

static void rcll_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcll $8, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x00f0ca7fUL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcll_4 ... ok\n");
      }
      else
      {
         printf("rcll_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca7fUL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcll_4 ... failed\n");
   }

   return;
}

static void rcll_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "movl %3, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcll %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x00f0ca7fUL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcll_5 ... ok\n");
      }
      else
      {
         printf("rcll_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca7fUL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcll_5 ... failed\n");
   }

   return;
}

static void rcll_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcll %%cl, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0x00f0ca7fUL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcll_6 ... ok\n");
      }
      else
      {
         printf("rcll_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca7fUL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcll_6 ... failed\n");
   }

   return;
}

static void rcrb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "rcrb %%al\n"
         "movb %%al, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0xe5U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("rcrb_1 ... ok\n");
      }
      else
      {
         printf("rcrb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xe5U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("rcrb_1 ... failed\n");
   }

   return;
}

static void rcrb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "rcrb %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0xe5U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("rcrb_2 ... ok\n");
      }
      else
      {
         printf("rcrb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xe5U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("rcrb_2 ... failed\n");
   }

   return;
}

static void rcrb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrb $2, %%al\n"
         "movb %%al, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x32U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrb_3 ... ok\n");
      }
      else
      {
         printf("rcrb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrb_3 ... failed\n");
   }

   return;
}

static void rcrb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrb $2, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x32U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrb_4 ... ok\n");
      }
      else
      {
         printf("rcrb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrb_4 ... failed\n");
   }

   return;
}

static void rcrb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "movb %3, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrb %%cl, %%al\n"
         "movb %%al, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0x32U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrb_5 ... ok\n");
      }
      else
      {
         printf("rcrb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrb_5 ... failed\n");
   }

   return;
}

static void rcrb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrb %%cl, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0x32U &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrb_6 ... ok\n");
      }
      else
      {
         printf("rcrb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrb_6 ... failed\n");
   }

   return;
}

static void rcrw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "rcrw %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xf865 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("rcrw_1 ... ok\n");
      }
      else
      {
         printf("rcrw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xf865);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("rcrw_1 ... failed\n");
   }

   return;
}

static void rcrw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "rcrw %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0xf865 &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("rcrw_2 ... ok\n");
      }
      else
      {
         printf("rcrw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xf865);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("rcrw_2 ... failed\n");
   }

   return;
}

static void rcrw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrw $4, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x4f0c &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrw_3 ... ok\n");
      }
      else
      {
         printf("rcrw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4f0c);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrw_3 ... failed\n");
   }

   return;
}

static void rcrw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrw $4, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x4f0c &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrw_4 ... ok\n");
      }
      else
      {
         printf("rcrw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4f0c);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrw_4 ... failed\n");
   }

   return;
}

static void rcrw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "movw %3, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x4f0c &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrw_5 ... ok\n");
      }
      else
      {
         printf("rcrw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4f0c);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrw_5 ... failed\n");
   }

   return;
}

static void rcrw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrw %%cl, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0x4f0c &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrw_6 ... ok\n");
      }
      else
      {
         printf("rcrw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x4f0c);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrw_6 ... failed\n");
   }

   return;
}

static void rcrl_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "rcrl %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xff807865UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("rcrl_1 ... ok\n");
      }
      else
      {
         printf("rcrl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xff807865UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("rcrl_1 ... failed\n");
   }

   return;
}

static void rcrl_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "rcrl %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0xff807865UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000000UL )
      {
         printf("rcrl_2 ... ok\n");
      }
      else
      {
         printf("rcrl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xff807865UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000000UL);
      }
   }
   else
   {
      printf("rcrl_2 ... failed\n");
   }

   return;
}

static void rcrl_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrl $8, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x94ff00f0UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrl_3 ... ok\n");
      }
      else
      {
         printf("rcrl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94ff00f0UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrl_3 ... failed\n");
   }

   return;
}

static void rcrl_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrl $8, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x94ff00f0UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrl_4 ... ok\n");
      }
      else
      {
         printf("rcrl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94ff00f0UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrl_4 ... failed\n");
   }

   return;
}

static void rcrl_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "movl %3, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrl %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x94ff00f0UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrl_5 ... ok\n");
      }
      else
      {
         printf("rcrl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94ff00f0UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrl_5 ... failed\n");
   }

   return;
}

static void rcrl_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%cl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "rcrl %%cl, %0\n"
         "pushfl\n"
         "popl %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0x94ff00f0UL &&
          (result1.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("rcrl_6 ... ok\n");
      }
      else
      {
         printf("rcrl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94ff00f0UL);
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result1.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("rcrl_6 ... failed\n");
   }

   return;
}

static void rolb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "rolb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x95U )
      {
         printf("rolb_1 ... ok\n");
      }
      else
      {
         printf("rolb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x95U);
      }
   }
   else
   {
      printf("rolb_1 ... failed\n");
   }

   return;
}

static void rolb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rolb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x95U )
      {
         printf("rolb_2 ... ok\n");
      }
      else
      {
         printf("rolb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x95U);
      }
   }
   else
   {
      printf("rolb_2 ... failed\n");
   }

   return;
}

static void rolb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "rolb $2, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x2bU )
      {
         printf("rolb_3 ... ok\n");
      }
      else
      {
         printf("rolb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x2bU);
      }
   }
   else
   {
      printf("rolb_3 ... failed\n");
   }

   return;
}

static void rolb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rolb $2, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x2bU )
      {
         printf("rolb_4 ... ok\n");
      }
      else
      {
         printf("rolb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x2bU);
      }
   }
   else
   {
      printf("rolb_4 ... failed\n");
   }

   return;
}

static void rolb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movb %2, %%al\n"
         "rolb %%cl, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0x2bU )
      {
         printf("rolb_5 ... ok\n");
      }
      else
      {
         printf("rolb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x2bU);
      }
   }
   else
   {
      printf("rolb_5 ... failed\n");
   }

   return;
}

static void rolb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "rolb %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0x2bU )
      {
         printf("rolb_6 ... ok\n");
      }
      else
      {
         printf("rolb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x2bU);
      }
   }
   else
   {
      printf("rolb_6 ... failed\n");
   }

   return;
}

static void rolw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "rolw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xe195 )
      {
         printf("rolw_1 ... ok\n");
      }
      else
      {
         printf("rolw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe195);
      }
   }
   else
   {
      printf("rolw_1 ... failed\n");
   }

   return;
}

static void rolw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rolw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0xe195 )
      {
         printf("rolw_2 ... ok\n");
      }
      else
      {
         printf("rolw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe195);
      }
   }
   else
   {
      printf("rolw_2 ... failed\n");
   }

   return;
}

static void rolw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "rolw $4, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("rolw_3 ... ok\n");
      }
      else
      {
         printf("rolw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("rolw_3 ... failed\n");
   }

   return;
}

static void rolw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rolw $4, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("rolw_4 ... ok\n");
      }
      else
      {
         printf("rolw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("rolw_4 ... failed\n");
   }

   return;
}

static void rolw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "rolw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("rolw_5 ... ok\n");
      }
      else
      {
         printf("rolw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("rolw_5 ... failed\n");
   }

   return;
}

static void rolw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "rolw %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("rolw_6 ... ok\n");
      }
      else
      {
         printf("rolw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("rolw_6 ... failed\n");
   }

   return;
}

static void roll_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "roll %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xfe01e195UL )
      {
         printf("roll_1 ... ok\n");
      }
      else
      {
         printf("roll_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e195UL);
      }
   }
   else
   {
      printf("roll_1 ... failed\n");
   }

   return;
}

static void roll_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "roll %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0xfe01e195UL )
      {
         printf("roll_2 ... ok\n");
      }
      else
      {
         printf("roll_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e195UL);
      }
   }
   else
   {
      printf("roll_2 ... failed\n");
   }

   return;
}

static void roll_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "roll $8, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("roll_3 ... ok\n");
      }
      else
      {
         printf("roll_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("roll_3 ... failed\n");
   }

   return;
}

static void roll_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "roll $8, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("roll_4 ... ok\n");
      }
      else
      {
         printf("roll_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("roll_4 ... failed\n");
   }

   return;
}

static void roll_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "roll %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("roll_5 ... ok\n");
      }
      else
      {
         printf("roll_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("roll_5 ... failed\n");
   }

   return;
}

static void roll_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "roll %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("roll_6 ... ok\n");
      }
      else
      {
         printf("roll_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("roll_6 ... failed\n");
   }

   return;
}

static void rorb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "rorb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x65U )
      {
         printf("rorb_1 ... ok\n");
      }
      else
      {
         printf("rorb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x65U);
      }
   }
   else
   {
      printf("rorb_1 ... failed\n");
   }

   return;
}

static void rorb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rorb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x65U )
      {
         printf("rorb_2 ... ok\n");
      }
      else
      {
         printf("rorb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x65U);
      }
   }
   else
   {
      printf("rorb_2 ... failed\n");
   }

   return;
}

static void rorb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "rorb $2, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0xb2U )
      {
         printf("rorb_3 ... ok\n");
      }
      else
      {
         printf("rorb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xb2U);
      }
   }
   else
   {
      printf("rorb_3 ... failed\n");
   }

   return;
}

static void rorb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rorb $2, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0xb2U )
      {
         printf("rorb_4 ... ok\n");
      }
      else
      {
         printf("rorb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xb2U);
      }
   }
   else
   {
      printf("rorb_4 ... failed\n");
   }

   return;
}

static void rorb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movb %2, %%al\n"
         "rorb %%cl, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0xb2U )
      {
         printf("rorb_5 ... ok\n");
      }
      else
      {
         printf("rorb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xb2U);
      }
   }
   else
   {
      printf("rorb_5 ... failed\n");
   }

   return;
}

static void rorb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "rorb %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0xb2U )
      {
         printf("rorb_6 ... ok\n");
      }
      else
      {
         printf("rorb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xb2U);
      }
   }
   else
   {
      printf("rorb_6 ... failed\n");
   }

   return;
}

static void rorw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "rorw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("rorw_1 ... ok\n");
      }
      else
      {
         printf("rorw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("rorw_1 ... failed\n");
   }

   return;
}

static void rorw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rorw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("rorw_2 ... ok\n");
      }
      else
      {
         printf("rorw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("rorw_2 ... failed\n");
   }

   return;
}

static void rorw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "rorw $4, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("rorw_3 ... ok\n");
      }
      else
      {
         printf("rorw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("rorw_3 ... failed\n");
   }

   return;
}

static void rorw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rorw $4, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("rorw_4 ... ok\n");
      }
      else
      {
         printf("rorw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("rorw_4 ... failed\n");
   }

   return;
}

static void rorw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "rorw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("rorw_5 ... ok\n");
      }
      else
      {
         printf("rorw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("rorw_5 ... failed\n");
   }

   return;
}

static void rorw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "rorw %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("rorw_6 ... ok\n");
      }
      else
      {
         printf("rorw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("rorw_6 ... failed\n");
   }

   return;
}

static void rorl_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "rorl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("rorl_1 ... ok\n");
      }
      else
      {
         printf("rorl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("rorl_1 ... failed\n");
   }

   return;
}

static void rorl_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rorl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("rorl_2 ... ok\n");
      }
      else
      {
         printf("rorl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("rorl_2 ... failed\n");
   }

   return;
}

static void rorl_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "rorl $8, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("rorl_3 ... ok\n");
      }
      else
      {
         printf("rorl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("rorl_3 ... failed\n");
   }

   return;
}

static void rorl_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "rorl $8, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("rorl_4 ... ok\n");
      }
      else
      {
         printf("rorl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("rorl_4 ... failed\n");
   }

   return;
}

static void rorl_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "rorl %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("rorl_5 ... ok\n");
      }
      else
      {
         printf("rorl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("rorl_5 ... failed\n");
   }

   return;
}

static void rorl_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "rorl %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("rorl_6 ... ok\n");
      }
      else
      {
         printf("rorl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("rorl_6 ... failed\n");
   }

   return;
}

static void sahf_1(void)
{
   reg8_t preset0 = { .ub = { 0xfdU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%ah\n"
         "pushfl\n"
         "andl $0xffffff00, (%%esp)\n"
         "orl $0x00000028, (%%esp)\n"
         "popfl\n"
         "sahf\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "ah"
      );

      if ((result0.ud[0] & 0x000000fdUL) == 0x000000d5UL )
      {
         printf("sahf_1 ... ok\n");
      }
      else
      {
         printf("sahf_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000000fdUL, result0.ud[0] & 0x000000fdUL, 0x000000d5UL);
      }
   }
   else
   {
      printf("sahf_1 ... failed\n");
   }

   return;
}

static void sahf_2(void)
{
   reg8_t preset0 = { .ub = { 0x28U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%ah\n"
         "pushfl\n"
         "andl $0xffffff00, (%%esp)\n"
         "orl $0x000000fd, (%%esp)\n"
         "popfl\n"
         "sahf\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (preset0), "m" (state[0])
         : "ah"
      );

      if ((result0.ud[0] & 0x000000fdUL) == 0x00000000UL )
      {
         printf("sahf_2 ... ok\n");
      }
      else
      {
         printf("sahf_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000000fdUL, result0.ud[0] & 0x000000fdUL, 0x00000000UL);
      }
   }
   else
   {
      printf("sahf_2 ... failed\n");
   }

   return;
}

static void salb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "salb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x94U )
      {
         printf("salb_1 ... ok\n");
      }
      else
      {
         printf("salb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x94U);
      }
   }
   else
   {
      printf("salb_1 ... failed\n");
   }

   return;
}

static void salb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "salb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x94U )
      {
         printf("salb_2 ... ok\n");
      }
      else
      {
         printf("salb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x94U);
      }
   }
   else
   {
      printf("salb_2 ... failed\n");
   }

   return;
}

static void salb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "salb $2, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x28U )
      {
         printf("salb_3 ... ok\n");
      }
      else
      {
         printf("salb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("salb_3 ... failed\n");
   }

   return;
}

static void salb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "salb $2, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x28U )
      {
         printf("salb_4 ... ok\n");
      }
      else
      {
         printf("salb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("salb_4 ... failed\n");
   }

   return;
}

static void salb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movb %2, %%al\n"
         "salb %%cl, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0x28U )
      {
         printf("salb_5 ... ok\n");
      }
      else
      {
         printf("salb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("salb_5 ... failed\n");
   }

   return;
}

static void salb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "salb %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0x28U )
      {
         printf("salb_6 ... ok\n");
      }
      else
      {
         printf("salb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("salb_6 ... failed\n");
   }

   return;
}

static void salw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "salw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xe194 )
      {
         printf("salw_1 ... ok\n");
      }
      else
      {
         printf("salw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe194);
      }
   }
   else
   {
      printf("salw_1 ... failed\n");
   }

   return;
}

static void salw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "salw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0xe194 )
      {
         printf("salw_2 ... ok\n");
      }
      else
      {
         printf("salw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe194);
      }
   }
   else
   {
      printf("salw_2 ... failed\n");
   }

   return;
}

static void salw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "salw $4, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("salw_3 ... ok\n");
      }
      else
      {
         printf("salw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("salw_3 ... failed\n");
   }

   return;
}

static void salw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "salw $4, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("salw_4 ... ok\n");
      }
      else
      {
         printf("salw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("salw_4 ... failed\n");
   }

   return;
}

static void salw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "salw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("salw_5 ... ok\n");
      }
      else
      {
         printf("salw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("salw_5 ... failed\n");
   }

   return;
}

static void salw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "salw %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("salw_6 ... ok\n");
      }
      else
      {
         printf("salw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("salw_6 ... failed\n");
   }

   return;
}

static void sall_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "sall %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xfe01e194UL )
      {
         printf("sall_1 ... ok\n");
      }
      else
      {
         printf("sall_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e194UL);
      }
   }
   else
   {
      printf("sall_1 ... failed\n");
   }

   return;
}

static void sall_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sall %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0xfe01e194UL )
      {
         printf("sall_2 ... ok\n");
      }
      else
      {
         printf("sall_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e194UL);
      }
   }
   else
   {
      printf("sall_2 ... failed\n");
   }

   return;
}

static void sall_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "sall $8, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("sall_3 ... ok\n");
      }
      else
      {
         printf("sall_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("sall_3 ... failed\n");
   }

   return;
}

static void sall_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sall $8, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("sall_4 ... ok\n");
      }
      else
      {
         printf("sall_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("sall_4 ... failed\n");
   }

   return;
}

static void sall_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "sall %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("sall_5 ... ok\n");
      }
      else
      {
         printf("sall_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("sall_5 ... failed\n");
   }

   return;
}

static void sall_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "sall %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("sall_6 ... ok\n");
      }
      else
      {
         printf("sall_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("sall_6 ... failed\n");
   }

   return;
}

static void sarb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "sarb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0xe5U )
      {
         printf("sarb_1 ... ok\n");
      }
      else
      {
         printf("sarb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xe5U);
      }
   }
   else
   {
      printf("sarb_1 ... failed\n");
   }

   return;
}

static void sarb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sarb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0xe5U )
      {
         printf("sarb_2 ... ok\n");
      }
      else
      {
         printf("sarb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xe5U);
      }
   }
   else
   {
      printf("sarb_2 ... failed\n");
   }

   return;
}

static void sarb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "sarb $2, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0xf2U )
      {
         printf("sarb_3 ... ok\n");
      }
      else
      {
         printf("sarb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xf2U);
      }
   }
   else
   {
      printf("sarb_3 ... failed\n");
   }

   return;
}

static void sarb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sarb $2, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0xf2U )
      {
         printf("sarb_4 ... ok\n");
      }
      else
      {
         printf("sarb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xf2U);
      }
   }
   else
   {
      printf("sarb_4 ... failed\n");
   }

   return;
}

static void sarb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movb %2, %%al\n"
         "sarb %%cl, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0xf2U )
      {
         printf("sarb_5 ... ok\n");
      }
      else
      {
         printf("sarb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xf2U);
      }
   }
   else
   {
      printf("sarb_5 ... failed\n");
   }

   return;
}

static void sarb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "sarb %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0xf2U )
      {
         printf("sarb_6 ... ok\n");
      }
      else
      {
         printf("sarb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0xf2U);
      }
   }
   else
   {
      printf("sarb_6 ... failed\n");
   }

   return;
}

static void sarw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "sarw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xf865 )
      {
         printf("sarw_1 ... ok\n");
      }
      else
      {
         printf("sarw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xf865);
      }
   }
   else
   {
      printf("sarw_1 ... failed\n");
   }

   return;
}

static void sarw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sarw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0xf865 )
      {
         printf("sarw_2 ... ok\n");
      }
      else
      {
         printf("sarw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xf865);
      }
   }
   else
   {
      printf("sarw_2 ... failed\n");
   }

   return;
}

static void sarw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "sarw $4, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xff0c )
      {
         printf("sarw_3 ... ok\n");
      }
      else
      {
         printf("sarw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xff0c);
      }
   }
   else
   {
      printf("sarw_3 ... failed\n");
   }

   return;
}

static void sarw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sarw $4, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0xff0c )
      {
         printf("sarw_4 ... ok\n");
      }
      else
      {
         printf("sarw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xff0c);
      }
   }
   else
   {
      printf("sarw_4 ... failed\n");
   }

   return;
}

static void sarw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "sarw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0xff0c )
      {
         printf("sarw_5 ... ok\n");
      }
      else
      {
         printf("sarw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xff0c);
      }
   }
   else
   {
      printf("sarw_5 ... failed\n");
   }

   return;
}

static void sarw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "sarw %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0xff0c )
      {
         printf("sarw_6 ... ok\n");
      }
      else
      {
         printf("sarw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xff0c);
      }
   }
   else
   {
      printf("sarw_6 ... failed\n");
   }

   return;
}

static void sarl_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "sarl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xff807865UL )
      {
         printf("sarl_1 ... ok\n");
      }
      else
      {
         printf("sarl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xff807865UL);
      }
   }
   else
   {
      printf("sarl_1 ... failed\n");
   }

   return;
}

static void sarl_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sarl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0xff807865UL )
      {
         printf("sarl_2 ... ok\n");
      }
      else
      {
         printf("sarl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xff807865UL);
      }
   }
   else
   {
      printf("sarl_2 ... failed\n");
   }

   return;
}

static void sarl_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "sarl $8, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xffff00f0UL )
      {
         printf("sarl_3 ... ok\n");
      }
      else
      {
         printf("sarl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xffff00f0UL);
      }
   }
   else
   {
      printf("sarl_3 ... failed\n");
   }

   return;
}

static void sarl_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "sarl $8, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0xffff00f0UL )
      {
         printf("sarl_4 ... ok\n");
      }
      else
      {
         printf("sarl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xffff00f0UL);
      }
   }
   else
   {
      printf("sarl_4 ... failed\n");
   }

   return;
}

static void sarl_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "sarl %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0xffff00f0UL )
      {
         printf("sarl_5 ... ok\n");
      }
      else
      {
         printf("sarl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xffff00f0UL);
      }
   }
   else
   {
      printf("sarl_5 ... failed\n");
   }

   return;
}

static void sarl_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "sarl %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0xffff00f0UL )
      {
         printf("sarl_6 ... ok\n");
      }
      else
      {
         printf("sarl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xffff00f0UL);
      }
   }
   else
   {
      printf("sarl_6 ... failed\n");
   }

   return;
}

static void sbbb_1(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbb $12, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 22U )
      {
         printf("sbbb_1 ... ok\n");
      }
      else
      {
         printf("sbbb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("sbbb_1 ... failed\n");
   }

   return;
}

static void sbbb_2(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbb $12, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 21U )
      {
         printf("sbbb_2 ... ok\n");
      }
      else
      {
         printf("sbbb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 21U);
      }
   }
   else
   {
      printf("sbbb_2 ... failed\n");
   }

   return;
}

static void sbbb_3(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbb $12, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 22U )
      {
         printf("sbbb_3 ... ok\n");
      }
      else
      {
         printf("sbbb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("sbbb_3 ... failed\n");
   }

   return;
}

static void sbbb_4(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbb $12, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 21U )
      {
         printf("sbbb_4 ... ok\n");
      }
      else
      {
         printf("sbbb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 21U);
      }
   }
   else
   {
      printf("sbbb_4 ... failed\n");
   }

   return;
}

static void sbbb_5(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbb $12, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 22U )
      {
         printf("sbbb_5 ... ok\n");
      }
      else
      {
         printf("sbbb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("sbbb_5 ... failed\n");
   }

   return;
}

static void sbbb_6(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbb $12, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 21U )
      {
         printf("sbbb_6 ... ok\n");
      }
      else
      {
         printf("sbbb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 21U);
      }
   }
   else
   {
      printf("sbbb_6 ... failed\n");
   }

   return;
}

static void sbbb_7(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 22U )
      {
         printf("sbbb_7 ... ok\n");
      }
      else
      {
         printf("sbbb_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("sbbb_7 ... failed\n");
   }

   return;
}

static void sbbb_8(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 21U )
      {
         printf("sbbb_8 ... ok\n");
      }
      else
      {
         printf("sbbb_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 21U);
      }
   }
   else
   {
      printf("sbbb_8 ... failed\n");
   }

   return;
}

static void sbbb_9(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 22U )
      {
         printf("sbbb_9 ... ok\n");
      }
      else
      {
         printf("sbbb_9 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("sbbb_9 ... failed\n");
   }

   return;
}

static void sbbb_10(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 21U )
      {
         printf("sbbb_10 ... ok\n");
      }
      else
      {
         printf("sbbb_10 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 21U);
      }
   }
   else
   {
      printf("sbbb_10 ... failed\n");
   }

   return;
}

static void sbbb_11(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 22U )
      {
         printf("sbbb_11 ... ok\n");
      }
      else
      {
         printf("sbbb_11 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("sbbb_11 ... failed\n");
   }

   return;
}

static void sbbb_12(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 21U )
      {
         printf("sbbb_12 ... ok\n");
      }
      else
      {
         printf("sbbb_12 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 21U);
      }
   }
   else
   {
      printf("sbbb_12 ... failed\n");
   }

   return;
}

static void sbbw_1(void)
{
   reg16_t arg1 = { .uw = { 3456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw $12, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 3444 )
      {
         printf("sbbw_1 ... ok\n");
      }
      else
      {
         printf("sbbw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3444);
      }
   }
   else
   {
      printf("sbbw_1 ... failed\n");
   }

   return;
}

static void sbbw_2(void)
{
   reg16_t arg1 = { .uw = { 3456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw $12, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 3443 )
      {
         printf("sbbw_2 ... ok\n");
      }
      else
      {
         printf("sbbw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3443);
      }
   }
   else
   {
      printf("sbbw_2 ... failed\n");
   }

   return;
}

static void sbbw_3(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw $1234, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("sbbw_3 ... ok\n");
      }
      else
      {
         printf("sbbw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("sbbw_3 ... failed\n");
   }

   return;
}

static void sbbw_4(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw $1234, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 4443 )
      {
         printf("sbbw_4 ... ok\n");
      }
      else
      {
         printf("sbbw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4443);
      }
   }
   else
   {
      printf("sbbw_4 ... failed\n");
   }

   return;
}

static void sbbw_5(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw $1234, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("sbbw_5 ... ok\n");
      }
      else
      {
         printf("sbbw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("sbbw_5 ... failed\n");
   }

   return;
}

static void sbbw_6(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw $1234, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 4443 )
      {
         printf("sbbw_6 ... ok\n");
      }
      else
      {
         printf("sbbw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4443);
      }
   }
   else
   {
      printf("sbbw_6 ... failed\n");
   }

   return;
}

static void sbbw_7(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw $1234, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 4444 )
      {
         printf("sbbw_7 ... ok\n");
      }
      else
      {
         printf("sbbw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("sbbw_7 ... failed\n");
   }

   return;
}

static void sbbw_8(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw $1234, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 4443 )
      {
         printf("sbbw_8 ... ok\n");
      }
      else
      {
         printf("sbbw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4443);
      }
   }
   else
   {
      printf("sbbw_8 ... failed\n");
   }

   return;
}

static void sbbw_9(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("sbbw_9 ... ok\n");
      }
      else
      {
         printf("sbbw_9 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("sbbw_9 ... failed\n");
   }

   return;
}

static void sbbw_10(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 4443 )
      {
         printf("sbbw_10 ... ok\n");
      }
      else
      {
         printf("sbbw_10 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4443);
      }
   }
   else
   {
      printf("sbbw_10 ... failed\n");
   }

   return;
}

static void sbbw_11(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("sbbw_11 ... ok\n");
      }
      else
      {
         printf("sbbw_11 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("sbbw_11 ... failed\n");
   }

   return;
}

static void sbbw_12(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 4443 )
      {
         printf("sbbw_12 ... ok\n");
      }
      else
      {
         printf("sbbw_12 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4443);
      }
   }
   else
   {
      printf("sbbw_12 ... failed\n");
   }

   return;
}

static void sbbw_13(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("sbbw_13 ... ok\n");
      }
      else
      {
         printf("sbbw_13 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("sbbw_13 ... failed\n");
   }

   return;
}

static void sbbw_14(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 4443 )
      {
         printf("sbbw_14 ... ok\n");
      }
      else
      {
         printf("sbbw_14 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4443);
      }
   }
   else
   {
      printf("sbbw_14 ... failed\n");
   }

   return;
}

static void sbbl_1(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl $12, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654309UL )
      {
         printf("sbbl_1 ... ok\n");
      }
      else
      {
         printf("sbbl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654309UL);
      }
   }
   else
   {
      printf("sbbl_1 ... failed\n");
   }

   return;
}

static void sbbl_2(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl $12, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654308UL )
      {
         printf("sbbl_2 ... ok\n");
      }
      else
      {
         printf("sbbl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654308UL);
      }
   }
   else
   {
      printf("sbbl_2 ... failed\n");
   }

   return;
}

static void sbbl_3(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("sbbl_3 ... ok\n");
      }
      else
      {
         printf("sbbl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("sbbl_3 ... failed\n");
   }

   return;
}

static void sbbl_4(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308642UL )
      {
         printf("sbbl_4 ... ok\n");
      }
      else
      {
         printf("sbbl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308642UL);
      }
   }
   else
   {
      printf("sbbl_4 ... failed\n");
   }

   return;
}

static void sbbl_5(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl $12345678, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("sbbl_5 ... ok\n");
      }
      else
      {
         printf("sbbl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("sbbl_5 ... failed\n");
   }

   return;
}

static void sbbl_6(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl $12345678, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 75308642UL )
      {
         printf("sbbl_6 ... ok\n");
      }
      else
      {
         printf("sbbl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308642UL);
      }
   }
   else
   {
      printf("sbbl_6 ... failed\n");
   }

   return;
}

static void sbbl_7(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl $12345678, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("sbbl_7 ... ok\n");
      }
      else
      {
         printf("sbbl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("sbbl_7 ... failed\n");
   }

   return;
}

static void sbbl_8(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl $12345678, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 75308642UL )
      {
         printf("sbbl_8 ... ok\n");
      }
      else
      {
         printf("sbbl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308642UL);
      }
   }
   else
   {
      printf("sbbl_8 ... failed\n");
   }

   return;
}

static void sbbl_9(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("sbbl_9 ... ok\n");
      }
      else
      {
         printf("sbbl_9 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("sbbl_9 ... failed\n");
   }

   return;
}

static void sbbl_10(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 75308642UL )
      {
         printf("sbbl_10 ... ok\n");
      }
      else
      {
         printf("sbbl_10 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308642UL);
      }
   }
   else
   {
      printf("sbbl_10 ... failed\n");
   }

   return;
}

static void sbbl_11(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("sbbl_11 ... ok\n");
      }
      else
      {
         printf("sbbl_11 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("sbbl_11 ... failed\n");
   }

   return;
}

static void sbbl_12(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308642UL )
      {
         printf("sbbl_12 ... ok\n");
      }
      else
      {
         printf("sbbl_12 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308642UL);
      }
   }
   else
   {
      printf("sbbl_12 ... failed\n");
   }

   return;
}

static void sbbl_13(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sbbl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("sbbl_13 ... ok\n");
      }
      else
      {
         printf("sbbl_13 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("sbbl_13 ... failed\n");
   }

   return;
}

static void sbbl_14(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "sbbl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 75308642UL )
      {
         printf("sbbl_14 ... ok\n");
      }
      else
      {
         printf("sbbl_14 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308642UL);
      }
   }
   else
   {
      printf("sbbl_14 ... failed\n");
   }

   return;
}

static void seta_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "seta %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("seta_1 ... ok\n");
      }
      else
      {
         printf("seta_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("seta_1 ... failed\n");
   }

   return;
}

static void seta_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "seta %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("seta_2 ... ok\n");
      }
      else
      {
         printf("seta_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seta_2 ... failed\n");
   }

   return;
}

static void seta_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "seta %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("seta_3 ... ok\n");
      }
      else
      {
         printf("seta_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seta_3 ... failed\n");
   }

   return;
}

static void seta_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "seta %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("seta_4 ... ok\n");
      }
      else
      {
         printf("seta_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seta_4 ... failed\n");
   }

   return;
}

static void seta_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "seta %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("seta_5 ... ok\n");
      }
      else
      {
         printf("seta_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("seta_5 ... failed\n");
   }

   return;
}

static void seta_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "seta %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("seta_6 ... ok\n");
      }
      else
      {
         printf("seta_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seta_6 ... failed\n");
   }

   return;
}

static void seta_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "seta %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("seta_7 ... ok\n");
      }
      else
      {
         printf("seta_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seta_7 ... failed\n");
   }

   return;
}

static void seta_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "seta %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("seta_8 ... ok\n");
      }
      else
      {
         printf("seta_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seta_8 ... failed\n");
   }

   return;
}

static void setae_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setae %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setae_1 ... ok\n");
      }
      else
      {
         printf("setae_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setae_1 ... failed\n");
   }

   return;
}

static void setae_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setae %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setae_2 ... ok\n");
      }
      else
      {
         printf("setae_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setae_2 ... failed\n");
   }

   return;
}

static void setae_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setae %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setae_3 ... ok\n");
      }
      else
      {
         printf("setae_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setae_3 ... failed\n");
   }

   return;
}

static void setae_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setae %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setae_4 ... ok\n");
      }
      else
      {
         printf("setae_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setae_4 ... failed\n");
   }

   return;
}

static void setb_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setb_1 ... ok\n");
      }
      else
      {
         printf("setb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setb_1 ... failed\n");
   }

   return;
}

static void setb_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setb_2 ... ok\n");
      }
      else
      {
         printf("setb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setb_2 ... failed\n");
   }

   return;
}

static void setb_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setb_3 ... ok\n");
      }
      else
      {
         printf("setb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setb_3 ... failed\n");
   }

   return;
}

static void setb_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setb_4 ... ok\n");
      }
      else
      {
         printf("setb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setb_4 ... failed\n");
   }

   return;
}

static void setbe_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setbe_1 ... ok\n");
      }
      else
      {
         printf("setbe_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setbe_1 ... failed\n");
   }

   return;
}

static void setbe_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setbe_2 ... ok\n");
      }
      else
      {
         printf("setbe_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setbe_2 ... failed\n");
   }

   return;
}

static void setbe_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setbe_3 ... ok\n");
      }
      else
      {
         printf("setbe_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setbe_3 ... failed\n");
   }

   return;
}

static void setbe_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "setbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setbe_4 ... ok\n");
      }
      else
      {
         printf("setbe_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setbe_4 ... failed\n");
   }

   return;
}

static void setbe_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setbe_5 ... ok\n");
      }
      else
      {
         printf("setbe_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setbe_5 ... failed\n");
   }

   return;
}

static void setbe_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setbe_6 ... ok\n");
      }
      else
      {
         printf("setbe_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setbe_6 ... failed\n");
   }

   return;
}

static void setbe_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setbe_7 ... ok\n");
      }
      else
      {
         printf("setbe_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setbe_7 ... failed\n");
   }

   return;
}

static void setbe_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "setbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setbe_8 ... ok\n");
      }
      else
      {
         printf("setbe_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setbe_8 ... failed\n");
   }

   return;
}

static void setc_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setc %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setc_1 ... ok\n");
      }
      else
      {
         printf("setc_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setc_1 ... failed\n");
   }

   return;
}

static void setc_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setc %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setc_2 ... ok\n");
      }
      else
      {
         printf("setc_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setc_2 ... failed\n");
   }

   return;
}

static void setc_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setc %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setc_3 ... ok\n");
      }
      else
      {
         printf("setc_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setc_3 ... failed\n");
   }

   return;
}

static void setc_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setc %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setc_4 ... ok\n");
      }
      else
      {
         printf("setc_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setc_4 ... failed\n");
   }

   return;
}

static void sete_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sete %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("sete_1 ... ok\n");
      }
      else
      {
         printf("sete_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("sete_1 ... failed\n");
   }

   return;
}

static void sete_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "sete %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("sete_2 ... ok\n");
      }
      else
      {
         printf("sete_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("sete_2 ... failed\n");
   }

   return;
}

static void sete_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sete %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("sete_3 ... ok\n");
      }
      else
      {
         printf("sete_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("sete_3 ... failed\n");
   }

   return;
}

static void sete_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "sete %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("sete_4 ... ok\n");
      }
      else
      {
         printf("sete_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("sete_4 ... failed\n");
   }

   return;
}

static void setg_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setg_1 ... ok\n");
      }
      else
      {
         printf("setg_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setg_1 ... failed\n");
   }

   return;
}

static void setg_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_2 ... ok\n");
      }
      else
      {
         printf("setg_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_2 ... failed\n");
   }

   return;
}

static void setg_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_3 ... ok\n");
      }
      else
      {
         printf("setg_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_3 ... failed\n");
   }

   return;
}

static void setg_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_4 ... ok\n");
      }
      else
      {
         printf("setg_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_4 ... failed\n");
   }

   return;
}

static void setg_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_5 ... ok\n");
      }
      else
      {
         printf("setg_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_5 ... failed\n");
   }

   return;
}

static void setg_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_6 ... ok\n");
      }
      else
      {
         printf("setg_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_6 ... failed\n");
   }

   return;
}

static void setg_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setg_7 ... ok\n");
      }
      else
      {
         printf("setg_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setg_7 ... failed\n");
   }

   return;
}

static void setg_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setg %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_8 ... ok\n");
      }
      else
      {
         printf("setg_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_8 ... failed\n");
   }

   return;
}

static void setg_9(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setg_9 ... ok\n");
      }
      else
      {
         printf("setg_9 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setg_9 ... failed\n");
   }

   return;
}

static void setg_10(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_10 ... ok\n");
      }
      else
      {
         printf("setg_10 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_10 ... failed\n");
   }

   return;
}

static void setg_11(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_11 ... ok\n");
      }
      else
      {
         printf("setg_11 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_11 ... failed\n");
   }

   return;
}

static void setg_12(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_12 ... ok\n");
      }
      else
      {
         printf("setg_12 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_12 ... failed\n");
   }

   return;
}

static void setg_13(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_13 ... ok\n");
      }
      else
      {
         printf("setg_13 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_13 ... failed\n");
   }

   return;
}

static void setg_14(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_14 ... ok\n");
      }
      else
      {
         printf("setg_14 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_14 ... failed\n");
   }

   return;
}

static void setg_15(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setg_15 ... ok\n");
      }
      else
      {
         printf("setg_15 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setg_15 ... failed\n");
   }

   return;
}

static void setg_16(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setg %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setg_16 ... ok\n");
      }
      else
      {
         printf("setg_16 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setg_16 ... failed\n");
   }

   return;
}

static void setge_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setge_1 ... ok\n");
      }
      else
      {
         printf("setge_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setge_1 ... failed\n");
   }

   return;
}

static void setge_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setge_2 ... ok\n");
      }
      else
      {
         printf("setge_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setge_2 ... failed\n");
   }

   return;
}

static void setge_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setge_3 ... ok\n");
      }
      else
      {
         printf("setge_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setge_3 ... failed\n");
   }

   return;
}

static void setge_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setge_4 ... ok\n");
      }
      else
      {
         printf("setge_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setge_4 ... failed\n");
   }

   return;
}

static void setge_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setge_5 ... ok\n");
      }
      else
      {
         printf("setge_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setge_5 ... failed\n");
   }

   return;
}

static void setge_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setge_6 ... ok\n");
      }
      else
      {
         printf("setge_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setge_6 ... failed\n");
   }

   return;
}

static void setge_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setge_7 ... ok\n");
      }
      else
      {
         printf("setge_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setge_7 ... failed\n");
   }

   return;
}

static void setge_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setge_8 ... ok\n");
      }
      else
      {
         printf("setge_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setge_8 ... failed\n");
   }

   return;
}

static void setl_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setl_1 ... ok\n");
      }
      else
      {
         printf("setl_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setl_1 ... failed\n");
   }

   return;
}

static void setl_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setl_2 ... ok\n");
      }
      else
      {
         printf("setl_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setl_2 ... failed\n");
   }

   return;
}

static void setl_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setl_3 ... ok\n");
      }
      else
      {
         printf("setl_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setl_3 ... failed\n");
   }

   return;
}

static void setl_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setl_4 ... ok\n");
      }
      else
      {
         printf("setl_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setl_4 ... failed\n");
   }

   return;
}

static void setl_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setl_5 ... ok\n");
      }
      else
      {
         printf("setl_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setl_5 ... failed\n");
   }

   return;
}

static void setl_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setl_6 ... ok\n");
      }
      else
      {
         printf("setl_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setl_6 ... failed\n");
   }

   return;
}

static void setl_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setl_7 ... ok\n");
      }
      else
      {
         printf("setl_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setl_7 ... failed\n");
   }

   return;
}

static void setl_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setl_8 ... ok\n");
      }
      else
      {
         printf("setl_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setl_8 ... failed\n");
   }

   return;
}

static void setle_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setle_1 ... ok\n");
      }
      else
      {
         printf("setle_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setle_1 ... failed\n");
   }

   return;
}

static void setle_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_2 ... ok\n");
      }
      else
      {
         printf("setle_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_2 ... failed\n");
   }

   return;
}

static void setle_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_3 ... ok\n");
      }
      else
      {
         printf("setle_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_3 ... failed\n");
   }

   return;
}

static void setle_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_4 ... ok\n");
      }
      else
      {
         printf("setle_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_4 ... failed\n");
   }

   return;
}

static void setle_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_5 ... ok\n");
      }
      else
      {
         printf("setle_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_5 ... failed\n");
   }

   return;
}

static void setle_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_6 ... ok\n");
      }
      else
      {
         printf("setle_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_6 ... failed\n");
   }

   return;
}

static void setle_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setle_7 ... ok\n");
      }
      else
      {
         printf("setle_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setle_7 ... failed\n");
   }

   return;
}

static void setle_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_8 ... ok\n");
      }
      else
      {
         printf("setle_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_8 ... failed\n");
   }

   return;
}

static void setle_9(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setle_9 ... ok\n");
      }
      else
      {
         printf("setle_9 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setle_9 ... failed\n");
   }

   return;
}

static void setle_10(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_10 ... ok\n");
      }
      else
      {
         printf("setle_10 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_10 ... failed\n");
   }

   return;
}

static void setle_11(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_11 ... ok\n");
      }
      else
      {
         printf("setle_11 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_11 ... failed\n");
   }

   return;
}

static void setle_12(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_12 ... ok\n");
      }
      else
      {
         printf("setle_12 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_12 ... failed\n");
   }

   return;
}

static void setle_13(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_13 ... ok\n");
      }
      else
      {
         printf("setle_13 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_13 ... failed\n");
   }

   return;
}

static void setle_14(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_14 ... ok\n");
      }
      else
      {
         printf("setle_14 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_14 ... failed\n");
   }

   return;
}

static void setle_15(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setle_15 ... ok\n");
      }
      else
      {
         printf("setle_15 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setle_15 ... failed\n");
   }

   return;
}

static void setle_16(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setle_16 ... ok\n");
      }
      else
      {
         printf("setle_16 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setle_16 ... failed\n");
   }

   return;
}

static void setna_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setna %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setna_1 ... ok\n");
      }
      else
      {
         printf("setna_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setna_1 ... failed\n");
   }

   return;
}

static void setna_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setna %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setna_2 ... ok\n");
      }
      else
      {
         printf("setna_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setna_2 ... failed\n");
   }

   return;
}

static void setna_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setna %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setna_3 ... ok\n");
      }
      else
      {
         printf("setna_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setna_3 ... failed\n");
   }

   return;
}

static void setna_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "setna %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setna_4 ... ok\n");
      }
      else
      {
         printf("setna_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setna_4 ... failed\n");
   }

   return;
}

static void setna_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setna %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setna_5 ... ok\n");
      }
      else
      {
         printf("setna_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setna_5 ... failed\n");
   }

   return;
}

static void setna_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setna %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setna_6 ... ok\n");
      }
      else
      {
         printf("setna_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setna_6 ... failed\n");
   }

   return;
}

static void setna_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setna %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setna_7 ... ok\n");
      }
      else
      {
         printf("setna_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setna_7 ... failed\n");
   }

   return;
}

static void setna_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "setna %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setna_8 ... ok\n");
      }
      else
      {
         printf("setna_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setna_8 ... failed\n");
   }

   return;
}

static void setnae_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnae %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnae_1 ... ok\n");
      }
      else
      {
         printf("setnae_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnae_1 ... failed\n");
   }

   return;
}

static void setnae_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnae %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnae_2 ... ok\n");
      }
      else
      {
         printf("setnae_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnae_2 ... failed\n");
   }

   return;
}

static void setnae_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnae %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnae_3 ... ok\n");
      }
      else
      {
         printf("setnae_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnae_3 ... failed\n");
   }

   return;
}

static void setnae_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnae %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnae_4 ... ok\n");
      }
      else
      {
         printf("setnae_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnae_4 ... failed\n");
   }

   return;
}

static void setnb_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnb_1 ... ok\n");
      }
      else
      {
         printf("setnb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnb_1 ... failed\n");
   }

   return;
}

static void setnb_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnb_2 ... ok\n");
      }
      else
      {
         printf("setnb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnb_2 ... failed\n");
   }

   return;
}

static void setnb_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnb_3 ... ok\n");
      }
      else
      {
         printf("setnb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnb_3 ... failed\n");
   }

   return;
}

static void setnb_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnb_4 ... ok\n");
      }
      else
      {
         printf("setnb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnb_4 ... failed\n");
   }

   return;
}

static void setnbe_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnbe_1 ... ok\n");
      }
      else
      {
         printf("setnbe_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnbe_1 ... failed\n");
   }

   return;
}

static void setnbe_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnbe_2 ... ok\n");
      }
      else
      {
         printf("setnbe_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnbe_2 ... failed\n");
   }

   return;
}

static void setnbe_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setnbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnbe_3 ... ok\n");
      }
      else
      {
         printf("setnbe_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnbe_3 ... failed\n");
   }

   return;
}

static void setnbe_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "setnbe %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnbe_4 ... ok\n");
      }
      else
      {
         printf("setnbe_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnbe_4 ... failed\n");
   }

   return;
}

static void setnbe_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnbe_5 ... ok\n");
      }
      else
      {
         printf("setnbe_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnbe_5 ... failed\n");
   }

   return;
}

static void setnbe_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnbe_6 ... ok\n");
      }
      else
      {
         printf("setnbe_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnbe_6 ... failed\n");
   }

   return;
}

static void setnbe_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setnbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnbe_7 ... ok\n");
      }
      else
      {
         printf("setnbe_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnbe_7 ... failed\n");
   }

   return;
}

static void setnbe_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbe, (%%esp)\n"
         "orl $0x00000041, (%%esp)\n"
         "popfl\n"
         "setnbe %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnbe_8 ... ok\n");
      }
      else
      {
         printf("setnbe_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnbe_8 ... failed\n");
   }

   return;
}

static void setnc_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnc %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnc_1 ... ok\n");
      }
      else
      {
         printf("setnc_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnc_1 ... failed\n");
   }

   return;
}

static void setnc_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnc %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnc_2 ... ok\n");
      }
      else
      {
         printf("setnc_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnc_2 ... failed\n");
   }

   return;
}

static void setnc_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnc %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnc_3 ... ok\n");
      }
      else
      {
         printf("setnc_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnc_3 ... failed\n");
   }

   return;
}

static void setnc_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "setnc %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnc_4 ... ok\n");
      }
      else
      {
         printf("setnc_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnc_4 ... failed\n");
   }

   return;
}

static void setne_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setne %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setne_1 ... ok\n");
      }
      else
      {
         printf("setne_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setne_1 ... failed\n");
   }

   return;
}

static void setne_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setne %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setne_2 ... ok\n");
      }
      else
      {
         printf("setne_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setne_2 ... failed\n");
   }

   return;
}

static void setne_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setne %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setne_3 ... ok\n");
      }
      else
      {
         printf("setne_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setne_3 ... failed\n");
   }

   return;
}

static void setne_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setne %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setne_4 ... ok\n");
      }
      else
      {
         printf("setne_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setne_4 ... failed\n");
   }

   return;
}

static void setng_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setng_1 ... ok\n");
      }
      else
      {
         printf("setng_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setng_1 ... failed\n");
   }

   return;
}

static void setng_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_2 ... ok\n");
      }
      else
      {
         printf("setng_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_2 ... failed\n");
   }

   return;
}

static void setng_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_3 ... ok\n");
      }
      else
      {
         printf("setng_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_3 ... failed\n");
   }

   return;
}

static void setng_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_4 ... ok\n");
      }
      else
      {
         printf("setng_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_4 ... failed\n");
   }

   return;
}

static void setng_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_5 ... ok\n");
      }
      else
      {
         printf("setng_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_5 ... failed\n");
   }

   return;
}

static void setng_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_6 ... ok\n");
      }
      else
      {
         printf("setng_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_6 ... failed\n");
   }

   return;
}

static void setng_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setng_7 ... ok\n");
      }
      else
      {
         printf("setng_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setng_7 ... failed\n");
   }

   return;
}

static void setng_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setng %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_8 ... ok\n");
      }
      else
      {
         printf("setng_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_8 ... failed\n");
   }

   return;
}

static void setng_9(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setng_9 ... ok\n");
      }
      else
      {
         printf("setng_9 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setng_9 ... failed\n");
   }

   return;
}

static void setng_10(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_10 ... ok\n");
      }
      else
      {
         printf("setng_10 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_10 ... failed\n");
   }

   return;
}

static void setng_11(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_11 ... ok\n");
      }
      else
      {
         printf("setng_11 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_11 ... failed\n");
   }

   return;
}

static void setng_12(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_12 ... ok\n");
      }
      else
      {
         printf("setng_12 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_12 ... failed\n");
   }

   return;
}

static void setng_13(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_13 ... ok\n");
      }
      else
      {
         printf("setng_13 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_13 ... failed\n");
   }

   return;
}

static void setng_14(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_14 ... ok\n");
      }
      else
      {
         printf("setng_14 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_14 ... failed\n");
   }

   return;
}

static void setng_15(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setng_15 ... ok\n");
      }
      else
      {
         printf("setng_15 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setng_15 ... failed\n");
   }

   return;
}

static void setng_16(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setng %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setng_16 ... ok\n");
      }
      else
      {
         printf("setng_16 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setng_16 ... failed\n");
   }

   return;
}

static void setnge_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnge_1 ... ok\n");
      }
      else
      {
         printf("setnge_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnge_1 ... failed\n");
   }

   return;
}

static void setnge_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setnge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnge_2 ... ok\n");
      }
      else
      {
         printf("setnge_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnge_2 ... failed\n");
   }

   return;
}

static void setnge_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setnge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnge_3 ... ok\n");
      }
      else
      {
         printf("setnge_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnge_3 ... failed\n");
   }

   return;
}

static void setnge_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setnge %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnge_4 ... ok\n");
      }
      else
      {
         printf("setnge_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnge_4 ... failed\n");
   }

   return;
}

static void setnge_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnge_5 ... ok\n");
      }
      else
      {
         printf("setnge_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnge_5 ... failed\n");
   }

   return;
}

static void setnge_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setnge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnge_6 ... ok\n");
      }
      else
      {
         printf("setnge_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnge_6 ... failed\n");
   }

   return;
}

static void setnge_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setnge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnge_7 ... ok\n");
      }
      else
      {
         printf("setnge_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnge_7 ... failed\n");
   }

   return;
}

static void setnge_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setnge %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnge_8 ... ok\n");
      }
      else
      {
         printf("setnge_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnge_8 ... failed\n");
   }

   return;
}

static void setnl_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnl_1 ... ok\n");
      }
      else
      {
         printf("setnl_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnl_1 ... failed\n");
   }

   return;
}

static void setnl_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setnl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnl_2 ... ok\n");
      }
      else
      {
         printf("setnl_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnl_2 ... failed\n");
   }

   return;
}

static void setnl_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setnl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnl_3 ... ok\n");
      }
      else
      {
         printf("setnl_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnl_3 ... failed\n");
   }

   return;
}

static void setnl_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setnl %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnl_4 ... ok\n");
      }
      else
      {
         printf("setnl_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnl_4 ... failed\n");
   }

   return;
}

static void setnl_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnl_5 ... ok\n");
      }
      else
      {
         printf("setnl_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnl_5 ... failed\n");
   }

   return;
}

static void setnl_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setnl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnl_6 ... ok\n");
      }
      else
      {
         printf("setnl_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnl_6 ... failed\n");
   }

   return;
}

static void setnl_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setnl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnl_7 ... ok\n");
      }
      else
      {
         printf("setnl_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnl_7 ... failed\n");
   }

   return;
}

static void setnl_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setnl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnl_8 ... ok\n");
      }
      else
      {
         printf("setnl_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnl_8 ... failed\n");
   }

   return;
}

static void setnle_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnle_1 ... ok\n");
      }
      else
      {
         printf("setnle_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnle_1 ... failed\n");
   }

   return;
}

static void setnle_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_2 ... ok\n");
      }
      else
      {
         printf("setnle_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_2 ... failed\n");
   }

   return;
}

static void setnle_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_3 ... ok\n");
      }
      else
      {
         printf("setnle_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_3 ... failed\n");
   }

   return;
}

static void setnle_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_4 ... ok\n");
      }
      else
      {
         printf("setnle_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_4 ... failed\n");
   }

   return;
}

static void setnle_5(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_5 ... ok\n");
      }
      else
      {
         printf("setnle_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_5 ... failed\n");
   }

   return;
}

static void setnle_6(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_6 ... ok\n");
      }
      else
      {
         printf("setnle_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_6 ... failed\n");
   }

   return;
}

static void setnle_7(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnle_7 ... ok\n");
      }
      else
      {
         printf("setnle_7 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnle_7 ... failed\n");
   }

   return;
}

static void setnle_8(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setnle %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_8 ... ok\n");
      }
      else
      {
         printf("setnle_8 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_8 ... failed\n");
   }

   return;
}

static void setnle_9(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnle_9 ... ok\n");
      }
      else
      {
         printf("setnle_9 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnle_9 ... failed\n");
   }

   return;
}

static void setnle_10(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_10 ... ok\n");
      }
      else
      {
         printf("setnle_10 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_10 ... failed\n");
   }

   return;
}

static void setnle_11(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_11 ... ok\n");
      }
      else
      {
         printf("setnle_11 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_11 ... failed\n");
   }

   return;
}

static void setnle_12(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000000c0, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_12 ... ok\n");
      }
      else
      {
         printf("setnle_12 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_12 ... failed\n");
   }

   return;
}

static void setnle_13(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_13 ... ok\n");
      }
      else
      {
         printf("setnle_13 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_13 ... failed\n");
   }

   return;
}

static void setnle_14(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000840, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_14 ... ok\n");
      }
      else
      {
         printf("setnle_14 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_14 ... failed\n");
   }

   return;
}

static void setnle_15(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x00000880, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnle_15 ... ok\n");
      }
      else
      {
         printf("setnle_15 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnle_15 ... failed\n");
   }

   return;
}

static void setnle_16(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73f, (%%esp)\n"
         "orl $0x000008c0, (%%esp)\n"
         "popfl\n"
         "setnle %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnle_16 ... ok\n");
      }
      else
      {
         printf("setnle_16 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnle_16 ... failed\n");
   }

   return;
}

static void setno_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setno %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setno_1 ... ok\n");
      }
      else
      {
         printf("setno_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setno_1 ... failed\n");
   }

   return;
}

static void setno_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setno %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setno_2 ... ok\n");
      }
      else
      {
         printf("setno_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setno_2 ... failed\n");
   }

   return;
}

static void setno_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setno %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setno_3 ... ok\n");
      }
      else
      {
         printf("setno_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setno_3 ... failed\n");
   }

   return;
}

static void setno_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "setno %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setno_4 ... ok\n");
      }
      else
      {
         printf("setno_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setno_4 ... failed\n");
   }

   return;
}

static void setnp_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnp %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnp_1 ... ok\n");
      }
      else
      {
         printf("setnp_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnp_1 ... failed\n");
   }

   return;
}

static void setnp_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000004, (%%esp)\n"
         "popfl\n"
         "setnp %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnp_2 ... ok\n");
      }
      else
      {
         printf("setnp_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnp_2 ... failed\n");
   }

   return;
}

static void setnp_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnp %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnp_3 ... ok\n");
      }
      else
      {
         printf("setnp_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnp_3 ... failed\n");
   }

   return;
}

static void setnp_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000004, (%%esp)\n"
         "popfl\n"
         "setnp %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnp_4 ... ok\n");
      }
      else
      {
         printf("setnp_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnp_4 ... failed\n");
   }

   return;
}

static void setns_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setns %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setns_1 ... ok\n");
      }
      else
      {
         printf("setns_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setns_1 ... failed\n");
   }

   return;
}

static void setns_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setns %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setns_2 ... ok\n");
      }
      else
      {
         printf("setns_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setns_2 ... failed\n");
   }

   return;
}

static void setns_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setns %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setns_3 ... ok\n");
      }
      else
      {
         printf("setns_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setns_3 ... failed\n");
   }

   return;
}

static void setns_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "setns %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setns_4 ... ok\n");
      }
      else
      {
         printf("setns_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setns_4 ... failed\n");
   }

   return;
}

static void setnz_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnz %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setnz_1 ... ok\n");
      }
      else
      {
         printf("setnz_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnz_1 ... failed\n");
   }

   return;
}

static void setnz_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setnz %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setnz_2 ... ok\n");
      }
      else
      {
         printf("setnz_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnz_2 ... failed\n");
   }

   return;
}

static void setnz_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setnz %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setnz_3 ... ok\n");
      }
      else
      {
         printf("setnz_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setnz_3 ... failed\n");
   }

   return;
}

static void setnz_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setnz %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setnz_4 ... ok\n");
      }
      else
      {
         printf("setnz_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setnz_4 ... failed\n");
   }

   return;
}

static void seto_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "seto %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("seto_1 ... ok\n");
      }
      else
      {
         printf("seto_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seto_1 ... failed\n");
   }

   return;
}

static void seto_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "seto %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("seto_2 ... ok\n");
      }
      else
      {
         printf("seto_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("seto_2 ... failed\n");
   }

   return;
}

static void seto_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "seto %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("seto_3 ... ok\n");
      }
      else
      {
         printf("seto_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("seto_3 ... failed\n");
   }

   return;
}

static void seto_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff7ff, (%%esp)\n"
         "orl $0x00000800, (%%esp)\n"
         "popfl\n"
         "seto %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("seto_4 ... ok\n");
      }
      else
      {
         printf("seto_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("seto_4 ... failed\n");
   }

   return;
}

static void setp_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setp %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setp_1 ... ok\n");
      }
      else
      {
         printf("setp_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setp_1 ... failed\n");
   }

   return;
}

static void setp_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000004, (%%esp)\n"
         "popfl\n"
         "setp %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setp_2 ... ok\n");
      }
      else
      {
         printf("setp_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setp_2 ... failed\n");
   }

   return;
}

static void setp_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setp %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setp_3 ... ok\n");
      }
      else
      {
         printf("setp_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setp_3 ... failed\n");
   }

   return;
}

static void setp_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffffffb, (%%esp)\n"
         "orl $0x00000004, (%%esp)\n"
         "popfl\n"
         "setp %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setp_4 ... ok\n");
      }
      else
      {
         printf("setp_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setp_4 ... failed\n");
   }

   return;
}

static void sets_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sets %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("sets_1 ... ok\n");
      }
      else
      {
         printf("sets_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("sets_1 ... failed\n");
   }

   return;
}

static void sets_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "sets %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("sets_2 ... ok\n");
      }
      else
      {
         printf("sets_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("sets_2 ... failed\n");
   }

   return;
}

static void sets_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "sets %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("sets_3 ... ok\n");
      }
      else
      {
         printf("sets_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("sets_3 ... failed\n");
   }

   return;
}

static void sets_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffff7f, (%%esp)\n"
         "orl $0x00000080, (%%esp)\n"
         "popfl\n"
         "sets %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("sets_4 ... ok\n");
      }
      else
      {
         printf("sets_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("sets_4 ... failed\n");
   }

   return;
}

static void setz_1(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setz %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0U )
      {
         printf("setz_1 ... ok\n");
      }
      else
      {
         printf("setz_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setz_1 ... failed\n");
   }

   return;
}

static void setz_2(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setz %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 1U )
      {
         printf("setz_2 ... ok\n");
      }
      else
      {
         printf("setz_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setz_2 ... failed\n");
   }

   return;
}

static void setz_3(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "setz %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0U )
      {
         printf("setz_3 ... ok\n");
      }
      else
      {
         printf("setz_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0U);
      }
   }
   else
   {
      printf("setz_3 ... failed\n");
   }

   return;
}

static void setz_4(void)
{
   reg8_t arg0 = { .ub = { 123U } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xffffffbf, (%%esp)\n"
         "orl $0x00000040, (%%esp)\n"
         "popfl\n"
         "setz %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 1U )
      {
         printf("setz_4 ... ok\n");
      }
      else
      {
         printf("setz_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 1U);
      }
   }
   else
   {
      printf("setz_4 ... failed\n");
   }

   return;
}

static void shlb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "shlb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x94U )
      {
         printf("shlb_1 ... ok\n");
      }
      else
      {
         printf("shlb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x94U);
      }
   }
   else
   {
      printf("shlb_1 ... failed\n");
   }

   return;
}

static void shlb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shlb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x94U )
      {
         printf("shlb_2 ... ok\n");
      }
      else
      {
         printf("shlb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x94U);
      }
   }
   else
   {
      printf("shlb_2 ... failed\n");
   }

   return;
}

static void shlb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "shlb $2, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x28U )
      {
         printf("shlb_3 ... ok\n");
      }
      else
      {
         printf("shlb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("shlb_3 ... failed\n");
   }

   return;
}

static void shlb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shlb $2, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x28U )
      {
         printf("shlb_4 ... ok\n");
      }
      else
      {
         printf("shlb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("shlb_4 ... failed\n");
   }

   return;
}

static void shlb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movb %2, %%al\n"
         "shlb %%cl, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0x28U )
      {
         printf("shlb_5 ... ok\n");
      }
      else
      {
         printf("shlb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("shlb_5 ... failed\n");
   }

   return;
}

static void shlb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "shlb %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0x28U )
      {
         printf("shlb_6 ... ok\n");
      }
      else
      {
         printf("shlb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x28U);
      }
   }
   else
   {
      printf("shlb_6 ... failed\n");
   }

   return;
}

static void shlw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "shlw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xe194 )
      {
         printf("shlw_1 ... ok\n");
      }
      else
      {
         printf("shlw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe194);
      }
   }
   else
   {
      printf("shlw_1 ... failed\n");
   }

   return;
}

static void shlw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shlw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0xe194 )
      {
         printf("shlw_2 ... ok\n");
      }
      else
      {
         printf("shlw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe194);
      }
   }
   else
   {
      printf("shlw_2 ... failed\n");
   }

   return;
}

static void shlw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "shlw $4, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("shlw_3 ... ok\n");
      }
      else
      {
         printf("shlw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("shlw_3 ... failed\n");
   }

   return;
}

static void shlw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shlw $4, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("shlw_4 ... ok\n");
      }
      else
      {
         printf("shlw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("shlw_4 ... failed\n");
   }

   return;
}

static void shlw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "shlw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("shlw_5 ... ok\n");
      }
      else
      {
         printf("shlw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("shlw_5 ... failed\n");
   }

   return;
}

static void shlw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "shlw %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0x0ca0 )
      {
         printf("shlw_6 ... ok\n");
      }
      else
      {
         printf("shlw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0ca0);
      }
   }
   else
   {
      printf("shlw_6 ... failed\n");
   }

   return;
}

static void shll_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "shll %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xfe01e194UL )
      {
         printf("shll_1 ... ok\n");
      }
      else
      {
         printf("shll_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e194UL);
      }
   }
   else
   {
      printf("shll_1 ... failed\n");
   }

   return;
}

static void shll_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shll %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0xfe01e194UL )
      {
         printf("shll_2 ... ok\n");
      }
      else
      {
         printf("shll_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e194UL);
      }
   }
   else
   {
      printf("shll_2 ... failed\n");
   }

   return;
}

static void shll_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "shll $8, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("shll_3 ... ok\n");
      }
      else
      {
         printf("shll_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("shll_3 ... failed\n");
   }

   return;
}

static void shll_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shll $8, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("shll_4 ... ok\n");
      }
      else
      {
         printf("shll_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("shll_4 ... failed\n");
   }

   return;
}

static void shll_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "shll %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("shll_5 ... ok\n");
      }
      else
      {
         printf("shll_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("shll_5 ... failed\n");
   }

   return;
}

static void shll_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "shll %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0x00f0ca00UL )
      {
         printf("shll_6 ... ok\n");
      }
      else
      {
         printf("shll_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0ca00UL);
      }
   }
   else
   {
      printf("shll_6 ... failed\n");
   }

   return;
}

static void shrb_1(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "shrb %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x65U )
      {
         printf("shrb_1 ... ok\n");
      }
      else
      {
         printf("shrb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x65U);
      }
   }
   else
   {
      printf("shrb_1 ... failed\n");
   }

   return;
}

static void shrb_2(void)
{
   reg8_t arg0 = { .ub = { 0xcaU } };
   reg8_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shrb %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ub[0] == 0x65U )
      {
         printf("shrb_2 ... ok\n");
      }
      else
      {
         printf("shrb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x65U);
      }
   }
   else
   {
      printf("shrb_2 ... failed\n");
   }

   return;
}

static void shrb_3(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "shrb $2, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x32U )
      {
         printf("shrb_3 ... ok\n");
      }
      else
      {
         printf("shrb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
      }
   }
   else
   {
      printf("shrb_3 ... failed\n");
   }

   return;
}

static void shrb_4(void)
{
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shrb $2, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x32U )
      {
         printf("shrb_4 ... ok\n");
      }
      else
      {
         printf("shrb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
      }
   }
   else
   {
      printf("shrb_4 ... failed\n");
   }

   return;
}

static void shrb_5(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movb %2, %%al\n"
         "shrb %%cl, %%al\n"
         "movb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "al"
      );

      if (result0.ub[0] == 0x32U )
      {
         printf("shrb_5 ... ok\n");
      }
      else
      {
         printf("shrb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
      }
   }
   else
   {
      printf("shrb_5 ... failed\n");
   }

   return;
}

static void shrb_6(void)
{
   reg8_t arg0 = { .ub = { 2U } };
   reg8_t arg1 = { .ub = { 0xcaU } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "shrb %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ub[0] == 0x32U )
      {
         printf("shrb_6 ... ok\n");
      }
      else
      {
         printf("shrb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x32U);
      }
   }
   else
   {
      printf("shrb_6 ... failed\n");
   }

   return;
}

static void shrw_1(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "shrw %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("shrw_1 ... ok\n");
      }
      else
      {
         printf("shrw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("shrw_1 ... failed\n");
   }

   return;
}

static void shrw_2(void)
{
   reg16_t arg0 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shrw %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("shrw_2 ... ok\n");
      }
      else
      {
         printf("shrw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("shrw_2 ... failed\n");
   }

   return;
}

static void shrw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "shrw $4, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0f0c )
      {
         printf("shrw_3 ... ok\n");
      }
      else
      {
         printf("shrw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0f0c);
      }
   }
   else
   {
      printf("shrw_3 ... failed\n");
   }

   return;
}

static void shrw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shrw $4, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x0f0c )
      {
         printf("shrw_4 ... ok\n");
      }
      else
      {
         printf("shrw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0f0c);
      }
   }
   else
   {
      printf("shrw_4 ... failed\n");
   }

   return;
}

static void shrw_5(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "shrw %%cl, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x0f0c )
      {
         printf("shrw_5 ... ok\n");
      }
      else
      {
         printf("shrw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0f0c);
      }
   }
   else
   {
      printf("shrw_5 ... failed\n");
   }

   return;
}

static void shrw_6(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "shrw %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.uw[0] == 0x0f0c )
      {
         printf("shrw_6 ... ok\n");
      }
      else
      {
         printf("shrw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0f0c);
      }
   }
   else
   {
      printf("shrw_6 ... failed\n");
   }

   return;
}

static void shrl_1(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "shrl %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("shrl_1 ... ok\n");
      }
      else
      {
         printf("shrl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("shrl_1 ... failed\n");
   }

   return;
}

static void shrl_2(void)
{
   reg32_t arg0 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shrl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (state[0])

      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("shrl_2 ... ok\n");
      }
      else
      {
         printf("shrl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("shrl_2 ... failed\n");
   }

   return;
}

static void shrl_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "shrl $8, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00ff00f0UL )
      {
         printf("shrl_3 ... ok\n");
      }
      else
      {
         printf("shrl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00ff00f0UL);
      }
   }
   else
   {
      printf("shrl_3 ... failed\n");
   }

   return;
}

static void shrl_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "shrl $8, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x00ff00f0UL )
      {
         printf("shrl_4 ... ok\n");
      }
      else
      {
         printf("shrl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00ff00f0UL);
      }
   }
   else
   {
      printf("shrl_4 ... failed\n");
   }

   return;
}

static void shrl_5(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "shrl %%cl, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x00ff00f0UL )
      {
         printf("shrl_5 ... ok\n");
      }
      else
      {
         printf("shrl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00ff00f0UL);
      }
   }
   else
   {
      printf("shrl_5 ... failed\n");
   }

   return;
}

static void shrl_6(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%cl\n"
         "shrl %%cl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "cl"
      );

      if (result0.ud[0] == 0x00ff00f0UL )
      {
         printf("shrl_6 ... ok\n");
      }
      else
      {
         printf("shrl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00ff00f0UL);
      }
   }
   else
   {
      printf("shrl_6 ... failed\n");
   }

   return;
}

static void shldw_1(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "shldw $1, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0xe195 )
      {
         printf("shldw_1 ... ok\n");
      }
      else
      {
         printf("shldw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe195);
      }
   }
   else
   {
      printf("shldw_1 ... failed\n");
   }

   return;
}

static void shldw_2(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "shldw $1, %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xe195 )
      {
         printf("shldw_2 ... ok\n");
      }
      else
      {
         printf("shldw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe195);
      }
   }
   else
   {
      printf("shldw_2 ... failed\n");
   }

   return;
}

static void shldw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "shldw $4, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("shldw_3 ... ok\n");
      }
      else
      {
         printf("shldw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("shldw_3 ... failed\n");
   }

   return;
}

static void shldw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "shldw $4, %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("shldw_4 ... ok\n");
      }
      else
      {
         printf("shldw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("shldw_4 ... failed\n");
   }

   return;
}

static void shldw_5(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "shldw %%cl, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax", "bx"
      );

      if (result0.uw[0] == 0xe195 )
      {
         printf("shldw_5 ... ok\n");
      }
      else
      {
         printf("shldw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe195);
      }
   }
   else
   {
      printf("shldw_5 ... failed\n");
   }

   return;
}

static void shldw_6(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "shldw %%cl, %%ax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0xe195 )
      {
         printf("shldw_6 ... ok\n");
      }
      else
      {
         printf("shldw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xe195);
      }
   }
   else
   {
      printf("shldw_6 ... failed\n");
   }

   return;
}

static void shldw_7(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "shldw %%cl, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax", "bx"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("shldw_7 ... ok\n");
      }
      else
      {
         printf("shldw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("shldw_7 ... failed\n");
   }

   return;
}

static void shldw_8(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "shldw %%cl, %%ax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x0caf )
      {
         printf("shldw_8 ... ok\n");
      }
      else
      {
         printf("shldw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x0caf);
      }
   }
   else
   {
      printf("shldw_8 ... failed\n");
   }

   return;
}

static void shldl_1(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "shldl $1, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0xfe01e195UL )
      {
         printf("shldl_1 ... ok\n");
      }
      else
      {
         printf("shldl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e195UL);
      }
   }
   else
   {
      printf("shldl_1 ... failed\n");
   }

   return;
}

static void shldl_2(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "shldl $1, %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xfe01e195UL )
      {
         printf("shldl_2 ... ok\n");
      }
      else
      {
         printf("shldl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e195UL);
      }
   }
   else
   {
      printf("shldl_2 ... failed\n");
   }

   return;
}

static void shldl_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "shldl $8, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("shldl_3 ... ok\n");
      }
      else
      {
         printf("shldl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("shldl_3 ... failed\n");
   }

   return;
}

static void shldl_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "shldl $8, %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("shldl_4 ... ok\n");
      }
      else
      {
         printf("shldl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("shldl_4 ... failed\n");
   }

   return;
}

static void shldl_5(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "shldl %%cl, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax", "ebx"
      );

      if (result0.ud[0] == 0xfe01e195UL )
      {
         printf("shldl_5 ... ok\n");
      }
      else
      {
         printf("shldl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e195UL);
      }
   }
   else
   {
      printf("shldl_5 ... failed\n");
   }

   return;
}

static void shldl_6(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "shldl %%cl, %%eax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0xfe01e195UL )
      {
         printf("shldl_6 ... ok\n");
      }
      else
      {
         printf("shldl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xfe01e195UL);
      }
   }
   else
   {
      printf("shldl_6 ... failed\n");
   }

   return;
}

static void shldl_7(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "shldl %%cl, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax", "ebx"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("shldl_7 ... ok\n");
      }
      else
      {
         printf("shldl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("shldl_7 ... failed\n");
   }

   return;
}

static void shldl_8(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "shldl %%cl, %%eax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x00f0caffUL )
      {
         printf("shldl_8 ... ok\n");
      }
      else
      {
         printf("shldl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x00f0caffUL);
      }
   }
   else
   {
      printf("shldl_8 ... failed\n");
   }

   return;
}

static void shrdw_1(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "shrdw $1, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("shrdw_1 ... ok\n");
      }
      else
      {
         printf("shrdw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("shrdw_1 ... failed\n");
   }

   return;
}

static void shrdw_2(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "shrdw $1, %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("shrdw_2 ... ok\n");
      }
      else
      {
         printf("shrdw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("shrdw_2 ... failed\n");
   }

   return;
}

static void shrdw_3(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "shrdw $4, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("shrdw_3 ... ok\n");
      }
      else
      {
         printf("shrdw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("shrdw_3 ... failed\n");
   }

   return;
}

static void shrdw_4(void)
{
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "shrdw $4, %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("shrdw_4 ... ok\n");
      }
      else
      {
         printf("shrdw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("shrdw_4 ... failed\n");
   }

   return;
}

static void shrdw_5(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "shrdw %%cl, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax", "bx"
      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("shrdw_5 ... ok\n");
      }
      else
      {
         printf("shrdw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("shrdw_5 ... failed\n");
   }

   return;
}

static void shrdw_6(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "shrdw %%cl, %%ax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0x7865 )
      {
         printf("shrdw_6 ... ok\n");
      }
      else
      {
         printf("shrdw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x7865);
      }
   }
   else
   {
      printf("shrdw_6 ... failed\n");
   }

   return;
}

static void shrdw_7(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "shrdw %%cl, %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax", "bx"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("shrdw_7 ... ok\n");
      }
      else
      {
         printf("shrdw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("shrdw_7 ... failed\n");
   }

   return;
}

static void shrdw_8(void)
{
   reg8_t arg0 = { .ub = { 4U } };
   reg16_t arg1 = { .uw = { 0xf0ca } };
   reg16_t arg2 = { .uw = { 0xf0ca } };
   reg16_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movw %2, %%ax\n"
         "shrdw %%cl, %%ax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "ax"
      );

      if (result0.uw[0] == 0xaf0c )
      {
         printf("shrdw_8 ... ok\n");
      }
      else
      {
         printf("shrdw_8 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0xaf0c);
      }
   }
   else
   {
      printf("shrdw_8 ... failed\n");
   }

   return;
}

static void shrdl_1(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "shrdl $1, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("shrdl_1 ... ok\n");
      }
      else
      {
         printf("shrdl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("shrdl_1 ... failed\n");
   }

   return;
}

static void shrdl_2(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "shrdl $1, %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("shrdl_2 ... ok\n");
      }
      else
      {
         printf("shrdl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("shrdl_2 ... failed\n");
   }

   return;
}

static void shrdl_3(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "shrdl $8, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("shrdl_3 ... ok\n");
      }
      else
      {
         printf("shrdl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("shrdl_3 ... failed\n");
   }

   return;
}

static void shrdl_4(void)
{
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "shrdl $8, %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (arg2), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("shrdl_4 ... ok\n");
      }
      else
      {
         printf("shrdl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("shrdl_4 ... failed\n");
   }

   return;
}

static void shrdl_5(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "shrdl %%cl, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax", "ebx"
      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("shrdl_5 ... ok\n");
      }
      else
      {
         printf("shrdl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("shrdl_5 ... failed\n");
   }

   return;
}

static void shrdl_6(void)
{
   reg8_t arg0 = { .ub = { 1U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "shrdl %%cl, %%eax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0x7f807865UL )
      {
         printf("shrdl_6 ... ok\n");
      }
      else
      {
         printf("shrdl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x7f807865UL);
      }
   }
   else
   {
      printf("shrdl_6 ... failed\n");
   }

   return;
}

static void shrdl_7(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "shrdl %%cl, %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax", "ebx"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("shrdl_7 ... ok\n");
      }
      else
      {
         printf("shrdl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("shrdl_7 ... failed\n");
   }

   return;
}

static void shrdl_8(void)
{
   reg8_t arg0 = { .ub = { 8U } };
   reg32_t arg1 = { .ud = { 0xff00f0caUL } };
   reg32_t arg2 = { .ud = { 0xff00f0caUL } };
   reg32_t result0 = arg2;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %1, %%cl\n"
         "movl %2, %%eax\n"
         "shrdl %%cl, %%eax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (arg2), "m" (state[0])
         : "cl", "eax"
      );

      if (result0.ud[0] == 0xcaff00f0UL )
      {
         printf("shrdl_8 ... ok\n");
      }
      else
      {
         printf("shrdl_8 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0xcaff00f0UL);
      }
   }
   else
   {
      printf("shrdl_8 ... failed\n");
   }

   return;
}

static void stc_1(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "stc\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("stc_1 ... ok\n");
      }
      else
      {
         printf("stc_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result0.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("stc_1 ... failed\n");
   }

   return;
}

static void stc_2(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffffe, (%%esp)\n"
         "orl $0x00000001, (%%esp)\n"
         "popfl\n"
         "stc\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000001UL) == 0x00000001UL )
      {
         printf("stc_2 ... ok\n");
      }
      else
      {
         printf("stc_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000001UL, result0.ud[0] & 0x00000001UL, 0x00000001UL);
      }
   }
   else
   {
      printf("stc_2 ... failed\n");
   }

   return;
}

static void std_1(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffbff, (%%esp)\n"
         "orl $0x00000000, (%%esp)\n"
         "popfl\n"
         "std\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000400UL) == 0x00000400UL )
      {
         printf("std_1 ... ok\n");
      }
      else
      {
         printf("std_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000400UL, result0.ud[0] & 0x00000400UL, 0x00000400UL);
      }
   }
   else
   {
      printf("std_1 ... failed\n");
   }

   return;
}

static void std_2(void)
{
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %1\n"
         "pushfl\n"
         "andl $0xfffffbff, (%%esp)\n"
         "orl $0x00000400, (%%esp)\n"
         "popfl\n"
         "std\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %1\n"
         "cld\n"
         : "=m" (result0)
         : "m" (state[0])

      );

      if ((result0.ud[0] & 0x00000400UL) == 0x00000400UL )
      {
         printf("std_2 ... ok\n");
      }
      else
      {
         printf("std_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x00000400UL, result0.ud[0] & 0x00000400UL, 0x00000400UL);
      }
   }
   else
   {
      printf("std_2 ... failed\n");
   }

   return;
}

static void subb_1(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "subb $12, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 22U )
      {
         printf("subb_1 ... ok\n");
      }
      else
      {
         printf("subb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("subb_1 ... failed\n");
   }

   return;
}

static void subb_2(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "subb $12, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 22U )
      {
         printf("subb_2 ... ok\n");
      }
      else
      {
         printf("subb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("subb_2 ... failed\n");
   }

   return;
}

static void subb_3(void)
{
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "subb $12, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 22U )
      {
         printf("subb_3 ... ok\n");
      }
      else
      {
         printf("subb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("subb_3 ... failed\n");
   }

   return;
}

static void subb_4(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "subb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 22U )
      {
         printf("subb_4 ... ok\n");
      }
      else
      {
         printf("subb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("subb_4 ... failed\n");
   }

   return;
}

static void subb_5(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "subb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 22U )
      {
         printf("subb_5 ... ok\n");
      }
      else
      {
         printf("subb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("subb_5 ... failed\n");
   }

   return;
}

static void subb_6(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "subb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 22U )
      {
         printf("subb_6 ... ok\n");
      }
      else
      {
         printf("subb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 22U);
      }
   }
   else
   {
      printf("subb_6 ... failed\n");
   }

   return;
}

static void subw_1(void)
{
   reg16_t arg1 = { .uw = { 3456 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "subw $12, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 3444 )
      {
         printf("subw_1 ... ok\n");
      }
      else
      {
         printf("subw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 3444);
      }
   }
   else
   {
      printf("subw_1 ... failed\n");
   }

   return;
}

static void subw_2(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "subw $1234, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("subw_2 ... ok\n");
      }
      else
      {
         printf("subw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("subw_2 ... failed\n");
   }

   return;
}

static void subw_3(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "subw $1234, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("subw_3 ... ok\n");
      }
      else
      {
         printf("subw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("subw_3 ... failed\n");
   }

   return;
}

static void subw_4(void)
{
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "subw $1234, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 4444 )
      {
         printf("subw_4 ... ok\n");
      }
      else
      {
         printf("subw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("subw_4 ... failed\n");
   }

   return;
}

static void subw_5(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "subw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("subw_5 ... ok\n");
      }
      else
      {
         printf("subw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("subw_5 ... failed\n");
   }

   return;
}

static void subw_6(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "subw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("subw_6 ... ok\n");
      }
      else
      {
         printf("subw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("subw_6 ... failed\n");
   }

   return;
}

static void subw_7(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "subw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 4444 )
      {
         printf("subw_7 ... ok\n");
      }
      else
      {
         printf("subw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 4444);
      }
   }
   else
   {
      printf("subw_7 ... failed\n");
   }

   return;
}

static void subl_1(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "subl $12, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654309UL )
      {
         printf("subl_1 ... ok\n");
      }
      else
      {
         printf("subl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654309UL);
      }
   }
   else
   {
      printf("subl_1 ... failed\n");
   }

   return;
}

static void subl_2(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "subl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("subl_2 ... ok\n");
      }
      else
      {
         printf("subl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("subl_2 ... failed\n");
   }

   return;
}

static void subl_3(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "subl $12345678, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("subl_3 ... ok\n");
      }
      else
      {
         printf("subl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("subl_3 ... failed\n");
   }

   return;
}

static void subl_4(void)
{
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "subl $12345678, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("subl_4 ... ok\n");
      }
      else
      {
         printf("subl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("subl_4 ... failed\n");
   }

   return;
}

static void subl_5(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "subl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("subl_5 ... ok\n");
      }
      else
      {
         printf("subl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("subl_5 ... failed\n");
   }

   return;
}

static void subl_6(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "subl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("subl_6 ... ok\n");
      }
      else
      {
         printf("subl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("subl_6 ... failed\n");
   }

   return;
}

static void subl_7(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "subl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 75308643UL )
      {
         printf("subl_7 ... ok\n");
      }
      else
      {
         printf("subl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 75308643UL);
      }
   }
   else
   {
      printf("subl_7 ... failed\n");
   }

   return;
}

static void testb_1(void)
{
   reg8_t arg1 = { .ub = { 0x1aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testb $0x1a, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testb_1 ... ok\n");
      }
      else
      {
         printf("testb_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testb_1 ... failed\n");
   }

   return;
}

static void testb_2(void)
{
   reg8_t arg1 = { .ub = { 0x5aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testb $0x5a, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testb_2 ... ok\n");
      }
      else
      {
         printf("testb_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testb_2 ... failed\n");
   }

   return;
}

static void testb_3(void)
{
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testb $0x1a, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testb_3 ... ok\n");
      }
      else
      {
         printf("testb_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testb_3 ... failed\n");
   }

   return;
}

static void testb_4(void)
{
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testb $0xa1, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testb_4 ... ok\n");
      }
      else
      {
         printf("testb_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testb_4 ... failed\n");
   }

   return;
}

static void testb_5(void)
{
   reg8_t arg1 = { .ub = { 0xa5U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testb $0xa5, %%al\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testb_5 ... ok\n");
      }
      else
      {
         printf("testb_5 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testb_5 ... failed\n");
   }

   return;
}

static void testb_6(void)
{
   reg8_t arg1 = { .ub = { 0x1aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testb $0x1a, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testb_6 ... ok\n");
      }
      else
      {
         printf("testb_6 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testb_6 ... failed\n");
   }

   return;
}

static void testb_7(void)
{
   reg8_t arg1 = { .ub = { 0x5aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testb $0x5a, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testb_7 ... ok\n");
      }
      else
      {
         printf("testb_7 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testb_7 ... failed\n");
   }

   return;
}

static void testb_8(void)
{
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testb $0x1a, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testb_8 ... ok\n");
      }
      else
      {
         printf("testb_8 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testb_8 ... failed\n");
   }

   return;
}

static void testb_9(void)
{
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testb $0xa1, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testb_9 ... ok\n");
      }
      else
      {
         printf("testb_9 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testb_9 ... failed\n");
   }

   return;
}

static void testb_10(void)
{
   reg8_t arg1 = { .ub = { 0xa5U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testb $0xa5, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testb_10 ... ok\n");
      }
      else
      {
         printf("testb_10 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testb_10 ... failed\n");
   }

   return;
}

static void testb_11(void)
{
   reg8_t arg1 = { .ub = { 0x1aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testb $0x1a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testb_11 ... ok\n");
      }
      else
      {
         printf("testb_11 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testb_11 ... failed\n");
   }

   return;
}

static void testb_12(void)
{
   reg8_t arg1 = { .ub = { 0x5aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testb $0x5a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testb_12 ... ok\n");
      }
      else
      {
         printf("testb_12 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testb_12 ... failed\n");
   }

   return;
}

static void testb_13(void)
{
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testb $0x1a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testb_13 ... ok\n");
      }
      else
      {
         printf("testb_13 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testb_13 ... failed\n");
   }

   return;
}

static void testb_14(void)
{
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testb $0xa1, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testb_14 ... ok\n");
      }
      else
      {
         printf("testb_14 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testb_14 ... failed\n");
   }

   return;
}

static void testb_15(void)
{
   reg8_t arg1 = { .ub = { 0xa5U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testb $0xa5, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testb_15 ... ok\n");
      }
      else
      {
         printf("testb_15 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testb_15 ... failed\n");
   }

   return;
}

static void testb_16(void)
{
   reg8_t arg0 = { .ub = { 0x1aU } };
   reg8_t arg1 = { .ub = { 0x1aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testb_16 ... ok\n");
      }
      else
      {
         printf("testb_16 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testb_16 ... failed\n");
   }

   return;
}

static void testb_17(void)
{
   reg8_t arg0 = { .ub = { 0x5aU } };
   reg8_t arg1 = { .ub = { 0x5aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testb_17 ... ok\n");
      }
      else
      {
         printf("testb_17 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testb_17 ... failed\n");
   }

   return;
}

static void testb_18(void)
{
   reg8_t arg0 = { .ub = { 0x1aU } };
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testb_18 ... ok\n");
      }
      else
      {
         printf("testb_18 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testb_18 ... failed\n");
   }

   return;
}

static void testb_19(void)
{
   reg8_t arg0 = { .ub = { 0xa1U } };
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testb_19 ... ok\n");
      }
      else
      {
         printf("testb_19 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testb_19 ... failed\n");
   }

   return;
}

static void testb_20(void)
{
   reg8_t arg0 = { .ub = { 0xa5U } };
   reg8_t arg1 = { .ub = { 0xa5U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testb %%al, %%bl\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testb_20 ... ok\n");
      }
      else
      {
         printf("testb_20 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testb_20 ... failed\n");
   }

   return;
}

static void testb_21(void)
{
   reg8_t arg0 = { .ub = { 0x1aU } };
   reg8_t arg1 = { .ub = { 0x1aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testb_21 ... ok\n");
      }
      else
      {
         printf("testb_21 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testb_21 ... failed\n");
   }

   return;
}

static void testb_22(void)
{
   reg8_t arg0 = { .ub = { 0x5aU } };
   reg8_t arg1 = { .ub = { 0x5aU } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testb_22 ... ok\n");
      }
      else
      {
         printf("testb_22 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testb_22 ... failed\n");
   }

   return;
}

static void testb_23(void)
{
   reg8_t arg0 = { .ub = { 0x1aU } };
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testb_23 ... ok\n");
      }
      else
      {
         printf("testb_23 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testb_23 ... failed\n");
   }

   return;
}

static void testb_24(void)
{
   reg8_t arg0 = { .ub = { 0xa1U } };
   reg8_t arg1 = { .ub = { 0xa1U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testb_24 ... ok\n");
      }
      else
      {
         printf("testb_24 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testb_24 ... failed\n");
   }

   return;
}

static void testb_25(void)
{
   reg8_t arg0 = { .ub = { 0xa5U } };
   reg8_t arg1 = { .ub = { 0xa5U } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testb %%al, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testb_25 ... ok\n");
      }
      else
      {
         printf("testb_25 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testb_25 ... failed\n");
   }

   return;
}

static void testw_1(void)
{
   reg16_t arg1 = { .uw = { 0x1a1a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testw $0x1a1a, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testw_1 ... ok\n");
      }
      else
      {
         printf("testw_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testw_1 ... failed\n");
   }

   return;
}

static void testw_2(void)
{
   reg16_t arg1 = { .uw = { 0x5a5a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testw $0x5a5a, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testw_2 ... ok\n");
      }
      else
      {
         printf("testw_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testw_2 ... failed\n");
   }

   return;
}

static void testw_3(void)
{
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testw $0x1a1a, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testw_3 ... ok\n");
      }
      else
      {
         printf("testw_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testw_3 ... failed\n");
   }

   return;
}

static void testw_4(void)
{
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testw $0xa1a1, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testw_4 ... ok\n");
      }
      else
      {
         printf("testw_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testw_4 ... failed\n");
   }

   return;
}

static void testw_5(void)
{
   reg16_t arg1 = { .uw = { 0xa5a5 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testw $0xa5a5, %%ax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testw_5 ... ok\n");
      }
      else
      {
         printf("testw_5 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testw_5 ... failed\n");
   }

   return;
}

static void testw_6(void)
{
   reg16_t arg1 = { .uw = { 0x1a1a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testw $0x1a1a, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testw_6 ... ok\n");
      }
      else
      {
         printf("testw_6 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testw_6 ... failed\n");
   }

   return;
}

static void testw_7(void)
{
   reg16_t arg1 = { .uw = { 0x5a5a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testw $0x5a5a, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testw_7 ... ok\n");
      }
      else
      {
         printf("testw_7 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testw_7 ... failed\n");
   }

   return;
}

static void testw_8(void)
{
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testw $0x1a1a, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testw_8 ... ok\n");
      }
      else
      {
         printf("testw_8 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testw_8 ... failed\n");
   }

   return;
}

static void testw_9(void)
{
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testw $0xa1a1, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testw_9 ... ok\n");
      }
      else
      {
         printf("testw_9 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testw_9 ... failed\n");
   }

   return;
}

static void testw_10(void)
{
   reg16_t arg1 = { .uw = { 0xa5a5 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testw $0xa5a5, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testw_10 ... ok\n");
      }
      else
      {
         printf("testw_10 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testw_10 ... failed\n");
   }

   return;
}

static void testw_11(void)
{
   reg16_t arg1 = { .uw = { 0x1a1a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testw $0x1a1a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testw_11 ... ok\n");
      }
      else
      {
         printf("testw_11 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testw_11 ... failed\n");
   }

   return;
}

static void testw_12(void)
{
   reg16_t arg1 = { .uw = { 0x5a5a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testw $0x5a5a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testw_12 ... ok\n");
      }
      else
      {
         printf("testw_12 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testw_12 ... failed\n");
   }

   return;
}

static void testw_13(void)
{
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testw $0x1a1a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testw_13 ... ok\n");
      }
      else
      {
         printf("testw_13 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testw_13 ... failed\n");
   }

   return;
}

static void testw_14(void)
{
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testw $0xa1a1, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testw_14 ... ok\n");
      }
      else
      {
         printf("testw_14 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testw_14 ... failed\n");
   }

   return;
}

static void testw_15(void)
{
   reg16_t arg1 = { .uw = { 0xa5a5 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testw $0xa5a5, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testw_15 ... ok\n");
      }
      else
      {
         printf("testw_15 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testw_15 ... failed\n");
   }

   return;
}

static void testw_16(void)
{
   reg16_t arg0 = { .uw = { 0x1a1a } };
   reg16_t arg1 = { .uw = { 0x1a1a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testw_16 ... ok\n");
      }
      else
      {
         printf("testw_16 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testw_16 ... failed\n");
   }

   return;
}

static void testw_17(void)
{
   reg16_t arg0 = { .uw = { 0x5a5a } };
   reg16_t arg1 = { .uw = { 0x5a5a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testw_17 ... ok\n");
      }
      else
      {
         printf("testw_17 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testw_17 ... failed\n");
   }

   return;
}

static void testw_18(void)
{
   reg16_t arg0 = { .uw = { 0x1a1a } };
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testw_18 ... ok\n");
      }
      else
      {
         printf("testw_18 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testw_18 ... failed\n");
   }

   return;
}

static void testw_19(void)
{
   reg16_t arg0 = { .uw = { 0xa1a1 } };
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testw_19 ... ok\n");
      }
      else
      {
         printf("testw_19 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testw_19 ... failed\n");
   }

   return;
}

static void testw_20(void)
{
   reg16_t arg0 = { .uw = { 0xa5a5 } };
   reg16_t arg1 = { .uw = { 0xa5a5 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %%bx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testw_20 ... ok\n");
      }
      else
      {
         printf("testw_20 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testw_20 ... failed\n");
   }

   return;
}

static void testw_21(void)
{
   reg16_t arg0 = { .uw = { 0x1a1a } };
   reg16_t arg1 = { .uw = { 0x1a1a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testw_21 ... ok\n");
      }
      else
      {
         printf("testw_21 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testw_21 ... failed\n");
   }

   return;
}

static void testw_22(void)
{
   reg16_t arg0 = { .uw = { 0x5a5a } };
   reg16_t arg1 = { .uw = { 0x5a5a } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testw_22 ... ok\n");
      }
      else
      {
         printf("testw_22 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testw_22 ... failed\n");
   }

   return;
}

static void testw_23(void)
{
   reg16_t arg0 = { .uw = { 0x1a1a } };
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testw_23 ... ok\n");
      }
      else
      {
         printf("testw_23 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testw_23 ... failed\n");
   }

   return;
}

static void testw_24(void)
{
   reg16_t arg0 = { .uw = { 0xa1a1 } };
   reg16_t arg1 = { .uw = { 0xa1a1 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testw_24 ... ok\n");
      }
      else
      {
         printf("testw_24 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testw_24 ... failed\n");
   }

   return;
}

static void testw_25(void)
{
   reg16_t arg0 = { .uw = { 0xa5a5 } };
   reg16_t arg1 = { .uw = { 0xa5a5 } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testw %%ax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testw_25 ... ok\n");
      }
      else
      {
         printf("testw_25 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testw_25 ... failed\n");
   }

   return;
}

static void testl_1(void)
{
   reg32_t arg1 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testl $0x1a1a1a1a, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testl_1 ... ok\n");
      }
      else
      {
         printf("testl_1 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testl_1 ... failed\n");
   }

   return;
}

static void testl_2(void)
{
   reg32_t arg1 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testl $0x5a5a5a5a, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testl_2 ... ok\n");
      }
      else
      {
         printf("testl_2 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testl_2 ... failed\n");
   }

   return;
}

static void testl_3(void)
{
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testl $0x1a1a1a1a, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testl_3 ... ok\n");
      }
      else
      {
         printf("testl_3 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testl_3 ... failed\n");
   }

   return;
}

static void testl_4(void)
{
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testl $0xa1a1a1a1, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testl_4 ... ok\n");
      }
      else
      {
         printf("testl_4 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testl_4 ... failed\n");
   }

   return;
}

static void testl_5(void)
{
   reg32_t arg1 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testl $0xa5a5a5a5, %%eax\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testl_5 ... ok\n");
      }
      else
      {
         printf("testl_5 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testl_5 ... failed\n");
   }

   return;
}

static void testl_6(void)
{
   reg32_t arg1 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testl $0x1a1a1a1a, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testl_6 ... ok\n");
      }
      else
      {
         printf("testl_6 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testl_6 ... failed\n");
   }

   return;
}

static void testl_7(void)
{
   reg32_t arg1 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testl $0x5a5a5a5a, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testl_7 ... ok\n");
      }
      else
      {
         printf("testl_7 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testl_7 ... failed\n");
   }

   return;
}

static void testl_8(void)
{
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testl $0x1a1a1a1a, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testl_8 ... ok\n");
      }
      else
      {
         printf("testl_8 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testl_8 ... failed\n");
   }

   return;
}

static void testl_9(void)
{
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testl $0xa1a1a1a1, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testl_9 ... ok\n");
      }
      else
      {
         printf("testl_9 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testl_9 ... failed\n");
   }

   return;
}

static void testl_10(void)
{
   reg32_t arg1 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testl $0xa5a5a5a5, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testl_10 ... ok\n");
      }
      else
      {
         printf("testl_10 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testl_10 ... failed\n");
   }

   return;
}

static void testl_11(void)
{
   reg32_t arg1 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testl $0x1a1a1a1a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testl_11 ... ok\n");
      }
      else
      {
         printf("testl_11 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testl_11 ... failed\n");
   }

   return;
}

static void testl_12(void)
{
   reg32_t arg1 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testl $0x5a5a5a5a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testl_12 ... ok\n");
      }
      else
      {
         printf("testl_12 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testl_12 ... failed\n");
   }

   return;
}

static void testl_13(void)
{
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testl $0x1a1a1a1a, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testl_13 ... ok\n");
      }
      else
      {
         printf("testl_13 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testl_13 ... failed\n");
   }

   return;
}

static void testl_14(void)
{
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testl $0xa1a1a1a1, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testl_14 ... ok\n");
      }
      else
      {
         printf("testl_14 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testl_14 ... failed\n");
   }

   return;
}

static void testl_15(void)
{
   reg32_t arg1 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testl $0xa5a5a5a5, %1\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testl_15 ... ok\n");
      }
      else
      {
         printf("testl_15 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testl_15 ... failed\n");
   }

   return;
}

static void testl_16(void)
{
   reg32_t arg0 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t arg1 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testl_16 ... ok\n");
      }
      else
      {
         printf("testl_16 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testl_16 ... failed\n");
   }

   return;
}

static void testl_17(void)
{
   reg32_t arg0 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t arg1 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testl_17 ... ok\n");
      }
      else
      {
         printf("testl_17 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testl_17 ... failed\n");
   }

   return;
}

static void testl_18(void)
{
   reg32_t arg0 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testl_18 ... ok\n");
      }
      else
      {
         printf("testl_18 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testl_18 ... failed\n");
   }

   return;
}

static void testl_19(void)
{
   reg32_t arg0 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testl_19 ... ok\n");
      }
      else
      {
         printf("testl_19 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testl_19 ... failed\n");
   }

   return;
}

static void testl_20(void)
{
   reg32_t arg0 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t arg1 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %%ebx\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testl_20 ... ok\n");
      }
      else
      {
         printf("testl_20 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testl_20 ... failed\n");
   }

   return;
}

static void testl_21(void)
{
   reg32_t arg0 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t arg1 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c5, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000000UL )
      {
         printf("testl_21 ... ok\n");
      }
      else
      {
         printf("testl_21 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000000UL);
      }
   }
   else
   {
      printf("testl_21 ... failed\n");
   }

   return;
}

static void testl_22(void)
{
   reg32_t arg0 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t arg1 = { .ud = { 0x5a5a5a5aUL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x000008c1, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000004UL )
      {
         printf("testl_22 ... ok\n");
      }
      else
      {
         printf("testl_22 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000004UL);
      }
   }
   else
   {
      printf("testl_22 ... failed\n");
   }

   return;
}

static void testl_23(void)
{
   reg32_t arg0 = { .ud = { 0x1a1a1a1aUL } };
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000881, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000044UL )
      {
         printf("testl_23 ... ok\n");
      }
      else
      {
         printf("testl_23 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000044UL);
      }
   }
   else
   {
      printf("testl_23 ... failed\n");
   }

   return;
}

static void testl_24(void)
{
   reg32_t arg0 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t arg1 = { .ud = { 0xa1a1a1a1UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000845, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000080UL )
      {
         printf("testl_24 ... ok\n");
      }
      else
      {
         printf("testl_24 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000080UL);
      }
   }
   else
   {
      printf("testl_24 ... failed\n");
   }

   return;
}

static void testl_25(void)
{
   reg32_t arg0 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t arg1 = { .ud = { 0xa5a5a5a5UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "pushfl\n"
         "andl $0xfffff73a, (%%esp)\n"
         "orl $0x00000841, (%%esp)\n"
         "popfl\n"
         "testl %%eax, %2\n"
         "pushfl\n"
         "popl %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if ((result0.ud[0] & 0x000008c5UL) == 0x00000084UL )
      {
         printf("testl_25 ... ok\n");
      }
      else
      {
         printf("testl_25 ... not ok\n");
         printf("  eflags & 0x%lx = 0x%lx (expected 0x%lx)\n", 0x000008c5UL, result0.ud[0] & 0x000008c5UL, 0x00000084UL);
      }
   }
   else
   {
      printf("testl_25 ... failed\n");
   }

   return;
}

static void xaddw_1(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   reg16_t result1 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "xaddw %%ax, %1\n"
         "movw %%ax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 5678 &&
          result1.uw[0] == 6912 )
      {
         printf("xaddw_1 ... ok\n");
      }
      else
      {
         printf("xaddw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 5678);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 6912);
      }
   }
   else
   {
      printf("xaddw_1 ... failed\n");
   }

   return;
}

static void xaddl_1(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "xaddl %%eax, %1\n"
         "movl %%eax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654321UL &&
          result1.ud[0] == 99999999UL )
      {
         printf("xaddl_1 ... ok\n");
      }
      else
      {
         printf("xaddl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654321UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 99999999UL);
      }
   }
   else
   {
      printf("xaddl_1 ... failed\n");
   }

   return;
}

static void xchgb_1(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   reg8_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%al\n"
         "movb %3, %%bl\n"
         "xchgb %%al, %%bl\n"
         "movb %%al, %0\n"
         "movb %%bl, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 34U &&
          result1.ub[0] == 12U )
      {
         printf("xchgb_1 ... ok\n");
      }
      else
      {
         printf("xchgb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 34U);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 12U);
      }
   }
   else
   {
      printf("xchgb_1 ... failed\n");
   }

   return;
}

static void xchgb_2(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0;
   reg8_t result1 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %2, %%al\n"
         "xchgb %%al, %1\n"
         "movb %%al, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 34U &&
          result1.ub[0] == 12U )
      {
         printf("xchgb_2 ... ok\n");
      }
      else
      {
         printf("xchgb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 34U);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 12U);
      }
   }
   else
   {
      printf("xchgb_2 ... failed\n");
   }

   return;
}

static void xchgb_3(void)
{
   reg8_t arg0 = { .ub = { 12U } };
   reg8_t arg1 = { .ub = { 34U } };
   reg8_t result0 = arg0;
   reg8_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movb %3, %%bl\n"
         "xchgb %0, %%bl\n"
         "movb %%bl, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 34U &&
          result1.ub[0] == 12U )
      {
         printf("xchgb_3 ... ok\n");
      }
      else
      {
         printf("xchgb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 34U);
         printf("  result1.ub[0] = %u (expected %u)\n", result1.ub[0], 12U);
      }
   }
   else
   {
      printf("xchgb_3 ... failed\n");
   }

   return;
}

static void xchgw_1(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%bx\n"
         "xchgw %%ax, %%bx\n"
         "movw %%ax, %0\n"
         "movw %%bx, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 5678 &&
          result1.uw[0] == 1234 )
      {
         printf("xchgw_1 ... ok\n");
      }
      else
      {
         printf("xchgw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 5678);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 1234);
      }
   }
   else
   {
      printf("xchgw_1 ... failed\n");
   }

   return;
}

static void xchgw_2(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%bx\n"
         "movw %3, %%ax\n"
         "xchgw %%bx, %%ax\n"
         "movw %%bx, %0\n"
         "movw %%ax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx", "ax"
      );

      if (result0.uw[0] == 5678 &&
          result1.uw[0] == 1234 )
      {
         printf("xchgw_2 ... ok\n");
      }
      else
      {
         printf("xchgw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 5678);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 1234);
      }
   }
   else
   {
      printf("xchgw_2 ... failed\n");
   }

   return;
}

static void xchgw_3(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "movw %3, %%cx\n"
         "xchgw %%ax, %%cx\n"
         "movw %%ax, %0\n"
         "movw %%cx, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "cx"
      );

      if (result0.uw[0] == 5678 &&
          result1.uw[0] == 1234 )
      {
         printf("xchgw_3 ... ok\n");
      }
      else
      {
         printf("xchgw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 5678);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 1234);
      }
   }
   else
   {
      printf("xchgw_3 ... failed\n");
   }

   return;
}

static void xchgw_4(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0;
   reg16_t result1 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %2, %%ax\n"
         "xchgw %%ax, %1\n"
         "movw %%ax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 5678 &&
          result1.uw[0] == 1234 )
      {
         printf("xchgw_4 ... ok\n");
      }
      else
      {
         printf("xchgw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 5678);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 1234);
      }
   }
   else
   {
      printf("xchgw_4 ... failed\n");
   }

   return;
}

static void xchgw_5(void)
{
   reg16_t arg0 = { .uw = { 1234 } };
   reg16_t arg1 = { .uw = { 5678 } };
   reg16_t result0 = arg0;
   reg16_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movw %3, %%bx\n"
         "xchgw %0, %%bx\n"
         "movw %%bx, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 5678 &&
          result1.uw[0] == 1234 )
      {
         printf("xchgw_5 ... ok\n");
      }
      else
      {
         printf("xchgw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 5678);
         printf("  result1.uw[0] = %u (expected %u)\n", result1.uw[0], 1234);
      }
   }
   else
   {
      printf("xchgw_5 ... failed\n");
   }

   return;
}

static void xchgl_1(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "movl %3, %%ebx\n"
         "xchgl %%eax, %%ebx\n"
         "movl %%eax, %0\n"
         "movl %%ebx, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 87654321UL &&
          result1.ud[0] == 12345678UL )
      {
         printf("xchgl_1 ... ok\n");
      }
      else
      {
         printf("xchgl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654321UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("xchgl_1 ... failed\n");
   }

   return;
}

static void xchgl_2(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%ebx\n"
         "movl %3, %%eax\n"
         "xchgl %%ebx, %%eax\n"
         "movl %%ebx, %0\n"
         "movl %%eax, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx", "eax"
      );

      if (result0.ud[0] == 87654321UL &&
          result1.ud[0] == 12345678UL )
      {
         printf("xchgl_2 ... ok\n");
      }
      else
      {
         printf("xchgl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654321UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("xchgl_2 ... failed\n");
   }

   return;
}

static void xchgl_3(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%ebx\n"
         "movl %3, %%ecx\n"
         "xchgl %%ebx, %%ecx\n"
         "movl %%ebx, %0\n"
         "movl %%ecx, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx", "ecx"
      );

      if (result0.ud[0] == 87654321UL &&
          result1.ud[0] == 12345678UL )
      {
         printf("xchgl_3 ... ok\n");
      }
      else
      {
         printf("xchgl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654321UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("xchgl_3 ... failed\n");
   }

   return;
}

static void xchgl_4(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0;
   reg32_t result1 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %2, %%eax\n"
         "xchgl %%eax, %1\n"
         "movl %%eax, %0\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 87654321UL &&
          result1.ud[0] == 12345678UL )
      {
         printf("xchgl_4 ... ok\n");
      }
      else
      {
         printf("xchgl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654321UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("xchgl_4 ... failed\n");
   }

   return;
}

static void xchgl_5(void)
{
   reg32_t arg0 = { .ud = { 12345678UL } };
   reg32_t arg1 = { .ud = { 87654321UL } };
   reg32_t result0 = arg0;
   reg32_t result1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %4\n"
         "movl %3, %%ebx\n"
         "xchgl %0, %%ebx\n"
         "movl %%ebx, %1\n"
         "frstor %4\n"
         "cld\n"
         : "=m" (result0), "=m" (result1)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 87654321UL &&
          result1.ud[0] == 12345678UL )
      {
         printf("xchgl_5 ... ok\n");
      }
      else
      {
         printf("xchgl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 87654321UL);
         printf("  result1.ud[0] = %lu (expected %lu)\n", result1.ud[0], 12345678UL);
      }
   }
   else
   {
      printf("xchgl_5 ... failed\n");
   }

   return;
}

static void xorb_1(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%al\n"
         "xorb $0x34, %%al\n"
         "movb %%al, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x62U )
      {
         printf("xorb_1 ... ok\n");
      }
      else
      {
         printf("xorb_1 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x62U);
      }
   }
   else
   {
      printf("xorb_1 ... failed\n");
   }

   return;
}

static void xorb_2(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movb %1, %%bl\n"
         "xorb $0x34, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 0x62U )
      {
         printf("xorb_2 ... ok\n");
      }
      else
      {
         printf("xorb_2 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x62U);
      }
   }
   else
   {
      printf("xorb_2 ... failed\n");
   }

   return;
}

static void xorb_3(void)
{
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "xorb $0x34, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ub[0] == 0x62U )
      {
         printf("xorb_3 ... ok\n");
      }
      else
      {
         printf("xorb_3 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x62U);
      }
   }
   else
   {
      printf("xorb_3 ... failed\n");
   }

   return;
}

static void xorb_4(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "movb %2, %%bl\n"
         "xorb %%al, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al", "bl"
      );

      if (result0.ub[0] == 0x62U )
      {
         printf("xorb_4 ... ok\n");
      }
      else
      {
         printf("xorb_4 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x62U);
      }
   }
   else
   {
      printf("xorb_4 ... failed\n");
   }

   return;
}

static void xorb_5(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %1, %%al\n"
         "xorb %%al, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "al"
      );

      if (result0.ub[0] == 0x62U )
      {
         printf("xorb_5 ... ok\n");
      }
      else
      {
         printf("xorb_5 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x62U);
      }
   }
   else
   {
      printf("xorb_5 ... failed\n");
   }

   return;
}

static void xorb_6(void)
{
   reg8_t arg0 = { .ub = { 0x34U } };
   reg8_t arg1 = { .ub = { 0x56U } };
   reg8_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movb %2, %%bl\n"
         "xorb %1, %%bl\n"
         "movb %%bl, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bl"
      );

      if (result0.ub[0] == 0x62U )
      {
         printf("xorb_6 ... ok\n");
      }
      else
      {
         printf("xorb_6 ... not ok\n");
         printf("  result0.ub[0] = %u (expected %u)\n", result0.ub[0], 0x62U);
      }
   }
   else
   {
      printf("xorb_6 ... failed\n");
   }

   return;
}

static void xorw_1(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "xorw $0x31, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x1205 )
      {
         printf("xorw_1 ... ok\n");
      }
      else
      {
         printf("xorw_1 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x1205);
      }
   }
   else
   {
      printf("xorw_1 ... failed\n");
   }

   return;
}

static void xorw_2(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%ax\n"
         "xorw $0x4231, %%ax\n"
         "movw %%ax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5005 )
      {
         printf("xorw_2 ... ok\n");
      }
      else
      {
         printf("xorw_2 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5005);
      }
   }
   else
   {
      printf("xorw_2 ... failed\n");
   }

   return;
}

static void xorw_3(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movw %1, %%bx\n"
         "xorw $0x4231, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 0x5005 )
      {
         printf("xorw_3 ... ok\n");
      }
      else
      {
         printf("xorw_3 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5005);
      }
   }
   else
   {
      printf("xorw_3 ... failed\n");
   }

   return;
}

static void xorw_4(void)
{
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "xorw $0x4231, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.uw[0] == 0x5005 )
      {
         printf("xorw_4 ... ok\n");
      }
      else
      {
         printf("xorw_4 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5005);
      }
   }
   else
   {
      printf("xorw_4 ... failed\n");
   }

   return;
}

static void xorw_5(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "movw %2, %%bx\n"
         "xorw %%ax, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax", "bx"
      );

      if (result0.uw[0] == 0x5005 )
      {
         printf("xorw_5 ... ok\n");
      }
      else
      {
         printf("xorw_5 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5005);
      }
   }
   else
   {
      printf("xorw_5 ... failed\n");
   }

   return;
}

static void xorw_6(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %1, %%ax\n"
         "xorw %%ax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ax"
      );

      if (result0.uw[0] == 0x5005 )
      {
         printf("xorw_6 ... ok\n");
      }
      else
      {
         printf("xorw_6 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5005);
      }
   }
   else
   {
      printf("xorw_6 ... failed\n");
   }

   return;
}

static void xorw_7(void)
{
   reg16_t arg0 = { .uw = { 0x4231 } };
   reg16_t arg1 = { .uw = { 0x1234 } };
   reg16_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movw %2, %%bx\n"
         "xorw %1, %%bx\n"
         "movw %%bx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "bx"
      );

      if (result0.uw[0] == 0x5005 )
      {
         printf("xorw_7 ... ok\n");
      }
      else
      {
         printf("xorw_7 ... not ok\n");
         printf("  result0.uw[0] = %u (expected %u)\n", result0.uw[0], 0x5005);
      }
   }
   else
   {
      printf("xorw_7 ... failed\n");
   }

   return;
}

static void xorl_1(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "xorl $0x31, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x12345649UL )
      {
         printf("xorl_1 ... ok\n");
      }
      else
      {
         printf("xorl_1 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x12345649UL);
      }
   }
   else
   {
      printf("xorl_1 ... failed\n");
   }

   return;
}

static void xorl_2(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%eax\n"
         "xorl $0x86427531, %%eax\n"
         "movl %%eax, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x94762349UL )
      {
         printf("xorl_2 ... ok\n");
      }
      else
      {
         printf("xorl_2 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94762349UL);
      }
   }
   else
   {
      printf("xorl_2 ... failed\n");
   }

   return;
}

static void xorl_3(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "movl %1, %%ebx\n"
         "xorl $0x86427531, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 0x94762349UL )
      {
         printf("xorl_3 ... ok\n");
      }
      else
      {
         printf("xorl_3 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94762349UL);
      }
   }
   else
   {
      printf("xorl_3 ... failed\n");
   }

   return;
}

static void xorl_4(void)
{
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %2\n"
         "xorl $0x86427531, %0\n"
         "frstor %2\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg1), "m" (state[0])

      );

      if (result0.ud[0] == 0x94762349UL )
      {
         printf("xorl_4 ... ok\n");
      }
      else
      {
         printf("xorl_4 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94762349UL);
      }
   }
   else
   {
      printf("xorl_4 ... failed\n");
   }

   return;
}

static void xorl_5(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "movl %2, %%ebx\n"
         "xorl %%eax, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax", "ebx"
      );

      if (result0.ud[0] == 0x94762349UL )
      {
         printf("xorl_5 ... ok\n");
      }
      else
      {
         printf("xorl_5 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94762349UL);
      }
   }
   else
   {
      printf("xorl_5 ... failed\n");
   }

   return;
}

static void xorl_6(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0 = arg1;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %1, %%eax\n"
         "xorl %%eax, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "eax"
      );

      if (result0.ud[0] == 0x94762349UL )
      {
         printf("xorl_6 ... ok\n");
      }
      else
      {
         printf("xorl_6 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94762349UL);
      }
   }
   else
   {
      printf("xorl_6 ... failed\n");
   }

   return;
}

static void xorl_7(void)
{
   reg32_t arg0 = { .ud = { 0x86427531UL } };
   reg32_t arg1 = { .ud = { 0x12345678UL } };
   reg32_t result0;
   char state[108];

   if (sigsetjmp(catchpoint, 1) == 0)
   {
      asm(
         "fsave %3\n"
         "movl %2, %%ebx\n"
         "xorl %1, %%ebx\n"
         "movl %%ebx, %0\n"
         "frstor %3\n"
         "cld\n"
         : "=m" (result0)
         : "m" (arg0), "m" (arg1), "m" (state[0])
         : "ebx"
      );

      if (result0.ud[0] == 0x94762349UL )
      {
         printf("xorl_7 ... ok\n");
      }
      else
      {
         printf("xorl_7 ... not ok\n");
         printf("  result0.ud[0] = %lu (expected %lu)\n", result0.ud[0], 0x94762349UL);
      }
   }
   else
   {
      printf("xorl_7 ... failed\n");
   }

   return;
}

int main(int argc, char **argv)
{
   signal(SIGILL, handle_sigill);

   adcb_1();
   adcb_2();
   adcb_3();
   adcb_4();
   adcb_5();
   adcb_6();
   adcb_7();
   adcb_8();
   adcb_9();
   adcb_10();
   adcb_11();
   adcb_12();
   adcw_1();
   adcw_2();
   adcw_3();
   adcw_4();
   adcw_5();
   adcw_6();
   adcw_7();
   adcw_8();
   adcw_9();
   adcw_10();
   adcw_11();
   adcw_12();
   adcw_13();
   adcw_14();
   adcl_1();
   adcl_2();
   adcl_3();
   adcl_4();
   adcl_5();
   adcl_6();
   adcl_7();
   adcl_8();
   adcl_9();
   adcl_10();
   adcl_11();
   adcl_12();
   adcl_13();
   adcl_14();
   addb_1();
   addb_2();
   addb_3();
   addb_4();
   addb_5();
   addb_6();
   addw_1();
   addw_2();
   addw_3();
   addw_4();
   addw_5();
   addw_6();
   addw_7();
   addl_1();
   addl_2();
   addl_3();
   addl_4();
   addl_5();
   addl_6();
   addl_7();
   andb_1();
   andb_2();
   andb_3();
   andb_4();
   andb_5();
   andb_6();
   andw_1();
   andw_2();
   andw_3();
   andw_4();
   andw_5();
   andw_6();
   andw_7();
   andl_1();
   andl_2();
   andl_3();
   andl_4();
   andl_5();
   andl_6();
   andl_7();
   bsfw_1();
   bsfw_2();
   bsfl_1();
   bsfl_2();
   bsrw_1();
   bsrw_2();
   bsrl_1();
   bsrl_2();
   bswapl_1();
   btw_1();
   btw_2();
   btw_3();
   btw_4();
   btw_5();
   btw_6();
   btw_7();
   btw_8();
   btl_1();
   btl_2();
   btl_3();
   btl_4();
   btl_5();
   btl_6();
   btl_7();
   btl_8();
   btcw_1();
   btcw_2();
   btcw_3();
   btcw_4();
   btcw_5();
   btcw_6();
   btcw_7();
   btcw_8();
   btcl_1();
   btcl_2();
   btcl_3();
   btcl_4();
   btcl_5();
   btcl_6();
   btcl_7();
   btcl_8();
   btrw_1();
   btrw_2();
   btrw_3();
   btrw_4();
   btrw_5();
   btrw_6();
   btrw_7();
   btrw_8();
   btrl_1();
   btrl_2();
   btrl_3();
   btrl_4();
   btrl_5();
   btrl_6();
   btrl_7();
   btrl_8();
   btsw_1();
   btsw_2();
   btsw_3();
   btsw_4();
   btsw_5();
   btsw_6();
   btsw_7();
   btsw_8();
   btsl_1();
   btsl_2();
   btsl_3();
   btsl_4();
   btsl_5();
   btsl_6();
   btsl_7();
   btsl_8();
   cbw_1();
   cbw_2();
   cdq_1();
   cdq_2();
   clc_1();
   clc_2();
   cld_1();
   cld_2();
   cmc_1();
   cmc_2();
   cmpb_1();
   cmpb_2();
   cmpb_3();
   cmpb_4();
   cmpb_5();
   cmpb_6();
   cmpb_7();
   cmpb_8();
   cmpb_9();
   cmpb_10();
   cmpb_11();
   cmpb_12();
   cmpb_13();
   cmpb_14();
   cmpb_15();
   cmpb_16();
   cmpb_17();
   cmpb_18();
   cmpb_19();
   cmpb_20();
   cmpb_21();
   cmpb_22();
   cmpb_23();
   cmpb_24();
   cmpb_25();
   cmpb_26();
   cmpb_27();
   cmpb_28();
   cmpb_29();
   cmpb_30();
   cmpb_31();
   cmpb_32();
   cmpb_33();
   cmpb_34();
   cmpb_35();
   cmpb_36();
   cmpb_37();
   cmpb_38();
   cmpb_39();
   cmpb_40();
   cmpb_41();
   cmpb_42();
   cmpb_43();
   cmpb_44();
   cmpb_45();
   cmpb_46();
   cmpb_47();
   cmpb_48();
   cmpb_49();
   cmpb_50();
   cmpb_51();
   cmpb_52();
   cmpb_53();
   cmpb_54();
   cmpb_55();
   cmpb_56();
   cmpb_57();
   cmpb_58();
   cmpb_59();
   cmpb_60();
   cmpw_1();
   cmpw_2();
   cmpw_3();
   cmpw_4();
   cmpw_5();
   cmpw_6();
   cmpw_7();
   cmpw_8();
   cmpw_9();
   cmpw_10();
   cmpw_11();
   cmpw_12();
   cmpw_13();
   cmpw_14();
   cmpw_15();
   cmpw_16();
   cmpw_17();
   cmpw_18();
   cmpw_19();
   cmpw_20();
   cmpw_21();
   cmpw_22();
   cmpw_23();
   cmpw_24();
   cmpw_25();
   cmpw_26();
   cmpw_27();
   cmpw_28();
   cmpw_29();
   cmpw_30();
   cmpw_31();
   cmpw_32();
   cmpw_33();
   cmpw_34();
   cmpw_35();
   cmpw_36();
   cmpw_37();
   cmpw_38();
   cmpw_39();
   cmpw_40();
   cmpw_41();
   cmpw_42();
   cmpw_43();
   cmpw_44();
   cmpw_45();
   cmpw_46();
   cmpw_47();
   cmpw_48();
   cmpw_49();
   cmpw_50();
   cmpw_51();
   cmpw_52();
   cmpw_53();
   cmpw_54();
   cmpw_55();
   cmpw_56();
   cmpw_57();
   cmpw_58();
   cmpw_59();
   cmpw_60();
   cmpw_61();
   cmpw_62();
   cmpw_63();
   cmpw_64();
   cmpw_65();
   cmpw_66();
   cmpw_67();
   cmpw_68();
   cmpw_69();
   cmpw_70();
   cmpw_71();
   cmpw_72();
   cmpw_73();
   cmpw_74();
   cmpw_75();
   cmpw_76();
   cmpw_77();
   cmpw_78();
   cmpw_79();
   cmpw_80();
   cmpl_1();
   cmpl_2();
   cmpl_3();
   cmpl_4();
   cmpl_5();
   cmpl_6();
   cmpl_7();
   cmpl_8();
   cmpl_9();
   cmpl_10();
   cmpl_11();
   cmpl_12();
   cmpl_13();
   cmpl_14();
   cmpl_15();
   cmpl_16();
   cmpl_17();
   cmpl_18();
   cmpl_19();
   cmpl_20();
   cmpl_21();
   cmpl_22();
   cmpl_23();
   cmpl_24();
   cmpl_25();
   cmpl_26();
   cmpl_27();
   cmpl_28();
   cmpl_29();
   cmpl_30();
   cmpl_31();
   cmpl_32();
   cmpl_33();
   cmpl_34();
   cmpl_35();
   cmpl_36();
   cmpl_37();
   cmpl_38();
   cmpl_39();
   cmpl_40();
   cmpl_41();
   cmpl_42();
   cmpl_43();
   cmpl_44();
   cmpl_45();
   cmpl_46();
   cmpl_47();
   cmpl_48();
   cmpl_49();
   cmpl_50();
   cmpl_51();
   cmpl_52();
   cmpl_53();
   cmpl_54();
   cmpl_55();
   cmpl_56();
   cmpl_57();
   cmpl_58();
   cmpl_59();
   cmpl_60();
   cmpl_61();
   cmpl_62();
   cmpl_63();
   cmpl_64();
   cmpl_65();
   cmpl_66();
   cmpl_67();
   cmpl_68();
   cmpl_69();
   cmpl_70();
   cmpl_71();
   cmpl_72();
   cmpl_73();
   cmpl_74();
   cmpl_75();
   cmpl_76();
   cmpl_77();
   cmpl_78();
   cmpl_79();
   cmpl_80();
   cmpxchgb_1();
   cmpxchgb_2();
   cmpxchgb_3();
   cmpxchgb_4();
   cmpxchgw_1();
   cmpxchgw_2();
   cmpxchgw_3();
   cmpxchgw_4();
   cmpxchgl_1();
   cmpxchgl_2();
   cmpxchgl_3();
   cmpxchgl_4();
   cwd_1();
   cwd_2();
   cwde_1();
   cwde_2();
   decb_1();
   decb_2();
   decw_1();
   decw_2();
   decl_1();
   decl_2();
   divb_1();
   divb_2();
   divw_1();
   divw_2();
   divl_1();
   divl_2();
   idivb_1();
   idivb_2();
   idivw_1();
   idivw_2();
   idivl_1();
   idivl_2();
   imulb_1();
   imulb_2();
   imulw_1();
   imulw_2();
   imull_1();
   imull_2();
   imulw_3();
   imulw_4();
   imulw_5();
   imulw_6();
   imulw_7();
   imulw_8();
   imulw_9();
   imulw_10();
   imull_3();
   imull_4();
   imull_5();
   imull_6();
   imull_7();
   imull_8();
   imull_9();
   imull_10();
   incb_1();
   incb_2();
   incw_1();
   incw_2();
   incl_1();
   incl_2();
   lahf_1();
   lahf_2();
   movb_1();
   movb_2();
   movb_3();
   movb_4();
   movb_5();
   movw_1();
   movw_2();
   movw_3();
   movw_4();
   movw_5();
   movl_1();
   movl_2();
   movl_3();
   movl_4();
   movl_5();
   movsbw_1();
   movsbw_2();
   movsbl_1();
   movsbl_2();
   movswl_1();
   movswl_2();
   movzbw_1();
   movzbw_2();
   movzbl_1();
   movzbl_2();
   movzwl_1();
   movzwl_2();
   mulb_1();
   mulb_2();
   mulw_1();
   mulw_2();
   mull_1();
   mull_2();
   negb_1();
   negb_2();
   negw_1();
   negw_2();
   negl_1();
   negl_2();
   notb_1();
   notb_2();
   notw_1();
   notw_2();
   notl_1();
   notl_2();
   orb_1();
   orb_2();
   orb_3();
   orb_4();
   orb_5();
   orb_6();
   orw_1();
   orw_2();
   orw_3();
   orw_4();
   orw_5();
   orw_6();
   orw_7();
   orl_1();
   orl_2();
   orl_3();
   orl_4();
   orl_5();
   orl_6();
   orl_7();
   rclb_1();
   rclb_2();
   rclb_3();
   rclb_4();
   rclb_5();
   rclb_6();
   rclw_1();
   rclw_2();
   rclw_3();
   rclw_4();
   rclw_5();
   rclw_6();
   rcll_1();
   rcll_2();
   rcll_3();
   rcll_4();
   rcll_5();
   rcll_6();
   rcrb_1();
   rcrb_2();
   rcrb_3();
   rcrb_4();
   rcrb_5();
   rcrb_6();
   rcrw_1();
   rcrw_2();
   rcrw_3();
   rcrw_4();
   rcrw_5();
   rcrw_6();
   rcrl_1();
   rcrl_2();
   rcrl_3();
   rcrl_4();
   rcrl_5();
   rcrl_6();
   rolb_1();
   rolb_2();
   rolb_3();
   rolb_4();
   rolb_5();
   rolb_6();
   rolw_1();
   rolw_2();
   rolw_3();
   rolw_4();
   rolw_5();
   rolw_6();
   roll_1();
   roll_2();
   roll_3();
   roll_4();
   roll_5();
   roll_6();
   rorb_1();
   rorb_2();
   rorb_3();
   rorb_4();
   rorb_5();
   rorb_6();
   rorw_1();
   rorw_2();
   rorw_3();
   rorw_4();
   rorw_5();
   rorw_6();
   rorl_1();
   rorl_2();
   rorl_3();
   rorl_4();
   rorl_5();
   rorl_6();
   sahf_1();
   sahf_2();
   salb_1();
   salb_2();
   salb_3();
   salb_4();
   salb_5();
   salb_6();
   salw_1();
   salw_2();
   salw_3();
   salw_4();
   salw_5();
   salw_6();
   sall_1();
   sall_2();
   sall_3();
   sall_4();
   sall_5();
   sall_6();
   sarb_1();
   sarb_2();
   sarb_3();
   sarb_4();
   sarb_5();
   sarb_6();
   sarw_1();
   sarw_2();
   sarw_3();
   sarw_4();
   sarw_5();
   sarw_6();
   sarl_1();
   sarl_2();
   sarl_3();
   sarl_4();
   sarl_5();
   sarl_6();
   sbbb_1();
   sbbb_2();
   sbbb_3();
   sbbb_4();
   sbbb_5();
   sbbb_6();
   sbbb_7();
   sbbb_8();
   sbbb_9();
   sbbb_10();
   sbbb_11();
   sbbb_12();
   sbbw_1();
   sbbw_2();
   sbbw_3();
   sbbw_4();
   sbbw_5();
   sbbw_6();
   sbbw_7();
   sbbw_8();
   sbbw_9();
   sbbw_10();
   sbbw_11();
   sbbw_12();
   sbbw_13();
   sbbw_14();
   sbbl_1();
   sbbl_2();
   sbbl_3();
   sbbl_4();
   sbbl_5();
   sbbl_6();
   sbbl_7();
   sbbl_8();
   sbbl_9();
   sbbl_10();
   sbbl_11();
   sbbl_12();
   sbbl_13();
   sbbl_14();
   seta_1();
   seta_2();
   seta_3();
   seta_4();
   seta_5();
   seta_6();
   seta_7();
   seta_8();
   setae_1();
   setae_2();
   setae_3();
   setae_4();
   setb_1();
   setb_2();
   setb_3();
   setb_4();
   setbe_1();
   setbe_2();
   setbe_3();
   setbe_4();
   setbe_5();
   setbe_6();
   setbe_7();
   setbe_8();
   setc_1();
   setc_2();
   setc_3();
   setc_4();
   sete_1();
   sete_2();
   sete_3();
   sete_4();
   setg_1();
   setg_2();
   setg_3();
   setg_4();
   setg_5();
   setg_6();
   setg_7();
   setg_8();
   setg_9();
   setg_10();
   setg_11();
   setg_12();
   setg_13();
   setg_14();
   setg_15();
   setg_16();
   setge_1();
   setge_2();
   setge_3();
   setge_4();
   setge_5();
   setge_6();
   setge_7();
   setge_8();
   setl_1();
   setl_2();
   setl_3();
   setl_4();
   setl_5();
   setl_6();
   setl_7();
   setl_8();
   setle_1();
   setle_2();
   setle_3();
   setle_4();
   setle_5();
   setle_6();
   setle_7();
   setle_8();
   setle_9();
   setle_10();
   setle_11();
   setle_12();
   setle_13();
   setle_14();
   setle_15();
   setle_16();
   setna_1();
   setna_2();
   setna_3();
   setna_4();
   setna_5();
   setna_6();
   setna_7();
   setna_8();
   setnae_1();
   setnae_2();
   setnae_3();
   setnae_4();
   setnb_1();
   setnb_2();
   setnb_3();
   setnb_4();
   setnbe_1();
   setnbe_2();
   setnbe_3();
   setnbe_4();
   setnbe_5();
   setnbe_6();
   setnbe_7();
   setnbe_8();
   setnc_1();
   setnc_2();
   setnc_3();
   setnc_4();
   setne_1();
   setne_2();
   setne_3();
   setne_4();
   setng_1();
   setng_2();
   setng_3();
   setng_4();
   setng_5();
   setng_6();
   setng_7();
   setng_8();
   setng_9();
   setng_10();
   setng_11();
   setng_12();
   setng_13();
   setng_14();
   setng_15();
   setng_16();
   setnge_1();
   setnge_2();
   setnge_3();
   setnge_4();
   setnge_5();
   setnge_6();
   setnge_7();
   setnge_8();
   setnl_1();
   setnl_2();
   setnl_3();
   setnl_4();
   setnl_5();
   setnl_6();
   setnl_7();
   setnl_8();
   setnle_1();
   setnle_2();
   setnle_3();
   setnle_4();
   setnle_5();
   setnle_6();
   setnle_7();
   setnle_8();
   setnle_9();
   setnle_10();
   setnle_11();
   setnle_12();
   setnle_13();
   setnle_14();
   setnle_15();
   setnle_16();
   setno_1();
   setno_2();
   setno_3();
   setno_4();
   setnp_1();
   setnp_2();
   setnp_3();
   setnp_4();
   setns_1();
   setns_2();
   setns_3();
   setns_4();
   setnz_1();
   setnz_2();
   setnz_3();
   setnz_4();
   seto_1();
   seto_2();
   seto_3();
   seto_4();
   setp_1();
   setp_2();
   setp_3();
   setp_4();
   sets_1();
   sets_2();
   sets_3();
   sets_4();
   setz_1();
   setz_2();
   setz_3();
   setz_4();
   shlb_1();
   shlb_2();
   shlb_3();
   shlb_4();
   shlb_5();
   shlb_6();
   shlw_1();
   shlw_2();
   shlw_3();
   shlw_4();
   shlw_5();
   shlw_6();
   shll_1();
   shll_2();
   shll_3();
   shll_4();
   shll_5();
   shll_6();
   shrb_1();
   shrb_2();
   shrb_3();
   shrb_4();
   shrb_5();
   shrb_6();
   shrw_1();
   shrw_2();
   shrw_3();
   shrw_4();
   shrw_5();
   shrw_6();
   shrl_1();
   shrl_2();
   shrl_3();
   shrl_4();
   shrl_5();
   shrl_6();
   shldw_1();
   shldw_2();
   shldw_3();
   shldw_4();
   shldw_5();
   shldw_6();
   shldw_7();
   shldw_8();
   shldl_1();
   shldl_2();
   shldl_3();
   shldl_4();
   shldl_5();
   shldl_6();
   shldl_7();
   shldl_8();
   shrdw_1();
   shrdw_2();
   shrdw_3();
   shrdw_4();
   shrdw_5();
   shrdw_6();
   shrdw_7();
   shrdw_8();
   shrdl_1();
   shrdl_2();
   shrdl_3();
   shrdl_4();
   shrdl_5();
   shrdl_6();
   shrdl_7();
   shrdl_8();
   stc_1();
   stc_2();
   std_1();
   std_2();
   subb_1();
   subb_2();
   subb_3();
   subb_4();
   subb_5();
   subb_6();
   subw_1();
   subw_2();
   subw_3();
   subw_4();
   subw_5();
   subw_6();
   subw_7();
   subl_1();
   subl_2();
   subl_3();
   subl_4();
   subl_5();
   subl_6();
   subl_7();
   testb_1();
   testb_2();
   testb_3();
   testb_4();
   testb_5();
   testb_6();
   testb_7();
   testb_8();
   testb_9();
   testb_10();
   testb_11();
   testb_12();
   testb_13();
   testb_14();
   testb_15();
   testb_16();
   testb_17();
   testb_18();
   testb_19();
   testb_20();
   testb_21();
   testb_22();
   testb_23();
   testb_24();
   testb_25();
   testw_1();
   testw_2();
   testw_3();
   testw_4();
   testw_5();
   testw_6();
   testw_7();
   testw_8();
   testw_9();
   testw_10();
   testw_11();
   testw_12();
   testw_13();
   testw_14();
   testw_15();
   testw_16();
   testw_17();
   testw_18();
   testw_19();
   testw_20();
   testw_21();
   testw_22();
   testw_23();
   testw_24();
   testw_25();
   testl_1();
   testl_2();
   testl_3();
   testl_4();
   testl_5();
   testl_6();
   testl_7();
   testl_8();
   testl_9();
   testl_10();
   testl_11();
   testl_12();
   testl_13();
   testl_14();
   testl_15();
   testl_16();
   testl_17();
   testl_18();
   testl_19();
   testl_20();
   testl_21();
   testl_22();
   testl_23();
   testl_24();
   testl_25();
   xaddw_1();
   xaddl_1();
   xchgb_1();
   xchgb_2();
   xchgb_3();
   xchgw_1();
   xchgw_2();
   xchgw_3();
   xchgw_4();
   xchgw_5();
   xchgl_1();
   xchgl_2();
   xchgl_3();
   xchgl_4();
   xchgl_5();
   xorb_1();
   xorb_2();
   xorb_3();
   xorb_4();
   xorb_5();
   xorb_6();
   xorw_1();
   xorw_2();
   xorw_3();
   xorw_4();
   xorw_5();
   xorw_6();
   xorw_7();
   xorl_1();
   xorl_2();
   xorl_3();
   xorl_4();
   xorl_5();
   xorl_6();
   xorl_7();

   exit(0);
}
