Blame SOURCES/0001-bayer-update-ORC-files.patch

677f7d
From 0a2f24ede92501089104b77c79026d030a190c6d Mon Sep 17 00:00:00 2001
677f7d
From: Wim Taymans <wtaymans@redhat.com>
677f7d
Date: Mon, 22 Jun 2015 13:29:25 +0200
677f7d
Subject: [PATCH] bayer: update ORC files
677f7d
677f7d
Update ORC files with newest ORC to fix backup code generation error.
677f7d
---
677f7d
 gst/bayer/gstbayerorc-dist.c | 1376 +++++++++++++++++++++++-------------------
677f7d
 1 file changed, 760 insertions(+), 616 deletions(-)
677f7d
677f7d
diff --git a/gst/bayer/gstbayerorc-dist.c b/gst/bayer/gstbayerorc-dist.c
677f7d
index c9afb6a..e79862f 100644
677f7d
--- a/gst/bayer/gstbayerorc-dist.c
677f7d
+++ b/gst/bayer/gstbayerorc-dist.c
677f7d
@@ -667,16 +667,21 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1,
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -690,6 +695,9 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -697,71 +705,71 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: loadw */
677f7d
     var44 = ptr6[i];
677f7d
     /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var42.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var42.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -795,16 +803,21 @@ _backup_bayer_orc_merge_bg_bgra (OrcExecutor * ORC_RESTRICT ex)
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -818,6 +831,9 @@ _backup_bayer_orc_merge_bg_bgra (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -825,71 +841,71 @@ _backup_bayer_orc_merge_bg_bgra (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: loadw */
677f7d
     var44 = ptr6[i];
677f7d
     /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var42.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var42.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -915,11 +931,12 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 98, 103, 95, 98, 103, 114, 97, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
677f7d
-        8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 33, 6, 35, 21, 1, 196, 32,
677f7d
-        34, 16, 21, 1, 195, 0, 33, 32, 2, 0,
677f7d
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5,
677f7d
+        9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 33,
677f7d
+        6, 35, 21, 1, 196, 32, 34, 18, 21, 1, 195, 0, 33, 32, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_bg_bgra);
677f7d
@@ -936,6 +953,7 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -958,7 +976,7 @@ bayer_orc_merge_bg_bgra (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_C1,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_C3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
677f7d
           ORC_VAR_D1);
677f7d
@@ -1021,16 +1039,21 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1,
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -1044,6 +1067,9 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -1051,71 +1077,71 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
     /* 15: loadw */
677f7d
     var44 = ptr7[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var43.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var43.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -1149,16 +1175,21 @@ _backup_bayer_orc_merge_gr_bgra (OrcExecutor * ORC_RESTRICT ex)
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -1172,6 +1203,9 @@ _backup_bayer_orc_merge_gr_bgra (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -1179,71 +1213,71 @@ _backup_bayer_orc_merge_gr_bgra (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
     /* 15: loadw */
677f7d
     var44 = ptr7[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var43.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var43.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -1269,11 +1303,12 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 103, 114, 95, 98, 103, 114, 97, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
677f7d
-        9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 33, 34, 35, 21, 1, 196, 32,
677f7d
-        7, 17, 21, 1, 195, 0, 33, 32, 2, 0,
677f7d
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4,
677f7d
+        8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 33,
677f7d
+        34, 35, 21, 1, 196, 32, 7, 18, 21, 1, 195, 0, 33, 32, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_gr_bgra);
677f7d
@@ -1290,6 +1325,7 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -1312,7 +1348,7 @@ bayer_orc_merge_gr_bgra (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_S4, ORC_VAR_C2,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_S4, ORC_VAR_C3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
677f7d
           ORC_VAR_D1);
677f7d
@@ -1374,17 +1410,22 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1,
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -1398,6 +1439,9 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -1405,71 +1449,71 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: loadw */
677f7d
-    var44 = ptr6[i];
677f7d
-    /* 15: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: loadw */
677f7d
+    var45 = ptr6[i];
677f7d
+    /* 16: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -1502,17 +1546,22 @@ _backup_bayer_orc_merge_bg_abgr (OrcExecutor * ORC_RESTRICT ex)
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -1526,6 +1575,9 @@ _backup_bayer_orc_merge_bg_abgr (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -1533,71 +1585,71 @@ _backup_bayer_orc_merge_bg_abgr (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: loadw */
677f7d
-    var44 = ptr6[i];
677f7d
-    /* 15: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: loadw */
677f7d
+    var45 = ptr6[i];
677f7d
+    /* 16: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -1623,11 +1675,12 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 98, 103, 95, 97, 98, 103, 114, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
677f7d
-        8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 16, 6, 21, 1, 196, 33,
677f7d
-        35, 34, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5,
677f7d
+        9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32,
677f7d
+        18, 6, 21, 1, 196, 33, 35, 34, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_bg_abgr);
677f7d
@@ -1644,6 +1697,7 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -1664,7 +1718,7 @@ bayer_orc_merge_bg_abgr (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "orw", 0, ORC_VAR_T4, ORC_VAR_T5, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S3,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C3, ORC_VAR_S3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T4, ORC_VAR_T3,
677f7d
           ORC_VAR_D1);
677f7d
@@ -1728,17 +1782,22 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1,
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -1752,6 +1811,9 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -1759,71 +1821,71 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 15: loadw */
677f7d
-    var44 = ptr7[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 16: loadw */
677f7d
+    var45 = ptr7[i];
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -1856,17 +1918,22 @@ _backup_bayer_orc_merge_gr_abgr (OrcExecutor * ORC_RESTRICT ex)
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -1880,6 +1947,9 @@ _backup_bayer_orc_merge_gr_abgr (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -1887,71 +1957,71 @@ _backup_bayer_orc_merge_gr_abgr (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 15: loadw */
677f7d
-    var44 = ptr7[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 16: loadw */
677f7d
+    var45 = ptr7[i];
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -1977,11 +2047,12 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 103, 114, 95, 97, 98, 103, 114, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
677f7d
-        9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 17, 34, 21, 1, 196, 33,
677f7d
-        35, 7, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4,
677f7d
+        8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32,
677f7d
+        18, 34, 21, 1, 196, 33, 35, 7, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_gr_abgr);
677f7d
@@ -1998,6 +2069,7 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -2018,7 +2090,7 @@ bayer_orc_merge_gr_abgr (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "orw", 0, ORC_VAR_T4, ORC_VAR_T5, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_T3,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C3, ORC_VAR_T3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T4, ORC_VAR_S4,
677f7d
           ORC_VAR_D1);
677f7d
@@ -2083,16 +2155,21 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1,
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -2106,6 +2183,9 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -2113,71 +2193,71 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
     /* 15: loadw */
677f7d
     var44 = ptr6[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var42.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var42.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -2211,16 +2291,21 @@ _backup_bayer_orc_merge_bg_rgba (OrcExecutor * ORC_RESTRICT ex)
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -2234,6 +2319,9 @@ _backup_bayer_orc_merge_bg_rgba (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -2241,71 +2329,71 @@ _backup_bayer_orc_merge_bg_rgba (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
     /* 15: loadw */
677f7d
     var44 = ptr6[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var42.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var42.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -2331,11 +2419,12 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 98, 103, 95, 114, 103, 98, 97, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
677f7d
-        8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 34, 35, 21, 1, 196, 33,
677f7d
-        6, 16, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5,
677f7d
+        9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32,
677f7d
+        34, 35, 21, 1, 196, 33, 6, 18, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_bg_rgba);
677f7d
@@ -2352,6 +2441,7 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -2374,7 +2464,7 @@ bayer_orc_merge_bg_rgba (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_C1,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_C3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
677f7d
           ORC_VAR_D1);
677f7d
@@ -2437,16 +2527,21 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1,
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -2460,6 +2555,9 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -2467,71 +2565,71 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: loadw */
677f7d
     var44 = ptr7[i];
677f7d
     /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var43.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var43.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -2565,16 +2663,21 @@ _backup_bayer_orc_merge_gr_rgba (OrcExecutor * ORC_RESTRICT ex)
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var45;
677f7d
+#else
677f7d
+  orc_union16 var45;
677f7d
+#endif
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -2588,6 +2691,9 @@ _backup_bayer_orc_merge_gr_rgba (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 16: loadpb */
677f7d
+  var45.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var45.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -2595,71 +2701,71 @@ _backup_bayer_orc_merge_gr_rgba (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
+    var53.i = var52.i | var51.i;
677f7d
     /* 14: loadw */
677f7d
     var44 = ptr7[i];
677f7d
     /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[0];
677f7d
-      _dest.x2[1] = var52.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
       _dest.x2[0] = var44.x2[1];
677f7d
-      _dest.x2[1] = var52.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[1] = var53.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[0];
677f7d
-      _dest.x2[1] = var43.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var46.x2[1];
677f7d
-      _dest.x2[1] = var43.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var47.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -2685,11 +2791,12 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 103, 114, 95, 114, 103, 98, 97, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
677f7d
-        9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 7, 35, 21, 1, 196, 33,
677f7d
-        34, 17, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4,
677f7d
+        8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32,
677f7d
+        7, 35, 21, 1, 196, 33, 34, 18, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_gr_rgba);
677f7d
@@ -2706,6 +2813,7 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -2728,7 +2836,7 @@ bayer_orc_merge_gr_rgba (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_S4, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_C2,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_C3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
677f7d
           ORC_VAR_D1);
677f7d
@@ -2790,17 +2898,22 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1,
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -2814,6 +2927,9 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -2821,71 +2937,71 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 15: loadw */
677f7d
-    var44 = ptr6[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 16: loadw */
677f7d
+    var45 = ptr6[i];
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -2918,17 +3034,22 @@ _backup_bayer_orc_merge_bg_argb (OrcExecutor * ORC_RESTRICT ex)
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -2942,6 +3063,9 @@ _backup_bayer_orc_merge_bg_argb (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -2949,71 +3073,71 @@ _backup_bayer_orc_merge_bg_argb (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr9[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr4[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr8[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr7[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var42.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 15: loadw */
677f7d
-    var44 = ptr6[i];
677f7d
-    /* 16: mergebw */
677f7d
+    /* 16: loadw */
677f7d
+    var45 = ptr6[i];
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -3039,11 +3163,12 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 98, 103, 95, 97, 114, 103, 98, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 5, 9, 21, 1, 39, 35, 4,
677f7d
-        8, 79, 36, 7, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 16, 34, 21, 1, 196, 33,
677f7d
-        35, 6, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+        2, 255, 0, 0, 0, 14, 2, 0, 255, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 5,
677f7d
+        9, 21, 1, 39, 35, 4, 8, 79, 36, 7, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32,
677f7d
+        18, 34, 21, 1, 196, 33, 35, 6, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_bg_argb);
677f7d
@@ -3060,6 +3185,7 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -3080,7 +3206,7 @@ bayer_orc_merge_bg_argb (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "orw", 0, ORC_VAR_T4, ORC_VAR_T5, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T3,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C3, ORC_VAR_T3,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T4, ORC_VAR_S3,
677f7d
           ORC_VAR_D1);
677f7d
@@ -3144,17 +3270,22 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1,
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) d1;
677f7d
   ptr4 = (orc_union16 *) s1;
677f7d
@@ -3168,6 +3299,9 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1,
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -3175,71 +3309,71 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1,
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: loadw */
677f7d
-    var44 = ptr7[i];
677f7d
-    /* 15: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: loadw */
677f7d
+    var45 = ptr7[i];
677f7d
+    /* 16: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -3272,17 +3406,22 @@ _backup_bayer_orc_merge_gr_argb (OrcExecutor * ORC_RESTRICT ex)
677f7d
 #else
677f7d
   orc_union16 var43;
677f7d
 #endif
677f7d
+#if defined(__APPLE__) && __GNUC__ == 4 && __GNUC_MINOR__ == 2 && defined (__i386__)
677f7d
+  volatile orc_union16 var44;
677f7d
+#else
677f7d
   orc_union16 var44;
677f7d
-  orc_union64 var45;
677f7d
-  orc_union16 var46;
677f7d
+#endif
677f7d
+  orc_union16 var45;
677f7d
+  orc_union64 var46;
677f7d
   orc_union16 var47;
677f7d
   orc_union16 var48;
677f7d
   orc_union16 var49;
677f7d
   orc_union16 var50;
677f7d
   orc_union16 var51;
677f7d
   orc_union16 var52;
677f7d
-  orc_union32 var53;
677f7d
+  orc_union16 var53;
677f7d
   orc_union32 var54;
677f7d
+  orc_union32 var55;
677f7d
 
677f7d
   ptr0 = (orc_union64 *) ex->arrays[0];
677f7d
   ptr4 = (orc_union16 *) ex->arrays[4];
677f7d
@@ -3296,6 +3435,9 @@ _backup_bayer_orc_merge_gr_argb (OrcExecutor * ORC_RESTRICT ex)
677f7d
   var42.i = (int) 0x0000ff00;   /* 65280 or 3.22526e-319f */
677f7d
   /* 11: loadpw */
677f7d
   var43.i = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
677f7d
+  /* 14: loadpb */
677f7d
+  var44.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
+  var44.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
677f7d
 
677f7d
   for (i = 0; i < n; i++) {
677f7d
     /* 0: loadw */
677f7d
@@ -3303,71 +3445,71 @@ _backup_bayer_orc_merge_gr_argb (OrcExecutor * ORC_RESTRICT ex)
677f7d
     /* 1: loadw */
677f7d
     var38 = ptr8[i];
677f7d
     /* 2: avgub */
677f7d
-    var46.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
-    var46.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
+    var47.x2[0] = ((orc_uint8) var37.x2[0] + (orc_uint8) var38.x2[0] + 1) >> 1;
677f7d
+    var47.x2[1] = ((orc_uint8) var37.x2[1] + (orc_uint8) var38.x2[1] + 1) >> 1;
677f7d
     /* 3: loadw */
677f7d
     var39 = ptr5[i];
677f7d
     /* 4: loadw */
677f7d
     var40 = ptr9[i];
677f7d
     /* 5: avgub */
677f7d
-    var47.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
-    var47.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
+    var48.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var40.x2[0] + 1) >> 1;
677f7d
+    var48.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var40.x2[1] + 1) >> 1;
677f7d
     /* 6: loadw */
677f7d
     var41 = ptr6[i];
677f7d
     /* 7: copyw */
677f7d
-    var48.i = var41.i;
677f7d
+    var49.i = var41.i;
677f7d
     /* 8: avgub */
677f7d
-    var49.x2[0] = ((orc_uint8) var47.x2[0] + (orc_uint8) var48.x2[0] + 1) >> 1;
677f7d
-    var49.x2[1] = ((orc_uint8) var47.x2[1] + (orc_uint8) var48.x2[1] + 1) >> 1;
677f7d
+    var50.x2[0] = ((orc_uint8) var48.x2[0] + (orc_uint8) var49.x2[0] + 1) >> 1;
677f7d
+    var50.x2[1] = ((orc_uint8) var48.x2[1] + (orc_uint8) var49.x2[1] + 1) >> 1;
677f7d
     /* 10: andw */
677f7d
-    var50.i = var49.i & var42.i;
677f7d
+    var51.i = var50.i & var42.i;
677f7d
     /* 12: andw */
677f7d
-    var51.i = var48.i & var43.i;
677f7d
+    var52.i = var49.i & var43.i;
677f7d
     /* 13: orw */
677f7d
-    var52.i = var51.i | var50.i;
677f7d
-    /* 14: loadw */
677f7d
-    var44 = ptr7[i];
677f7d
-    /* 15: mergebw */
677f7d
+    var53.i = var52.i | var51.i;
677f7d
+    /* 15: loadw */
677f7d
+    var45 = ptr7[i];
677f7d
+    /* 16: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[0];
677f7d
-      _dest.x2[1] = var44.x2[0];
677f7d
-      var53.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[0];
677f7d
+      _dest.x2[1] = var45.x2[0];
677f7d
+      var54.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var43.x2[1];
677f7d
-      _dest.x2[1] = var44.x2[1];
677f7d
-      var53.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var44.x2[1];
677f7d
+      _dest.x2[1] = var45.x2[1];
677f7d
+      var54.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 16: mergebw */
677f7d
+    /* 17: mergebw */
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[0];
677f7d
-      _dest.x2[1] = var46.x2[0];
677f7d
-      var54.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[0];
677f7d
+      _dest.x2[1] = var47.x2[0];
677f7d
+      var55.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union16 _dest;
677f7d
-      _dest.x2[0] = var52.x2[1];
677f7d
-      _dest.x2[1] = var46.x2[1];
677f7d
-      var54.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var53.x2[1];
677f7d
+      _dest.x2[1] = var47.x2[1];
677f7d
+      var55.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 17: mergewl */
677f7d
+    /* 18: mergewl */
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[0];
677f7d
-      _dest.x2[1] = var54.x2[0];
677f7d
-      var45.x2[0] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[0];
677f7d
+      _dest.x2[1] = var55.x2[0];
677f7d
+      var46.x2[0] = _dest.i;
677f7d
     }
677f7d
     {
677f7d
       orc_union32 _dest;
677f7d
-      _dest.x2[0] = var53.x2[1];
677f7d
-      _dest.x2[1] = var54.x2[1];
677f7d
-      var45.x2[1] = _dest.i;
677f7d
+      _dest.x2[0] = var54.x2[1];
677f7d
+      _dest.x2[1] = var55.x2[1];
677f7d
+      var46.x2[1] = _dest.i;
677f7d
     }
677f7d
-    /* 18: storeq */
677f7d
-    ptr0[i] = var45;
677f7d
+    /* 19: storeq */
677f7d
+    ptr0[i] = var46;
677f7d
   }
677f7d
 
677f7d
 }
677f7d
@@ -3393,11 +3535,12 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1,
677f7d
         1, 9, 23, 98, 97, 121, 101, 114, 95, 111, 114, 99, 95, 109, 101, 114,
677f7d
         103, 101, 95, 103, 114, 95, 97, 114, 103, 98, 11, 8, 8, 12, 2, 2,
677f7d
         12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 12, 2, 2, 14,
677f7d
-        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 20, 4, 20, 4, 20,
677f7d
-        2, 20, 2, 20, 2, 21, 1, 39, 34, 4, 8, 21, 1, 39, 35, 5,
677f7d
-        9, 79, 36, 6, 21, 1, 39, 35, 35, 36, 73, 35, 35, 16, 73, 36,
677f7d
-        36, 17, 92, 35, 36, 35, 21, 1, 196, 32, 17, 7, 21, 1, 196, 33,
677f7d
-        35, 34, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+        2, 0, 255, 0, 0, 14, 2, 255, 0, 0, 0, 14, 1, 255, 0, 0,
677f7d
+        0, 20, 4, 20, 4, 20, 2, 20, 2, 20, 2, 21, 1, 39, 34, 4,
677f7d
+        8, 21, 1, 39, 35, 5, 9, 79, 36, 6, 21, 1, 39, 35, 35, 36,
677f7d
+        73, 35, 35, 16, 73, 36, 36, 17, 92, 35, 36, 35, 21, 1, 196, 32,
677f7d
+        18, 7, 21, 1, 196, 33, 35, 34, 21, 1, 195, 0, 32, 33, 2, 0,
677f7d
+
677f7d
       };
677f7d
       p = orc_program_new_from_static_bytecode (bc);
677f7d
       orc_program_set_backup_function (p, _backup_bayer_orc_merge_gr_argb);
677f7d
@@ -3414,6 +3557,7 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1,
677f7d
       orc_program_add_source (p, 2, "s6");
677f7d
       orc_program_add_constant (p, 2, 0x0000ff00, "c1");
677f7d
       orc_program_add_constant (p, 2, 0x000000ff, "c2");
677f7d
+      orc_program_add_constant (p, 1, 0x000000ff, "c3");
677f7d
       orc_program_add_temporary (p, 4, "t1");
677f7d
       orc_program_add_temporary (p, 4, "t2");
677f7d
       orc_program_add_temporary (p, 2, "t3");
677f7d
@@ -3434,7 +3578,7 @@ bayer_orc_merge_gr_argb (guint8 * ORC_RESTRICT d1,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "orw", 0, ORC_VAR_T4, ORC_VAR_T5, ORC_VAR_T4,
677f7d
           ORC_VAR_D1);
677f7d
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C2, ORC_VAR_S4,
677f7d
+      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C3, ORC_VAR_S4,
677f7d
           ORC_VAR_D1);
677f7d
       orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_T4, ORC_VAR_T3,
677f7d
           ORC_VAR_D1);
677f7d
-- 
677f7d
2.4.2
677f7d