#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 *, char const *, char, int,
                            unsigned int);
void i810_debug_965_fence_start(char *result, int len, int reg, uint32_t val,
                                uint32_t devid) {
  const char *enable = (val & 0x00000001) ? " enabled" : "disabled";
  char format = (val & 0x00000002) ? 'Y' : 'X';
  int pitch = ((val & 0xffc) >> 2) * 128 + 128;
  unsigned int offset = 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, "%s, %c tile walk, %4d pitch, 0x%08x start", enable,
           format, pitch, offset);
}


x86 assembly (clang, -O0):
<i810_debug_965_fence_start>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %edx,-0x10(%rbp)
mov    %ecx,-0x14(%rbp)
mov    %r8d,-0x18(%rbp)
mov    -0x14(%rbp),%edx
and    $0x1,%edx
lea    0xed3(%rip),%rax
lea    0xec3(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x14(%rbp),%edx
and    $0x2,%edx
mov    $0x58,%eax
mov    $0x59,%ecx
cmp    $0x0,%edx
cmovne %ecx,%eax
mov    %al,-0x21(%rbp)
mov    -0x14(%rbp),%eax
and    $0xffc,%eax
sar    $0x2,%eax
shl    $0x7,%eax
add    $0x80,%eax
mov    %eax,-0x28(%rbp)
mov    -0x14(%rbp),%eax
and    $0xfffff000,%eax
mov    %eax,-0x2c(%rbp)
cmpl   $0x29a2,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2992,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2982,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2a02,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2a12,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2972,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2e02,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2e12,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2e22,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2e32,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x2a42,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x42,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x46,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x102,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x112,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x122,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x106,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x116,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x126,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x10a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x152,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x162,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x156,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x166,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x15a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x16a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x402,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x406,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x40a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x40b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x40e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc02,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc06,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc0a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc0b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc0e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa02,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa06,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa0a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa0b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa0e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd02,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd06,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd0a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd0b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd0e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x412,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x416,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x41a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x41b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x41e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc12,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc16,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc1a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc1b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc1e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa12,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa16,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa1a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa1b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa1e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd12,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd16,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd1a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd1b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd1e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x422,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x426,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x42a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x42b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x42e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc22,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc26,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc2a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc2b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xc2e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa22,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa26,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa2a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa2b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa2e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd22,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd26,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd2a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd2b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xd2e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xf30,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xf31,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xf32,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xf33,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
mov    -0x18(%rbp),%eax
and    $0xff00,%eax
cmp    $0x1600,%eax
je     1630 <i810_debug_965_fence_start+0x520>
xor    %eax,%eax
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf0,%eax
sar    $0x4,%eax
cmp    $0x3,%eax
jle    1653 <i810_debug_965_fence_start+0x543>
xor    %eax,%eax
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0x2,%eax
jne    1671 <i810_debug_965_fence_start+0x561>
mov    $0x1,%al
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0x6,%eax
jne    168f <i810_debug_965_fence_start+0x57f>
mov    $0x1,%al
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xb,%eax
jne    16ad <i810_debug_965_fence_start+0x59d>
mov    $0x1,%al
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xa,%eax
jne    16cb <i810_debug_965_fence_start+0x5bb>
mov    $0x1,%al
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xd,%eax
jne    16e9 <i810_debug_965_fence_start+0x5d9>
mov    $0x1,%al
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
mov    -0x18(%rbp),%eax
and    $0xf,%eax
cmp    $0xe,%eax
jne    1707 <i810_debug_965_fence_start+0x5f7>
mov    $0x1,%al
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
xor    %eax,%eax
test   $0x1,%al
jne    1923 <i810_debug_965_fence_start+0x813>
jmp    1716 <i810_debug_965_fence_start+0x606>
cmpl   $0x22b0,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x22b1,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x22b2,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x22b3,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5913,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5915,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5917,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5906,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x590e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5902,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x590b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x590a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5916,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5921,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x591e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5912,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x591b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x591a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x591d,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5926,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x592b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x592a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1906,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x190e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1902,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x190b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x190a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1916,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1921,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x191e,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1912,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x191b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x191a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x191d,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1926,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x192b,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x192a,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0xa84,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x1a84,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
cmpl   $0x5a84,-0x18(%rbp)
je     1923 <i810_debug_965_fence_start+0x813>
jmp    194c <i810_debug_965_fence_start+0x83c>
mov    -0x8(%rbp),%rdi
mov    -0xc(%rbp),%esi
mov    -0x20(%rbp),%rcx
mov    -0x21(%rbp),%r8b
mov    -0x28(%rbp),%r9d
mov    -0x2c(%rbp),%eax
lea    0x6d2(%rip),%rdx
movsbl %r8b,%r8d
mov    %eax,(%rsp)
call   1030 <snprintf@plt>
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<i810_debug_965_fence_start>:
push   %rax
mov    %ecx,%r11d
test   $0x1,%r11b
lea    0x108e(%rip),%rdx
lea    0x107e(%rip),%rcx
cmove  %rdx,%rcx
mov    %r11d,%edx
and    $0x2,%edx
cmp    $0x1,%edx
mov    $0x59,%r10b
sbb    $0x0,%r10b
cmp    $0xc01,%r8d
jg     1185 <i810_debug_965_fence_start+0x75>
cmp    $0x401,%r8d
jle    11c3 <i810_debug_965_fence_start+0xb3>
lea    -0x402(%r8),%edx
cmp    $0x2c,%edx
jbe    1201 <i810_debug_965_fence_start+0xf1>
lea    -0xa02(%r8),%edx
cmp    $0x2c,%edx
ja     129b <i810_debug_965_fence_start+0x18b>
movabs $0x131113111311,%rax
bt     %rdx,%rax
jb     1243 <i810_debug_965_fence_start+0x133>
jmp    129b <i810_debug_965_fence_start+0x18b>
cmp    $0xf2f,%r8d
jg     11e3 <i810_debug_965_fence_start+0xd3>
lea    -0xc02(%r8),%edx
movabs $0x131113111311,%r9
cmp    $0x2c,%edx
jbe    1216 <i810_debug_965_fence_start+0x106>
lea    -0xd02(%r8),%edx
cmp    $0x2c,%edx
ja     129b <i810_debug_965_fence_start+0x18b>
bt     %rdx,%r9
jb     1243 <i810_debug_965_fence_start+0x133>
jmp    129b <i810_debug_965_fence_start+0x18b>
lea    -0x102(%r8),%edx
cmp    $0x68,%edx
ja     128f <i810_debug_965_fence_start+0x17f>
lea    0xe26(%rip),%r9
movslq (%r9,%rdx,4),%rdx
add    %r9,%rdx
jmp    *%rdx
cmp    $0x2a01,%r8d
jg     121e <i810_debug_965_fence_start+0x10e>
lea    -0xf30(%r8),%eax
cmp    $0x4,%eax
jb     1243 <i810_debug_965_fence_start+0x133>
lea    -0x2972(%r8),%edx
jmp    122e <i810_debug_965_fence_start+0x11e>
movabs $0x131113111311,%rax
bt     %rdx,%rax
jb     1243 <i810_debug_965_fence_start+0x133>
jmp    115c <i810_debug_965_fence_start+0x4c>
bt     %rdx,%r9
jb     1243 <i810_debug_965_fence_start+0x133>
jmp    11a4 <i810_debug_965_fence_start+0x94>
cmp    $0x2e01,%r8d
jle    1272 <i810_debug_965_fence_start+0x162>
lea    -0x2e02(%r8),%edx
cmp    $0x30,%edx
ja     129b <i810_debug_965_fence_start+0x18b>
movabs $0x1000100010001,%rax
bt     %rdx,%rax
jae    129b <i810_debug_965_fence_start+0x18b>
mov    %r11d,%r9d
shl    $0x5,%r9d
and    $0x1ff80,%r9d
sub    $0xffffff80,%r9d
and    $0xfffff000,%r11d
mov    %r11d,(%rsp)
movsbl %r10b,%r8d
lea    0xf4b(%rip),%rdx
call   1030 <snprintf@plt>
pop    %rax
ret
cmp    $0x2a02,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x2a12,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x2a42,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
jmp    129b <i810_debug_965_fence_start+0x18b>
cmp    $0x42,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x46,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
mov    %r8d,%eax
and    $0xffc0,%eax
cmp    $0x1600,%eax
jne    1318 <i810_debug_965_fence_start+0x208>
mov    %r8d,%r9d
and    $0xf,%r9d
cmp    $0xd,%r9d
ja     12c2 <i810_debug_965_fence_start+0x1b2>
mov    $0x2c44,%eax
bt     %r9d,%eax
jb     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x22b0,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
cmp    $0xe,%r9d
je     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x5901,%r8d
jg     13a2 <i810_debug_965_fence_start+0x292>
lea    -0x1902(%r8),%edx
cmp    $0x29,%edx
ja     1306 <i810_debug_965_fence_start+0x1f6>
movabs $0x3109b111311,%rax
bt     %rdx,%rax
jb     1243 <i810_debug_965_fence_start+0x133>
lea    -0x22b1(%r8),%eax
cmp    $0x3,%eax
jb     1243 <i810_debug_965_fence_start+0x133>
jmp    134e <i810_debug_965_fence_start+0x23e>
cmp    $0x22af,%r8d
jg     1360 <i810_debug_965_fence_start+0x250>
lea    -0x1902(%r8),%edx
cmp    $0x29,%edx
ja     1341 <i810_debug_965_fence_start+0x231>
movabs $0x3109b111311,%rax
bt     %rdx,%rax
jb     1243 <i810_debug_965_fence_start+0x133>
cmp    $0xa84,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x1a84,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
jmp    1270 <i810_debug_965_fence_start+0x160>
lea    -0x5902(%r8),%edx
cmp    $0x29,%edx
ja     1380 <i810_debug_965_fence_start+0x270>
movabs $0x3109b3b1311,%rax
bt     %rdx,%rax
jb     1243 <i810_debug_965_fence_start+0x133>
lea    -0x22b0(%r8),%eax
cmp    $0x4,%eax
jb     1243 <i810_debug_965_fence_start+0x133>
cmp    $0x5a84,%r8d
je     1243 <i810_debug_965_fence_start+0x133>
jmp    1270 <i810_debug_965_fence_start+0x160>
lea    -0x5902(%r8),%edx
cmp    $0x29,%edx
ja     1390 <i810_debug_965_fence_start+0x280>
movabs $0x3109b3b1311,%rax
bt     %rdx,%rax
jb     1243 <i810_debug_965_fence_start+0x133>
jmp    1390 <i810_debug_965_fence_start+0x280>

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

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