#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int uint32_t;
typedef int devid;

/* Variables and functions */
int /*<<< orphan*/ snprintf(char *, int, char *, unsigned int);
void i810_debug_965_fence_end(char *result, int len, int reg, uint32_t val,
                              uint32_t devid) {
  unsigned int end = val & 0xfffff000;
  if (!(((devid) == 0x29A2 || (devid) == 0x2992 || (devid) == 0x2982 ||
         (devid) == 0x2A02 || (devid) == 0x2A12 || (devid) == 0x2972 ||
         (((devid) == 0x2E02 || (devid) == 0x2E12 || (devid) == 0x2E22 ||
           (devid) == 0x2E32) ||
          ((devid) == 0x2A42))) ||
        (((devid) == 0x0042) || ((devid) == 0x0046)) ||
        ((devid) == 0x0102 || (devid) == 0x0112 || (devid) == 0x0122 ||
         (devid) == 0x0106 || (devid) == 0x0116 || (devid) == 0x0126 ||
         (devid) == 0x010A) ||
        (((devid) == 0x0152 || (devid) == 0x0162 || (devid) == 0x0156 ||
          (devid) == 0x0166 || (devid) == 0x015a || (devid) == 0x016a) ||
         (((devid) == 0x0402 || (devid) == 0x0406 || (devid) == 0x040A ||
           (devid) == 0x040B || (devid) == 0x040E || (devid) == 0x0C02 ||
           (devid) == 0x0C06 || (devid) == 0x0C0A || (devid) == 0x0C0B ||
           (devid) == 0x0C0E || (devid) == 0x0A02 || (devid) == 0x0A06 ||
           (devid) == 0x0A0A || (devid) == 0x0A0B || (devid) == 0x0A0E ||
           (devid) == 0x0D02 || (devid) == 0x0D06 || (devid) == 0x0D0A ||
           (devid) == 0x0D0B || (devid) == 0x0D0E) ||
          ((devid) == 0x0412 || (devid) == 0x0416 || (devid) == 0x041A ||
           (devid) == 0x041B || (devid) == 0x041E || (devid) == 0x0C12 ||
           (devid) == 0x0C16 || (devid) == 0x0C1A || (devid) == 0x0C1B ||
           (devid) == 0x0C1E || (devid) == 0x0A12 || (devid) == 0x0A16 ||
           (devid) == 0x0A1A || (devid) == 0x0A1B || (devid) == 0x0A1E ||
           (devid) == 0x0D12 || (devid) == 0x0D16 || (devid) == 0x0D1A ||
           (devid) == 0x0D1B || (devid) == 0x0D1E) ||
          ((devid) == 0x0422 || (devid) == 0x0426 || (devid) == 0x042A ||
           (devid) == 0x042B || (devid) == 0x042E || (devid) == 0x0C22 ||
           (devid) == 0x0C26 || (devid) == 0x0C2A || (devid) == 0x0C2B ||
           (devid) == 0x0C2E || (devid) == 0x0A22 || (devid) == 0x0A26 ||
           (devid) == 0x0A2A || (devid) == 0x0A2B || (devid) == 0x0A2E ||
           (devid) == 0x0D22 || (devid) == 0x0D26 || (devid) == 0x0D2A ||
           (devid) == 0x0D2B || (devid) == 0x0D2E)) ||
         ((devid) == 0x0f30 || (devid) == 0x0f31 || (devid) == 0x0f32 ||
          (devid) == 0x0f33)) ||
        (((((devid)&0xff00) != 0x1600)    ? 0
          : ((((devid)&0x00f0) >> 4) > 3) ? 0
          : (((devid)&0x000f) == 0x2)     ? 1
          : (((devid)&0x000f) == 0x6)     ? 1
          : (((devid)&0x000f) == 0xb)     ? 1
          : (((devid)&0x000f) == 0xa)     ? 1
          : (((devid)&0x000f) == 0xd)     ? 1
          : (((devid)&0x000f) == 0xe)     ? 1
                                          : 0) ||
         ((devid) == 0x22b0 || (devid) == 0x22b1 || (devid) == 0x22b2 ||
          (devid) == 0x22b3)) ||
        (((((devid) == 0x5913 || (devid) == 0x5915 || (devid) == 0x5917 ||
            (devid) == 0x5906 || (devid) == 0x590E || (devid) == 0x5902 ||
            (devid) == 0x590B || (devid) == 0x590A) ||
           ((devid) == 0x5916 || (devid) == 0x5921 || (devid) == 0x591E ||
            (devid) == 0x5912 || (devid) == 0x591B || (devid) == 0x591A ||
            (devid) == 0x591D) ||
           ((devid) == 0x5926 || (devid) == 0x592B || (devid) == 0x592A)) ||
          ((devid) == 0x1906 || (devid) == 0x190E || (devid) == 0x1902 ||
           (devid) == 0x190B || (devid) == 0x190A) ||
          ((devid) == 0x1916 || (devid) == 0x1921 || (devid) == 0x191E ||
           (devid) == 0x1912 || (devid) == 0x191B || (devid) == 0x191A ||
           (devid) == 0x191D) ||
          ((devid) == 0x1926 || (devid) == 0x192B || (devid) == 0x192A)) ||
         ((devid) == 0x0A84 || (devid) == 0x1A84 || (devid) == 0x5A84))))
    return;
  snprintf(result, len, "                                   0x%08x end", end);
}


x86 assembly (clang, -O0):
<i810_debug_965_fence_end>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    %ecx,-0x14(%rbp)
mov    %r8d,-0x18(%rbp)
mov    -0x14(%rbp),%eax
and    $0xfffff000,%eax
mov    %eax,-0x1c(%rbp)
cmpl   $0x29a2,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2992,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2982,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2a02,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2a12,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2972,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2e02,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2e12,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2e22,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2e32,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x2a42,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x42,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x46,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x102,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x112,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x122,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x106,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x116,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x126,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x10a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x152,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x162,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x156,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x166,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x15a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x16a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x402,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x406,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x40a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x40b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x40e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc02,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc06,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc0a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc0b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc0e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa02,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa06,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa0a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa0b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa0e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd02,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd06,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd0a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd0b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd0e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x412,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x416,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x41a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x41b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x41e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc12,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc16,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc1a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc1b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc1e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa12,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa16,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa1a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa1b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa1e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd12,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd16,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd1a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd1b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd1e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x422,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x426,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x42a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x42b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x42e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc22,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc26,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc2a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc2b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xc2e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa22,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa26,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa2a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa2b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa2e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd22,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd26,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd2a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd2b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xd2e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xf30,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xf31,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xf32,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xf33,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
mov    -0x18(%rbp),%eax
and    $0xff00,%eax
cmp    $0x1600,%eax
je     15e2 <i810_debug_965_fence_end+0x4d2>
xor    %eax,%eax
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf0,%eax
sar    $0x4,%eax
cmp    $0x3,%eax
jle    1605 <i810_debug_965_fence_end+0x4f5>
xor    %eax,%eax
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0x2,%eax
jne    1623 <i810_debug_965_fence_end+0x513>
mov    $0x1,%al
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0x6,%eax
jne    1641 <i810_debug_965_fence_end+0x531>
mov    $0x1,%al
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xb,%eax
jne    165f <i810_debug_965_fence_end+0x54f>
mov    $0x1,%al
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xa,%eax
jne    167d <i810_debug_965_fence_end+0x56d>
mov    $0x1,%al
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xd,%eax
jne    169b <i810_debug_965_fence_end+0x58b>
mov    $0x1,%al
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xe,%eax
jne    16b9 <i810_debug_965_fence_end+0x5a9>
mov    $0x1,%al
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
xor    %eax,%eax
test   $0x1,%al
jne    18d5 <i810_debug_965_fence_end+0x7c5>
jmp    16c8 <i810_debug_965_fence_end+0x5b8>
cmpl   $0x22b0,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x22b1,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x22b2,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x22b3,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5913,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5915,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5917,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5906,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x590e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5902,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x590b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x590a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5916,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5921,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x591e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5912,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x591b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x591a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x591d,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5926,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x592b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x592a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1906,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x190e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1902,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x190b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x190a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1916,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1921,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x191e,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1912,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x191b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x191a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x191d,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1926,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x192b,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x192a,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0xa84,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x1a84,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
cmpl   $0x5a84,-0x18(%rbp)
je     18d5 <i810_debug_965_fence_end+0x7c5>
jmp    18eb <i810_debug_965_fence_end+0x7db>
mov    -0x8(%rbp),%rdi
mov    -0xc(%rbp),%esi
mov    -0x1c(%rbp),%ecx
lea    0x71a(%rip),%rdx
call   1030 <snprintf@plt>
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<i810_debug_965_fence_end>:
cmp    $0xc01,%r8d
jg     115b <i810_debug_965_fence_end+0x4b>
cmp    $0x401,%r8d
jle    1199 <i810_debug_965_fence_end+0x89>
lea    -0x402(%r8),%eax
cmp    $0x2c,%eax
jbe    11d7 <i810_debug_965_fence_end+0xc7>
lea    -0xa02(%r8),%eax
cmp    $0x2c,%eax
ja     1254 <i810_debug_965_fence_end+0x144>
movabs $0x131113111311,%rdx
bt     %rax,%rdx
jb     1219 <i810_debug_965_fence_end+0x109>
jmp    1254 <i810_debug_965_fence_end+0x144>
cmp    $0xf2f,%r8d
jg     11b9 <i810_debug_965_fence_end+0xa9>
lea    -0xc02(%r8),%edx
movabs $0x131113111311,%rax
cmp    $0x2c,%edx
jbe    11ec <i810_debug_965_fence_end+0xdc>
lea    -0xd02(%r8),%edx
cmp    $0x2c,%edx
ja     1254 <i810_debug_965_fence_end+0x144>
bt     %rdx,%rax
jb     1219 <i810_debug_965_fence_end+0x109>
jmp    1254 <i810_debug_965_fence_end+0x144>
lea    -0x102(%r8),%eax
cmp    $0x68,%eax
ja     1248 <i810_debug_965_fence_end+0x138>
lea    0xe50(%rip),%rdx
movslq (%rdx,%rax,4),%rax
add    %rdx,%rax
jmp    *%rax
cmp    $0x2a01,%r8d
jg     11f4 <i810_debug_965_fence_end+0xe4>
lea    -0xf30(%r8),%eax
cmp    $0x4,%eax
jb     1219 <i810_debug_965_fence_end+0x109>
lea    -0x2972(%r8),%eax
jmp    1204 <i810_debug_965_fence_end+0xf4>
movabs $0x131113111311,%rdx
bt     %rax,%rdx
jb     1219 <i810_debug_965_fence_end+0x109>
jmp    1132 <i810_debug_965_fence_end+0x22>
bt     %rdx,%rax
jb     1219 <i810_debug_965_fence_end+0x109>
jmp    117a <i810_debug_965_fence_end+0x6a>
cmp    $0x2e01,%r8d
jle    122b <i810_debug_965_fence_end+0x11b>
lea    -0x2e02(%r8),%eax
cmp    $0x30,%eax
ja     1254 <i810_debug_965_fence_end+0x144>
movabs $0x1000100010001,%rdx
bt     %rax,%rdx
jae    1254 <i810_debug_965_fence_end+0x144>
and    $0xfffff000,%ecx
lea    0xf7e(%rip),%rdx
jmp    1030 <snprintf@plt>
cmp    $0x2a02,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x2a12,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x2a42,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
jmp    1254 <i810_debug_965_fence_end+0x144>
cmp    $0x42,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x46,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
mov    %r8d,%eax
and    $0xffc0,%eax
cmp    $0x1600,%eax
jne    12c5 <i810_debug_965_fence_end+0x1b5>
mov    %r8d,%eax
and    $0xf,%eax
cmp    $0xd,%eax
ja     1278 <i810_debug_965_fence_end+0x168>
mov    $0x2c44,%edx
bt     %eax,%edx
jb     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x22b0,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
cmp    $0xe,%eax
je     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x5901,%r8d
jg     1348 <i810_debug_965_fence_end+0x238>
lea    -0x1902(%r8),%eax
cmp    $0x29,%eax
ja     12b3 <i810_debug_965_fence_end+0x1a3>
movabs $0x3109b111311,%rdx
bt     %rax,%rdx
jb     1219 <i810_debug_965_fence_end+0x109>
lea    -0x22b1(%r8),%eax
cmp    $0x3,%eax
jb     1219 <i810_debug_965_fence_end+0x109>
jmp    12fb <i810_debug_965_fence_end+0x1eb>
cmp    $0x22af,%r8d
jg     130a <i810_debug_965_fence_end+0x1fa>
lea    -0x1902(%r8),%eax
cmp    $0x29,%eax
ja     12ee <i810_debug_965_fence_end+0x1de>
movabs $0x3109b111311,%rdx
bt     %rax,%rdx
jb     1219 <i810_debug_965_fence_end+0x109>
cmp    $0xa84,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x1a84,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
jmp    1347 <i810_debug_965_fence_end+0x237>
lea    -0x5902(%r8),%eax
cmp    $0x29,%eax
ja     132a <i810_debug_965_fence_end+0x21a>
movabs $0x3109b3b1311,%rdx
bt     %rax,%rdx
jb     1219 <i810_debug_965_fence_end+0x109>
lea    -0x22b0(%r8),%eax
cmp    $0x4,%eax
jb     1219 <i810_debug_965_fence_end+0x109>
cmp    $0x5a84,%r8d
je     1219 <i810_debug_965_fence_end+0x109>
ret
lea    -0x5902(%r8),%eax
cmp    $0x29,%eax
ja     133a <i810_debug_965_fence_end+0x22a>
movabs $0x3109b3b1311,%rdx
bt     %rax,%rdx
jb     1219 <i810_debug_965_fence_end+0x109>
jmp    133a <i810_debug_965_fence_end+0x22a>

LLVM IR (-O0):
@.str = [46 x i8] c" 0x%08x end\00"
define void @i810_debug_965_fence_end(i8* %0, i32 %1, i32 %2, i32 %3, i32 %4) {
%6 = alloca i8*
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
store i8* %0, i8** %6
store i32 %1, i32* %7
store i32 %2, i32* %8
store i32 %3, i32* %9
store i32 %4, i32* %10
%12 = load i32, i32* %9
%13 = and i32 %12, -4096
store i32 %13, i32* %11
%14 = load i32, i32* %10
%15 = icmp eq i32 %14, 10658
br i1 %15, label %446, label %16
16: ; preds = %5
%17 = load i32, i32* %10
%18 = icmp eq i32 %17, 10642
br i1 %18, label %446, label %19
19: ; preds = %16
%20 = load i32, i32* %10
%21 = icmp eq i32 %20, 10626
br i1 %21, label %446, label %22
22: ; preds = %19
%23 = load i32, i32* %10
%24 = icmp eq i32 %23, 10754
br i1 %24, label %446, label %25
25: ; preds = %22
%26 = load i32, i32* %10
%27 = icmp eq i32 %26, 10770
br i1 %27, label %446, label %28
28: ; preds = %25
%29 = load i32, i32* %10
%30 = icmp eq i32 %29, 10610
br i1 %30, label %446, label %31
31: ; preds = %28
%32 = load i32, i32* %10
%33 = icmp eq i32 %32, 11778
br i1 %33, label %446, label %34
34: ; preds = %31
%35 = load i32, i32* %10
%36 = icmp eq i32 %35, 11794
br i1 %36, label %446, label %37
37: ; preds = %34
%38 = load i32, i32* %10
%39 = icmp eq i32 %38, 11810
br i1 %39, label %446, label %40
40: ; preds = %37
%41 = load i32, i32* %10
%42 = icmp eq i32 %41, 11826
br i1 %42, label %446, label %43
43: ; preds = %40
%44 = load i32, i32* %10
%45 = icmp eq i32 %44, 10818
br i1 %45, label %446, label %46
46: ; preds = %43
%47 = load i32, i32* %10
%48 = icmp eq i32 %47, 66
br i1 %48, label %446, label %49
49: ; preds = %46
%50 = load i32, i32* %10
%51 = icmp eq i32 %50, 70
br i1 %51, label %446, label %52
52: ; preds = %49
%53 = load i32, i32* %10
%54 = icmp eq i32 %53, 258
br i1 %54, label %446, label %55
55: ; preds = %52
%56 = load i32, i32* %10
%57 = icmp eq i32 %56, 274
br i1 %57, label %446, label %58
58: ; preds = %55
%59 = load i32, i32* %10
%60 = icmp eq i32 %59, 290
br i1 %60, label %446, label %61
61: ; preds = %58
%62 = load i32, i32* %10
%63 = icmp eq i32 %62, 262
br i1 %63, label %446, label %64
64: ; preds = %61
%65 = load i32, i32* %10
%66 = icmp eq i32 %65, 278
br i1 %66, label %446, label %67
67: ; preds = %64
%68 = load i32, i32* %10
%69 = icmp eq i32 %68, 294
br i1 %69, label %446, label %70
70: ; preds = %67
%71 = load i32, i32* %10
%72 = icmp eq i32 %71, 266
br i1 %72, label %446, label %73
73: ; preds = %70
%74 = load i32, i32* %10
%75 = icmp eq i32 %74, 338
br i1 %75, label %446, label %76
76: ; preds = %73
%77 = load i32, i32* %10
%78 = icmp eq i32 %77, 354
br i1 %78, label %446, label %79
79: ; preds = %76
%80 = load i32, i32* %10
%81 = icmp eq i32 %80, 342
br i1 %81, label %446, label %82
82: ; preds = %79
%83 = load i32, i32* %10
%84 = icmp eq i32 %83, 358
br i1 %84, label %446, label %85
85: ; preds = %82
%86 = load i32, i32* %10
%87 = icmp eq i32 %86, 346
br i1 %87, label %446, label %88
88: ; preds = %85
%89 = load i32, i32* %10
%90 = icmp eq i32 %89, 362
br i1 %90, label %446, label %91
91: ; preds = %88
%92 = load i32, i32* %10
%93 = icmp eq i32 %92, 1026
br i1 %93, label %446, label %94
94: ; preds = %91
%95 = load i32, i32* %10
%96 = icmp eq i32 %95, 1030
br i1 %96, label %446, label %97
97: ; preds = %94
%98 = load i32, i32* %10
%99 = icmp eq i32 %98, 1034
br i1 %99, label %446, label %100
100: ; preds = %97
%101 = load i32, i32* %10
%102 = icmp eq i32 %101, 1035
br i1 %102, label %446, label %103
103: ; preds = %100
%104 = load i32, i32* %10
%105 = icmp eq i32 %104, 1038
br i1 %105, label %446, label %106
106: ; preds = %103
%107 = load i32, i32* %10
%108 = icmp eq i32 %107, 3074
br i1 %108, label %446, label %109
109: ; preds = %106
%110 = load i32, i32* %10
%111 = icmp eq i32 %110, 3078
br i1 %111, label %446, label %112
112: ; preds = %109
%113 = load i32, i32* %10
%114 = icmp eq i32 %113, 3082
br i1 %114, label %446, label %115
115: ; preds = %112
%116 = load i32, i32* %10
%117 = icmp eq i32 %116, 3083
br i1 %117, label %446, label %118
118: ; preds = %115
%119 = load i32, i32* %10
%120 = icmp eq i32 %119, 3086
br i1 %120, label %446, label %121
121: ; preds = %118
%122 = load i32, i32* %10
%123 = icmp eq i32 %122, 2562
br i1 %123, label %446, label %124
124: ; preds = %121
%125 = load i32, i32* %10
%126 = icmp eq i32 %125, 2566
br i1 %126, label %446, label %127
127: ; preds = %124
%128 = load i32, i32* %10
%129 = icmp eq i32 %128, 2570
br i1 %129, label %446, label %130
130: ; preds = %127
%131 = load i32, i32* %10
%132 = icmp eq i32 %131, 2571
br i1 %132, label %446, label %133
133: ; preds = %130
%134 = load i32, i32* %10
%135 = icmp eq i32 %134, 2574
br i1 %135, label %446, label %136
136: ; preds = %133
%137 = load i32, i32* %10
%138 = icmp eq i32 %137, 3330
br i1 %138, label %446, label %139
139: ; preds = %136
%140 = load i32, i32* %10
%141 = icmp eq i32 %140, 3334
br i1 %141, label %446, label %142
142: ; preds = %139
%143 = load i32, i32* %10
%144 = icmp eq i32 %143, 3338
br i1 %144, label %446, label %145
145: ; preds = %142
%146 = load i32, i32* %10
%147 = icmp eq i32 %146, 3339
br i1 %147, label %446, label %148
148: ; preds = %145
%149 = load i32, i32* %10
%150 = icmp eq i32 %149, 3342
br i1 %150, label %446, label %151
151: ; preds = %148
%152 = load i32, i32* %10
%153 = icmp eq i32 %152, 1042
br i1 %153, label %446, label %154
154: ; preds = %151
%155 = load i32, i32* %10
%156 = icmp eq i32 %155, 1046
br i1 %156, label %446, label %157
157: ; preds = %154
%158 = load i32, i32* %10
%159 = icmp eq i32 %158, 1050
br i1 %159, label %446, label %160
160: ; preds = %157
%161 = load i32, i32* %10
%162 = icmp eq i32 %161, 1051
br i1 %162, label %446, label %163
163: ; preds = %160
%164 = load i32, i32* %10
%165 = icmp eq i32 %164, 1054
br i1 %165, label %446, label %166
166: ; preds = %163
%167 = load i32, i32* %10
%168 = icmp eq i32 %167, 3090
br i1 %168, label %446, label %169
169: ; preds = %166
%170 = load i32, i32* %10
%171 = icmp eq i32 %170, 3094
br i1 %171, label %446, label %172
172: ; preds = %169
%173 = load i32, i32* %10
%174 = icmp eq i32 %173, 3098
br i1 %174, label %446, label %175
175: ; preds = %172
%176 = load i32, i32* %10
%177 = icmp eq i32 %176, 3099
br i1 %177, label %446, label %178
178: ; preds = %175
%179 = load i32, i32* %10
%180 = icmp eq i32 %179, 3102
br i1 %180, label %446, label %181
181: ; preds = %178
%182 = load i32, i32* %10
%183 = icmp eq i32 %182, 2578
br i1 %183, label %446, label %184
184: ; preds = %181
%185 = load i32, i32* %10
%186 = icmp eq i32 %185, 2582
br i1 %186, label %446, label %187
187: ; preds = %184
%188 = load i32, i32* %10
%189 = icmp eq i32 %188, 2586
br i1 %189, label %446, label %190
190: ; preds = %187
%191 = load i32, i32* %10
%192 = icmp eq i32 %191, 2587
br i1 %192, label %446, label %193
193: ; preds = %190
%194 = load i32, i32* %10
%195 = icmp eq i32 %194, 2590
br i1 %195, label %446, label %196
196: ; preds = %193
%197 = load i32, i32* %10
%198 = icmp eq i32 %197, 3346
br i1 %198, label %446, label %199
199: ; preds = %196
%200 = load i32, i32* %10
%201 = icmp eq i32 %200, 3350
br i1 %201, label %446, label %202
202: ; preds = %199
%203 = load i32, i32* %10
%204 = icmp eq i32 %203, 3354
br i1 %204, label %446, label %205
205: ; preds = %202
%206 = load i32, i32* %10
%207 = icmp eq i32 %206, 3355
br i1 %207, label %446, label %208
208: ; preds = %205
%209 = load i32, i32* %10
%210 = icmp eq i32 %209, 3358
br i1 %210, label %446, label %211
211: ; preds = %208
%212 = load i32, i32* %10
%213 = icmp eq i32 %212, 1058
br i1 %213, label %446, label %214
214: ; preds = %211
%215 = load i32, i32* %10
%216 = icmp eq i32 %215, 1062
br i1 %216, label %446, label %217
217: ; preds = %214
%218 = load i32, i32* %10
%219 = icmp eq i32 %218, 1066
br i1 %219, label %446, label %220
220: ; preds = %217
%221 = load i32, i32* %10
%222 = icmp eq i32 %221, 1067
br i1 %222, label %446, label %223
223: ; preds = %220
%224 = load i32, i32* %10
%225 = icmp eq i32 %224, 1070
br i1 %225, label %446, label %226
226: ; preds = %223
%227 = load i32, i32* %10
%228 = icmp eq i32 %227, 3106
br i1 %228, label %446, label %229
229: ; preds = %226
%230 = load i32, i32* %10
%231 = icmp eq i32 %230, 3110
br i1 %231, label %446, label %232
232: ; preds = %229
%233 = load i32, i32* %10
%234 = icmp eq i32 %233, 3114
br i1 %234, label %446, label %235
235: ; preds = %232
%236 = load i32, i32* %10
%237 = icmp eq i32 %236, 3115
br i1 %237, label %446, label %238
238: ; preds = %235
%239 = load i32, i32* %10
%240 = icmp eq i32 %239, 3118
br i1 %240, label %446, label %241
241: ; preds = %238
%242 = load i32, i32* %10
%243 = icmp eq i32 %242, 2594
br i1 %243, label %446, label %244
244: ; preds = %241
%245 = load i32, i32* %10
%246 = icmp eq i32 %245, 2598
br i1 %246, label %446, label %247
247: ; preds = %244
%248 = load i32, i32* %10
%249 = icmp eq i32 %248, 2602
br i1 %249, label %446, label %250
250: ; preds = %247
%251 = load i32, i32* %10
%252 = icmp eq i32 %251, 2603
br i1 %252, label %446, label %253
253: ; preds = %250
%254 = load i32, i32* %10
%255 = icmp eq i32 %254, 2606
br i1 %255, label %446, label %256
256: ; preds = %253
%257 = load i32, i32* %10
%258 = icmp eq i32 %257, 3362
br i1 %258, label %446, label %259
259: ; preds = %256
%260 = load i32, i32* %10
%261 = icmp eq i32 %260, 3366
br i1 %261, label %446, label %262
262: ; preds = %259
%263 = load i32, i32* %10
%264 = icmp eq i32 %263, 3370
br i1 %264, label %446, label %265
265: ; preds = %262
%266 = load i32, i32* %10
%267 = icmp eq i32 %266, 3371
br i1 %267, label %446, label %268
268: ; preds = %265
%269 = load i32, i32* %10
%270 = icmp eq i32 %269, 3374
br i1 %270, label %446, label %271
271: ; preds = %268
%272 = load i32, i32* %10
%273 = icmp eq i32 %272, 3888
br i1 %273, label %446, label %274
274: ; preds = %271
%275 = load i32, i32* %10
%276 = icmp eq i32 %275, 3889
br i1 %276, label %446, label %277
277: ; preds = %274
%278 = load i32, i32* %10
%279 = icmp eq i32 %278, 3890
br i1 %279, label %446, label %280
280: ; preds = %277
%281 = load i32, i32* %10
%282 = icmp eq i32 %281, 3891
br i1 %282, label %446, label %283
283: ; preds = %280
%284 = load i32, i32* %10
%285 = and i32 %284, 65280
%286 = icmp ne i32 %285, 5632
br i1 %286, label %287, label %288
287: ; preds = %283
br i1 false, label %446, label %325
288: ; preds = %283
%289 = load i32, i32* %10
%290 = and i32 %289, 240
%291 = ashr i32 %290, 4
%292 = icmp sgt i32 %291, 3
br i1 %292, label %293, label %294
293: ; preds = %288
br i1 false, label %446, label %325
294: ; preds = %288
%295 = load i32, i32* %10
%296 = and i32 %295, 15
%297 = icmp eq i32 %296, 2
br i1 %297, label %298, label %299
298: ; preds = %294
br i1 true, label %446, label %325
299: ; preds = %294
%300 = load i32, i32* %10
%301 = and i32 %300, 15
%302 = icmp eq i32 %301, 6
br i1 %302, label %303, label %304
303: ; preds = %299
br i1 true, label %446, label %325
304: ; preds = %299
%305 = load i32, i32* %10
%306 = and i32 %305, 15
%307 = icmp eq i32 %306, 11
br i1 %307, label %308, label %309
308: ; preds = %304
br i1 true, label %446, label %325
309: ; preds = %304
%310 = load i32, i32* %10
%311 = and i32 %310, 15
%312 = icmp eq i32 %311, 10
br i1 %312, label %313, label %314
313: ; preds = %309
br i1 true, label %446, label %325
314: ; preds = %309
%315 = load i32, i32* %10
%316 = and i32 %315, 15
%317 = icmp eq i32 %316, 13
br i1 %317, label %318, label %319
318: ; preds = %314
br i1 true, label %446, label %325
319: ; preds = %314
%320 = load i32, i32* %10
%321 = and i32 %320, 15
%322 = icmp eq i32 %321, 14
br i1 %322, label %323, label %324
323: ; preds = %319
br i1 true, label %446, label %325
324: ; preds = %319
br i1 false, label %446, label %325
325: ; preds = %324, %323, %318, %313, %308, %303, %298, %293, %287
%326 = load i32, i32* %10
%327 = icmp eq i32 %326, 8880
br i1 %327, label %446, label %328
328: ; preds = %325
%329 = load i32, i32* %10
%330 = icmp eq i32 %329, 8881
br i1 %330, label %446, label %331
331: ; preds = %328
%332 = load i32, i32* %10
%333 = icmp eq i32 %332, 8882
br i1 %333, label %446, label %334
334: ; preds = %331
%335 = load i32, i32* %10
%336 = icmp eq i32 %335, 8883
br i1 %336, label %446, label %337
337: ; preds = %334
%338 = load i32, i32* %10
%339 = icmp eq i32 %338, 22803
br i1 %339, label %446, label %340
340: ; preds = %337
%341 = load i32, i32* %10
%342 = icmp eq i32 %341, 22805
br i1 %342, label %446, label %343
343: ; preds = %340
%344 = load i32, i32* %10
%345 = icmp eq i32 %344, 22807
br i1 %345, label %446, label %346
346: ; preds = %343
%347 = load i32, i32* %10
%348 = icmp eq i32 %347, 22790
br i1 %348, label %446, label %349
349: ; preds = %346
%350 = load i32, i32* %10
%351 = icmp eq i32 %350, 22798
br i1 %351, label %446, label %352
352: ; preds = %349
%353 = load i32, i32* %10
%354 = icmp eq i32 %353, 22786
br i1 %354, label %446, label %355
355: ; preds = %352
%356 = load i32, i32* %10
%357 = icmp eq i32 %356, 22795
br i1 %357, label %446, label %358
358: ; preds = %355
%359 = load i32, i32* %10
%360 = icmp eq i32 %359, 22794
br i1 %360, label %446, label %361
361: ; preds = %358
%362 = load i32, i32* %10
%363 = icmp eq i32 %362, 22806
br i1 %363, label %446, label %364
364: ; preds = %361
%365 = load i32, i32* %10
%366 = icmp eq i32 %365, 22817
br i1 %366, label %446, label %367
367: ; preds = %364
%368 = load i32, i32* %10
%369 = icmp eq i32 %368, 22814
br i1 %369, label %446, label %370
370: ; preds = %367
%371 = load i32, i32* %10
%372 = icmp eq i32 %371, 22802
br i1 %372, label %446, label %373
373: ; preds = %370
%374 = load i32, i32* %10
%375 = icmp eq i32 %374, 22811
br i1 %375, label %446, label %376
376: ; preds = %373
%377 = load i32, i32* %10
%378 = icmp eq i32 %377, 22810
br i1 %378, label %446, label %379
379: ; preds = %376
%380 = load i32, i32* %10
%381 = icmp eq i32 %380, 22813
br i1 %381, label %446, label %382
382: ; preds = %379
%383 = load i32, i32* %10
%384 = icmp eq i32 %383, 22822
br i1 %384, label %446, label %385
385: ; preds = %382
%386 = load i32, i32* %10
%387 = icmp eq i32 %386, 22827
br i1 %387, label %446, label %388
388: ; preds = %385
%389 = load i32, i32* %10
%390 = icmp eq i32 %389, 22826
br i1 %390, label %446, label %391
391: ; preds = %388
%392 = load i32, i32* %10
%393 = icmp eq i32 %392, 6406
br i1 %393, label %446, label %394
394: ; preds = %391
%395 = load i32, i32* %10
%396 = icmp eq i32 %395, 6414
br i1 %396, label %446, label %397
397: ; preds = %394
%398 = load i32, i32* %10
%399 = icmp eq i32 %398, 6402
br i1 %399, label %446, label %400
400: ; preds = %397
%401 = load i32, i32* %10
%402 = icmp eq i32 %401, 6411
br i1 %402, label %446, label %403
403: ; preds = %400
%404 = load i32, i32* %10
%405 = icmp eq i32 %404, 6410
br i1 %405, label %446, label %406
406: ; preds = %403
%407 = load i32, i32* %10
%408 = icmp eq i32 %407, 6422
br i1 %408, label %446, label %409
409: ; preds = %406
%410 = load i32, i32* %10
%411 = icmp eq i32 %410, 6433
br i1 %411, label %446, label %412
412: ; preds = %409
%413 = load i32, i32* %10
%414 = icmp eq i32 %413, 6430
br i1 %414, label %446, label %415
415: ; preds = %412
%416 = load i32, i32* %10
%417 = icmp eq i32 %416, 6418
br i1 %417, label %446, label %418
418: ; preds = %415
%419 = load i32, i32* %10
%420 = icmp eq i32 %419, 6427
br i1 %420, label %446, label %421
421: ; preds = %418
%422 = load i32, i32* %10
%423 = icmp eq i32 %422, 6426
br i1 %423, label %446, label %424
424: ; preds = %421
%425 = load i32, i32* %10
%426 = icmp eq i32 %425, 6429
br i1 %426, label %446, label %427
427: ; preds = %424
%428 = load i32, i32* %10
%429 = icmp eq i32 %428, 6438
br i1 %429, label %446, label %430
430: ; preds = %427
%431 = load i32, i32* %10
%432 = icmp eq i32 %431, 6443
br i1 %432, label %446, label %433
433: ; preds = %430
%434 = load i32, i32* %10
%435 = icmp eq i32 %434, 6442
br i1 %435, label %446, label %436
436: ; preds = %433
%437 = load i32, i32* %10
%438 = icmp eq i32 %437, 2692
br i1 %438, label %446, label %439
439: ; preds = %436
%440 = load i32, i32* %10
%441 = icmp eq i32 %440, 6788
br i1 %441, label %446, label %442
442: ; preds = %439
%443 = load i32, i32* %10
%444 = icmp eq i32 %443, 23172
br i1 %444, label %446, label %445
445: ; preds = %442
br label %451
446: ; preds = %442, %439, %436, %433, %430, %427, %424, %421, %418, %415, %412, %409, %406, %403, %400, %397, %394, %391, %388, %385, %382, %379, %376, %373, %370, %367, %364, %361, %358, %355, %352, %349, %346, %343, %340, %337, %334, %331, %328, %325, %324, %323, %318, %313, %308, %303, %298, %293, %287, %280, %277, %274, %271, %268, %265, %262, %259, %256, %253, %250, %247, %244, %241, %238, %235, %232, %229, %226, %223, %220, %217, %214, %211, %208, %205, %202, %199, %196, %193, %190, %187, %184, %181, %178, %175, %172, %169, %166, %163, %160, %157, %154, %151, %148, %145, %142, %139, %136, %133, %130, %127, %124, %121, %118, %115, %112, %109, %106, %103, %100, %97, %94, %91, %88, %85, %82, %79, %76, %73, %70, %67, %64, %61, %58, %55, %52, %49, %46, %43, %40, %37, %34, %31, %28, %25, %22, %19, %16, %5
%447 = load i8*, i8** %6
%448 = load i32, i32* %7
%449 = load i32, i32* %11
%450 = call i32 @snprintf(i8* %447, i32 %448, i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str, i64 0, i64 0), i32 %449)
br label %451
451: ; preds = %446, %445
ret void
}

LLVM IR (-O2):
@.str = [46 x i8] c" 0x%08x end\00"
define void @i810_debug_965_fence_end(i8* %0, i32 %1, i32 %2, i32 %3, i32 %4) {
%6 = and i32 %3, -4096
switch i32 %4, label %7 [
i32 11826, label %18
i32 11810, label %18
i32 11794, label %18
i32 11778, label %18
i32 10818, label %18
i32 10770, label %18
i32 10754, label %18
i32 10658, label %18
i32 10642, label %18
i32 10626, label %18
i32 10610, label %18
i32 3891, label %18
i32 3890, label %18
i32 3889, label %18
i32 3888, label %18
i32 3374, label %18
i32 3371, label %18
i32 3370, label %18
i32 3366, label %18
i32 3362, label %18
i32 3358, label %18
i32 3355, label %18
i32 3354, label %18
i32 3350, label %18
i32 3346, label %18
i32 3342, label %18
i32 3339, label %18
i32 3338, label %18
i32 3334, label %18
i32 3330, label %18
i32 3118, label %18
i32 3115, label %18
i32 3114, label %18
i32 3110, label %18
i32 3106, label %18
i32 3102, label %18
i32 3099, label %18
i32 3098, label %18
i32 3094, label %18
i32 3090, label %18
i32 3086, label %18
i32 3083, label %18
i32 3082, label %18
i32 3078, label %18
i32 3074, label %18
i32 2606, label %18
i32 2603, label %18
i32 2602, label %18
i32 2598, label %18
i32 2594, label %18
i32 2590, label %18
i32 2587, label %18
i32 2586, label %18
i32 2582, label %18
i32 2578, label %18
i32 2574, label %18
i32 2571, label %18
i32 2570, label %18
i32 2566, label %18
i32 2562, label %18
i32 1070, label %18
i32 1067, label %18
i32 1066, label %18
i32 1062, label %18
i32 1058, label %18
i32 1054, label %18
i32 1051, label %18
i32 1050, label %18
i32 1046, label %18
i32 1042, label %18
i32 1038, label %18
i32 1035, label %18
i32 1034, label %18
i32 1030, label %18
i32 1026, label %18
i32 362, label %18
i32 358, label %18
i32 354, label %18
i32 346, label %18
i32 342, label %18
i32 338, label %18
i32 294, label %18
i32 290, label %18
i32 278, label %18
i32 274, label %18
i32 266, label %18
i32 262, label %18
i32 258, label %18
i32 70, label %18
i32 66, label %18
]
7: ; preds = %5
%8 = and i32 %4, 65472
%9 = icmp eq i32 %8, 5632
br i1 %9, label %10, label %16
10: ; preds = %7
%11 = and i32 %4, 15
switch i32 %11, label %12 [
i32 2, label %18
i32 6, label %18
i32 11, label %18
i32 10, label %18
i32 13, label %18
]
12: ; preds = %10
%13 = icmp eq i32 %11, 14
%14 = icmp eq i32 %4, 8880
%15 = or i1 %14, %13
br i1 %15, label %18, label %17
16: ; preds = %7
switch i32 %4, label %20 [
i32 8880, label %18
i32 23172, label %18
i32 22827, label %18
i32 22826, label %18
i32 22822, label %18
i32 22817, label %18
i32 22814, label %18
i32 22813, label %18
i32 22811, label %18
i32 22810, label %18
i32 22807, label %18
i32 22806, label %18
i32 22805, label %18
i32 22803, label %18
i32 22802, label %18
i32 22798, label %18
i32 22795, label %18
i32 22794, label %18
i32 22790, label %18
i32 22786, label %18
i32 8883, label %18
i32 8882, label %18
i32 8881, label %18
i32 6788, label %18
i32 6443, label %18
i32 6442, label %18
i32 6438, label %18
i32 6433, label %18
i32 6430, label %18
i32 6429, label %18
i32 6427, label %18
i32 6426, label %18
i32 6422, label %18
i32 6418, label %18
i32 6414, label %18
i32 6411, label %18
i32 6410, label %18
i32 6406, label %18
i32 6402, label %18
i32 2692, label %18
]
17: ; preds = %12
switch i32 %4, label %20 [
i32 23172, label %18
i32 22827, label %18
i32 22826, label %18
i32 22822, label %18
i32 22817, label %18
i32 22814, label %18
i32 22813, label %18
i32 22811, label %18
i32 22810, label %18
i32 22807, label %18
i32 22806, label %18
i32 22805, label %18
i32 22803, label %18
i32 22802, label %18
i32 22798, label %18
i32 22795, label %18
i32 22794, label %18
i32 22790, label %18
i32 22786, label %18
i32 8883, label %18
i32 8882, label %18
i32 8881, label %18
i32 6788, label %18
i32 6443, label %18
i32 6442, label %18
i32 6438, label %18
i32 6433, label %18
i32 6430, label %18
i32 6429, label %18
i32 6427, label %18
i32 6426, label %18
i32 6422, label %18
i32 6418, label %18
i32 6414, label %18
i32 6411, label %18
i32 6410, label %18
i32 6406, label %18
i32 6402, label %18
]
18: ; preds = %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %16, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %17, %10, %10, %10, %10, %10, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %5, %12
%19 = tail call i32 @snprintf(i8* %0, i32 %1, i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str, i64 0, i64 0), i32 %6)
br label %20
20: ; preds = %16, %17, %18
ret void
}