#include <stdio.h>

#define branch(mask,_v1,_v2)                           \
  ({                                                   \
        unsigned char taken;                           \
        unsigned b1 = _v1, b2 = _v2;                   \
        asm volatile("     or   %[b1],%[b2]\n\t"       \
                     "     brc  " #mask " ,1f\n\t"     \
                     "     mvi  %[taken],0\n\t"        \
                     "     j    0f\n\t"                \
                     "1:   mvi  %[taken],1\n\t"        \
                     "0:   bcr  0,0 /* nop */\n\t"     \
             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
             : [b2] "d"(b2)                            \
             : "cc");                                  \
        taken;                                         \
   })

void
or_1(void)
{
   int wrong, ok, v1, v2;

   printf("Test #1  result = 0\n");

   v1 = v2 = 0;
   wrong = ok = 0;
   if (branch(0,  v1, v2)) ++wrong; else ++ok;
   if (branch(1,  v1, v2)) ++wrong; else ++ok;
   if (branch(2,  v1, v2)) ++wrong; else ++ok;
   if (branch(3,  v1, v2)) ++wrong; else ++ok;
   if (branch(4,  v1, v2)) ++wrong; else ++ok;
   if (branch(5,  v1, v2)) ++wrong; else ++ok;
   if (branch(6,  v1, v2)) ++wrong; else ++ok;
   if (branch(7,  v1, v2)) ++wrong; else ++ok;
   if (branch(8,  v1, v2)) ++ok; else ++wrong;
   if (branch(9,  v1, v2)) ++ok; else ++wrong;
   if (branch(10, v1, v2)) ++ok; else ++wrong;
   if (branch(11, v1, v2)) ++ok; else ++wrong;
   if (branch(12, v1, v2)) ++ok; else ++wrong;
   if (branch(13, v1, v2)) ++ok; else ++wrong;
   if (branch(14, v1, v2)) ++ok; else ++wrong;
   if (branch(15, v1, v2)) ++ok; else ++wrong;

   if (wrong != 0 || ok != 16)
      printf("FAILED\n");
   else
      printf("OK\n");
}

void
or_2(void)
{
   int wrong, ok, v1, v2;

   printf("Test #2  result = 0xffffffff\n");
   v1 = 0;
   v2 = ~0;
   wrong = ok = 0;
   if (branch(0,  v1, v2)) ++wrong; else ++ok;
   if (branch(1,  v1, v2)) ++wrong; else ++ok;
   if (branch(2,  v1, v2)) ++wrong; else ++ok;
   if (branch(3,  v1, v2)) ++wrong; else ++ok;
   if (branch(4,  v1, v2)) ++ok; else ++wrong;
   if (branch(5,  v1, v2)) ++ok; else ++wrong;
   if (branch(6,  v1, v2)) ++ok; else ++wrong;
   if (branch(7,  v1, v2)) ++ok; else ++wrong;
   if (branch(8,  v1, v2)) ++wrong; else ++ok;
   if (branch(9,  v1, v2)) ++wrong; else ++ok;
   if (branch(10, v1, v2)) ++wrong; else ++ok;
   if (branch(11, v1, v2)) ++wrong; else ++ok;
   if (branch(12, v1, v2)) ++ok; else ++wrong;
   if (branch(13, v1, v2)) ++ok; else ++wrong;
   if (branch(14, v1, v2)) ++ok; else ++wrong;
   if (branch(15, v1, v2)) ++ok; else ++wrong;

   if (wrong != 0 || ok != 16)
      printf("FAILED\n");
   else
      printf("OK\n");
}

int main()
{
   or_1();
   or_2();
   return 0;
}
