#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;

/* Variables and functions */
int /*<<< orphan*/
snprintf(char *, int, char *, char const *, char const *, char const *,
         char const *, char const *, char const *, char const *, char const *,
         char const *, char const *, char const *, char const *, char const *,
         char const *, char const *, char const *, char const *, char const *,
         char const *, char const *, char const *, char const *, char const *,
         char const *, char const *, char const *, char const *, char const *,
         char const *, char const *, char const *, char const *);
void i830_debug_dspclk_gate_d(char *result, int len, int reg, uint32_t val,
                              uint32_t devid) {
  const char *DPUNIT_B = val & (1 << 30) ? " DPUNIT_B" : "";
  const char *VSUNIT = val & (1 << 29) ? " VSUNIT" : "";
  const char *VRHUNIT = val & (1 << 28) ? " VRHUNIT" : "";
  const char *VRDUNIT = val & (1 << 27) ? " VRDUNIT" : "";
  const char *AUDUNIT = val & (1 << 26) ? " AUDUNIT" : "";
  const char *DPUNIT_A = val & (1 << 25) ? " DPUNIT_A" : "";
  const char *DPCUNIT = val & (1 << 24) ? " DPCUNIT" : "";
  const char *TVRUNIT = val & (1 << 23) ? " TVRUNIT" : "";
  const char *TVCUNIT = val & (1 << 22) ? " TVCUNIT" : "";
  const char *TVFUNIT = val & (1 << 21) ? " TVFUNIT" : "";
  const char *TVEUNIT = val & (1 << 20) ? " TVEUNIT" : "";
  const char *DVSUNIT = val & (1 << 19) ? " DVSUNIT" : "";
  const char *DSSUNIT = val & (1 << 18) ? " DSSUNIT" : "";
  const char *DDBUNIT = val & (1 << 17) ? " DDBUNIT" : "";
  const char *DPRUNIT = val & (1 << 16) ? " DPRUNIT" : "";
  const char *DPFUNIT = val & (1 << 15) ? " DPFUNIT" : "";
  const char *DPBMUNIT = val & (1 << 14) ? " DPBMUNIT" : "";
  const char *DPLSUNIT = val & (1 << 13) ? " DPLSUNIT" : "";
  const char *DPLUNIT = val & (1 << 12) ? " DPLUNIT" : "";
  const char *DPOUNIT = val & (1 << 11) ? " DPOUNIT" : "";
  const char *DPBUNIT = val & (1 << 10) ? " DPBUNIT" : "";
  const char *DCUNIT = val & (1 << 9) ? " DCUNIT" : "";
  const char *DPUNIT = val & (1 << 8) ? " DPUNIT" : "";
  const char *VRUNIT = val & (1 << 7) ? " VRUNIT" : "";
  const char *OVHUNIT = val & (1 << 6) ? " OVHUNIT" : "";
  const char *DPIOUNIT = val & (1 << 6) ? " DPIOUNIT" : "";
  const char *OVFUNIT = val & (1 << 5) ? " OVFUNIT" : "";
  const char *OVBUNIT = val & (1 << 4) ? " OVBUNIT" : "";
  const char *OVRUNIT = val & (1 << 3) ? " OVRUNIT" : "";
  const char *OVCUNIT = val & (1 << 2) ? " OVCUNIT" : "";
  const char *OVUUNIT = val & (1 << 1) ? " OVUUNIT" : "";
  const char *OVLUNIT = val & (1 << 0) ? " OVLUNIT" : "";
  snprintf(result, len,
           "clock gates "
           "disabled:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%"
           "s%s%s%s",
           DPUNIT_B, VSUNIT, VRHUNIT, VRDUNIT, AUDUNIT, DPUNIT_A, DPCUNIT,
           TVRUNIT, TVCUNIT, TVFUNIT, TVEUNIT, DVSUNIT, DSSUNIT, DDBUNIT,
           DPRUNIT, DPFUNIT, DPBMUNIT, DPLSUNIT, DPLUNIT, DPOUNIT, DPBUNIT,
           DCUNIT, DPUNIT, VRUNIT, OVHUNIT, DPIOUNIT, OVFUNIT, OVBUNIT, OVRUNIT,
           OVCUNIT, OVUUNIT, OVLUNIT);
}


x86 assembly (clang, -O0):
<i830_debug_dspclk_gate_d>:
push   %rbp
mov    %rsp,%rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x2a8,%rsp
mov    %rdi,-0x30(%rbp)
mov    %esi,-0x34(%rbp)
mov    %edx,-0x38(%rbp)
mov    %ecx,-0x3c(%rbp)
mov    %r8d,-0x40(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x40000000,%edx
lea    0xef1(%rip),%rax
lea    0xeb4(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x48(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x20000000,%edx
lea    0xecf(%rip),%rax
lea    0xe9c(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x50(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x10000000,%edx
lea    0xead(%rip),%rax
lea    0xe82(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x58(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x8000000,%edx
lea    0xe8b(%rip),%rax
lea    0xe69(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x60(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x4000000,%edx
lea    0xe69(%rip),%rax
lea    0xe50(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x68(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x2000000,%edx
lea    0xe47(%rip),%rax
lea    0xe37(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x70(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x1000000,%edx
lea    0xe25(%rip),%rax
lea    0xe1f(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x78(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x800000,%edx
lea    0xe03(%rip),%rax
lea    0xe06(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x80(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x400000,%edx
lea    0xde1(%rip),%rax
lea    0xded(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x88(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x200000,%edx
lea    0xdbc(%rip),%rax
lea    0xdd1(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x90(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x100000,%edx
lea    0xd97(%rip),%rax
lea    0xdb5(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x98(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x80000,%edx
lea    0xd72(%rip),%rax
lea    0xd99(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xa0(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x40000,%edx
lea    0xd4d(%rip),%rax
lea    0xd7d(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xa8(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x20000,%edx
lea    0xd28(%rip),%rax
lea    0xd61(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xb0(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x10000,%edx
lea    0xd03(%rip),%rax
lea    0xd45(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xb8(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x8000,%edx
lea    0xcde(%rip),%rax
lea    0xd29(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xc0(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x4000,%edx
lea    0xcb9(%rip),%rax
lea    0xd0d(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xc8(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x2000,%edx
lea    0xc94(%rip),%rax
lea    0xcf2(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xd0(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x1000,%edx
lea    0xc6f(%rip),%rax
lea    0xcd7(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xd8(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x800,%edx
lea    0xc4a(%rip),%rax
lea    0xcbb(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xe0(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x400,%edx
lea    0xc25(%rip),%rax
lea    0xc9f(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xe8(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x200,%edx
lea    0xc00(%rip),%rax
lea    0xc83(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xf0(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x100,%edx
lea    0xbdb(%rip),%rax
lea    0xc66(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0xf8(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x80,%edx
lea    0xbb6(%rip),%rax
lea    0xc49(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x100(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x40,%edx
lea    0xb94(%rip),%rax
lea    0xc2f(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x108(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x40,%edx
lea    0xb72(%rip),%rax
lea    0xc16(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x110(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x20,%edx
lea    0xb50(%rip),%rax
lea    0xbfe(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x118(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x10,%edx
lea    0xb2e(%rip),%rax
lea    0xbe5(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x120(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x8,%edx
lea    0xb0c(%rip),%rax
lea    0xbcc(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x128(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x4,%edx
lea    0xaea(%rip),%rax
lea    0xbb3(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x130(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x2,%edx
lea    0xac8(%rip),%rax
lea    0xb9a(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x138(%rbp)
mov    -0x3c(%rbp),%edx
and    $0x1,%edx
lea    0xaa6(%rip),%rax
lea    0xb81(%rip),%rcx
cmp    $0x0,%edx
cmovne %rcx,%rax
mov    %rax,-0x140(%rbp)
mov    -0x30(%rbp),%rdi
mov    -0x34(%rbp),%esi
mov    -0x48(%rbp),%rcx
mov    -0x50(%rbp),%r8
mov    -0x58(%rbp),%r9
mov    -0x60(%rbp),%rax
mov    -0x68(%rbp),%rdx
mov    %rdx,-0x1e8(%rbp)
mov    -0x70(%rbp),%rdx
mov    %rdx,-0x1e0(%rbp)
mov    -0x78(%rbp),%rdx
mov    %rdx,-0x1d8(%rbp)
mov    -0x80(%rbp),%rdx
mov    %rdx,-0x1d0(%rbp)
mov    -0x88(%rbp),%rdx
mov    %rdx,-0x1c8(%rbp)
mov    -0x90(%rbp),%rdx
mov    %rdx,-0x1c0(%rbp)
mov    -0x98(%rbp),%rdx
mov    %rdx,-0x1b8(%rbp)
mov    -0xa0(%rbp),%rdx
mov    %rdx,-0x1b0(%rbp)
mov    -0xa8(%rbp),%rdx
mov    %rdx,-0x1a8(%rbp)
mov    -0xb0(%rbp),%rdx
mov    %rdx,-0x1a0(%rbp)
mov    -0xb8(%rbp),%rdx
mov    %rdx,-0x198(%rbp)
mov    -0xc0(%rbp),%rdx
mov    %rdx,-0x190(%rbp)
mov    -0xc8(%rbp),%rdx
mov    %rdx,-0x188(%rbp)
mov    -0xd0(%rbp),%rdx
mov    %rdx,-0x180(%rbp)
mov    -0xd8(%rbp),%rdx
mov    %rdx,-0x178(%rbp)
mov    -0xe0(%rbp),%rdx
mov    %rdx,-0x170(%rbp)
mov    -0xe8(%rbp),%rdx
mov    %rdx,-0x168(%rbp)
mov    -0xf0(%rbp),%rdx
mov    %rdx,-0x160(%rbp)
mov    -0xf8(%rbp),%rdx
mov    %rdx,-0x158(%rbp)
mov    -0x100(%rbp),%rdx
mov    %rdx,-0x150(%rbp)
mov    -0x108(%rbp),%r13
mov    -0x110(%rbp),%r12
mov    -0x118(%rbp),%r15
mov    -0x120(%rbp),%r14
mov    -0x128(%rbp),%rbx
mov    -0x130(%rbp),%r11
mov    -0x138(%rbp),%r10
mov    -0x140(%rbp),%rdx
mov    %rdx,-0x148(%rbp)
lea    0xa13(%rip),%rdx
mov    %rax,(%rsp)
mov    -0x1e8(%rbp),%rax
mov    %rax,0x8(%rsp)
mov    -0x1e0(%rbp),%rax
mov    %rax,0x10(%rsp)
mov    -0x1d8(%rbp),%rax
mov    %rax,0x18(%rsp)
mov    -0x1d0(%rbp),%rax
mov    %rax,0x20(%rsp)
mov    -0x1c8(%rbp),%rax
mov    %rax,0x28(%rsp)
mov    -0x1c0(%rbp),%rax
mov    %rax,0x30(%rsp)
mov    -0x1b8(%rbp),%rax
mov    %rax,0x38(%rsp)
mov    -0x1b0(%rbp),%rax
mov    %rax,0x40(%rsp)
mov    -0x1a8(%rbp),%rax
mov    %rax,0x48(%rsp)
mov    -0x1a0(%rbp),%rax
mov    %rax,0x50(%rsp)
mov    -0x198(%rbp),%rax
mov    %rax,0x58(%rsp)
mov    -0x190(%rbp),%rax
mov    %rax,0x60(%rsp)
mov    -0x188(%rbp),%rax
mov    %rax,0x68(%rsp)
mov    -0x180(%rbp),%rax
mov    %rax,0x70(%rsp)
mov    -0x178(%rbp),%rax
mov    %rax,0x78(%rsp)
mov    -0x170(%rbp),%rax
mov    %rax,0x80(%rsp)
mov    -0x168(%rbp),%rax
mov    %rax,0x88(%rsp)
mov    -0x160(%rbp),%rax
mov    %rax,0x90(%rsp)
mov    -0x158(%rbp),%rax
mov    %rax,0x98(%rsp)
mov    -0x150(%rbp),%rax
mov    %rax,0xa0(%rsp)
mov    -0x148(%rbp),%rax
mov    %r13,0xa8(%rsp)
mov    %r12,0xb0(%rsp)
mov    %r15,0xb8(%rsp)
mov    %r14,0xc0(%rsp)
mov    %rbx,0xc8(%rsp)
mov    %r11,0xd0(%rsp)
mov    %r10,0xd8(%rsp)
mov    %rax,0xe0(%rsp)
call   1030 <snprintf@plt>
add    $0x2a8,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

x86 assembly (clang, -O2):
<i830_debug_dspclk_gate_d>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0xa8,%rsp
mov    %ecx,%eax
test   $0x40000000,%ecx
lea    0xf06(%rip),%rdx
lea    0xec9(%rip),%rcx
cmove  %rdx,%rcx
test   $0x20000000,%eax
lea    0xec3(%rip),%r8
cmove  %rdx,%r8
test   $0x10000000,%eax
lea    0xebb(%rip),%r9
cmove  %rdx,%r9
test   $0x8000000,%eax
lea    0xeb4(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0xa0(%rsp)
test   $0x4000000,%eax
lea    0xea5(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x98(%rsp)
test   $0x2000000,%eax
lea    0xe96(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x90(%rsp)
test   $0x1000000,%eax
lea    0xe88(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x88(%rsp)
test   $0x800000,%eax
lea    0xe79(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x80(%rsp)
test   $0x400000,%eax
lea    0xe6a(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x78(%rsp)
test   $0x200000,%eax
lea    0xe5e(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x70(%rsp)
test   $0x100000,%eax
lea    0xe52(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x68(%rsp)
test   $0x80000,%eax
lea    0xe46(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x60(%rsp)
test   $0x40000,%eax
lea    0xe3a(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x58(%rsp)
test   $0x20000,%eax
lea    0xe2e(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x50(%rsp)
test   $0x10000,%eax
lea    0xe22(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x48(%rsp)
test   $0x8000,%eax
lea    0xe16(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x40(%rsp)
test   $0x4000,%eax
lea    0xe0a(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x38(%rsp)
test   $0x2000,%eax
lea    0xdff(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x30(%rsp)
test   $0x1000,%eax
lea    0xdf4(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x28(%rsp)
test   $0x800,%eax
lea    0xde8(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x20(%rsp)
test   $0x400,%eax
lea    0xddc(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x18(%rsp)
test   $0x200,%eax
lea    0xdd0(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x10(%rsp)
test   $0x100,%eax
lea    0xdc3(%rip),%rbp
cmove  %rdx,%rbp
mov    %rbp,0x8(%rsp)
test   $0x80,%al
lea    0xdb9(%rip),%rbp
cmove  %rdx,%rbp
test   $0x40,%al
lea    0xdb4(%rip),%r13
cmove  %rdx,%r13
lea    0xdb2(%rip),%r12
cmove  %rdx,%r12
test   $0x20,%al
lea    0xdaf(%rip),%r15
cmove  %rdx,%r15
test   $0x10,%al
lea    0xdab(%rip),%r14
cmove  %rdx,%r14
test   $0x8,%al
lea    0xda7(%rip),%rbx
cmove  %rdx,%rbx
test   $0x4,%al
lea    0xda3(%rip),%r11
cmove  %rdx,%r11
test   $0x2,%al
lea    0xd9f(%rip),%r10
cmove  %rdx,%r10
test   $0x1,%al
lea    0xd9b(%rip),%rax
cmove  %rdx,%rax
sub    $0x8,%rsp
lea    0xd95(%rip),%rdx
push   %rax
push   %r10
push   %r11
push   %rbx
push   %r14
push   %r15
push   %r12
push   %r13
push   %rbp
push   0x58(%rsp)
push   0x68(%rsp)
push   0x78(%rsp)
push   0x88(%rsp)
push   0x98(%rsp)
push   0xa8(%rsp)
push   0xb8(%rsp)
push   0xc8(%rsp)
push   0xd8(%rsp)
push   0xe8(%rsp)
push   0xf8(%rsp)
push   0x108(%rsp)
push   0x118(%rsp)
push   0x128(%rsp)
push   0x138(%rsp)
push   0x148(%rsp)
push   0x158(%rsp)
push   0x168(%rsp)
push   0x178(%rsp)
push   0x188(%rsp)
call   1030 <snprintf@plt>
add    $0x198,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
@.str = [10 x i8] c" DPUNIT_B\00"
@.str.1 = [1 x i8] zeroinitializer
@.str.2 = [8 x i8] c" VSUNIT\00"
@.str.3 = [9 x i8] c" VRHUNIT\00"
@.str.4 = [9 x i8] c" VRDUNIT\00"
@.str.5 = [9 x i8] c" AUDUNIT\00"
@.str.6 = [10 x i8] c" DPUNIT_A\00"
@.str.7 = [9 x i8] c" DPCUNIT\00"
@.str.8 = [9 x i8] c" TVRUNIT\00"
@.str.9 = [9 x i8] c" TVCUNIT\00"
@.str.10 = [9 x i8] c" TVFUNIT\00"
@.str.11 = [9 x i8] c" TVEUNIT\00"
@.str.12 = [9 x i8] c" DVSUNIT\00"
@.str.13 = [9 x i8] c" DSSUNIT\00"
@.str.14 = [9 x i8] c" DDBUNIT\00"
@.str.15 = [9 x i8] c" DPRUNIT\00"
@.str.16 = [9 x i8] c" DPFUNIT\00"
@.str.17 = [10 x i8] c" DPBMUNIT\00"
@.str.18 = [10 x i8] c" DPLSUNIT\00"
@.str.19 = [9 x i8] c" DPLUNIT\00"
@.str.20 = [9 x i8] c" DPOUNIT\00"
@.str.21 = [9 x i8] c" DPBUNIT\00"
@.str.22 = [8 x i8] c" DCUNIT\00"
@.str.23 = [8 x i8] c" DPUNIT\00"
@.str.24 = [8 x i8] c" VRUNIT\00"
@.str.25 = [9 x i8] c" OVHUNIT\00"
@.str.26 = [10 x i8] c" DPIOUNIT\00"
@.str.27 = [9 x i8] c" OVFUNIT\00"
@.str.28 = [9 x i8] c" OVBUNIT\00"
@.str.29 = [9 x i8] c" OVRUNIT\00"
@.str.30 = [9 x i8] c" OVCUNIT\00"
@.str.31 = [9 x i8] c" OVUUNIT\00"
@.str.32 = [9 x i8] c" OVLUNIT\00"
@.str.33 = [86 x i8] c"clock gates disabled:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\00"
define void @i830_debug_dspclk_gate_d(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 i8*
%14 = alloca i8*
%15 = alloca i8*
%16 = alloca i8*
%17 = alloca i8*
%18 = alloca i8*
%19 = alloca i8*
%20 = alloca i8*
%21 = alloca i8*
%22 = alloca i8*
%23 = alloca i8*
%24 = alloca i8*
%25 = alloca i8*
%26 = alloca i8*
%27 = alloca i8*
%28 = alloca i8*
%29 = alloca i8*
%30 = alloca i8*
%31 = alloca i8*
%32 = alloca i8*
%33 = alloca i8*
%34 = alloca i8*
%35 = alloca i8*
%36 = alloca i8*
%37 = alloca i8*
%38 = alloca i8*
%39 = alloca i8*
%40 = alloca i8*
%41 = alloca i8*
%42 = alloca i8*
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
%43 = load i32, i32* %9
%44 = and i32 %43, 1073741824
%45 = icmp ne i32 %44, 0
%46 = zext i1 %45 to i64
%47 = select i1 %45, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %47, i8** %11
%48 = load i32, i32* %9
%49 = and i32 %48, 536870912
%50 = icmp ne i32 %49, 0
%51 = zext i1 %50 to i64
%52 = select i1 %50, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %52, i8** %12
%53 = load i32, i32* %9
%54 = and i32 %53, 268435456
%55 = icmp ne i32 %54, 0
%56 = zext i1 %55 to i64
%57 = select i1 %55, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %57, i8** %13
%58 = load i32, i32* %9
%59 = and i32 %58, 134217728
%60 = icmp ne i32 %59, 0
%61 = zext i1 %60 to i64
%62 = select i1 %60, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.4, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %62, i8** %14
%63 = load i32, i32* %9
%64 = and i32 %63, 67108864
%65 = icmp ne i32 %64, 0
%66 = zext i1 %65 to i64
%67 = select i1 %65, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %67, i8** %15
%68 = load i32, i32* %9
%69 = and i32 %68, 33554432
%70 = icmp ne i32 %69, 0
%71 = zext i1 %70 to i64
%72 = select i1 %70, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.6, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %72, i8** %16
%73 = load i32, i32* %9
%74 = and i32 %73, 16777216
%75 = icmp ne i32 %74, 0
%76 = zext i1 %75 to i64
%77 = select i1 %75, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %77, i8** %17
%78 = load i32, i32* %9
%79 = and i32 %78, 8388608
%80 = icmp ne i32 %79, 0
%81 = zext i1 %80 to i64
%82 = select i1 %80, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %82, i8** %18
%83 = load i32, i32* %9
%84 = and i32 %83, 4194304
%85 = icmp ne i32 %84, 0
%86 = zext i1 %85 to i64
%87 = select i1 %85, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.9, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %87, i8** %19
%88 = load i32, i32* %9
%89 = and i32 %88, 2097152
%90 = icmp ne i32 %89, 0
%91 = zext i1 %90 to i64
%92 = select i1 %90, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %92, i8** %20
%93 = load i32, i32* %9
%94 = and i32 %93, 1048576
%95 = icmp ne i32 %94, 0
%96 = zext i1 %95 to i64
%97 = select i1 %95, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %97, i8** %21
%98 = load i32, i32* %9
%99 = and i32 %98, 524288
%100 = icmp ne i32 %99, 0
%101 = zext i1 %100 to i64
%102 = select i1 %100, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.12, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %102, i8** %22
%103 = load i32, i32* %9
%104 = and i32 %103, 262144
%105 = icmp ne i32 %104, 0
%106 = zext i1 %105 to i64
%107 = select i1 %105, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.13, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %107, i8** %23
%108 = load i32, i32* %9
%109 = and i32 %108, 131072
%110 = icmp ne i32 %109, 0
%111 = zext i1 %110 to i64
%112 = select i1 %110, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.14, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %112, i8** %24
%113 = load i32, i32* %9
%114 = and i32 %113, 65536
%115 = icmp ne i32 %114, 0
%116 = zext i1 %115 to i64
%117 = select i1 %115, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.15, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %117, i8** %25
%118 = load i32, i32* %9
%119 = and i32 %118, 32768
%120 = icmp ne i32 %119, 0
%121 = zext i1 %120 to i64
%122 = select i1 %120, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.16, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %122, i8** %26
%123 = load i32, i32* %9
%124 = and i32 %123, 16384
%125 = icmp ne i32 %124, 0
%126 = zext i1 %125 to i64
%127 = select i1 %125, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %127, i8** %27
%128 = load i32, i32* %9
%129 = and i32 %128, 8192
%130 = icmp ne i32 %129, 0
%131 = zext i1 %130 to i64
%132 = select i1 %130, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %132, i8** %28
%133 = load i32, i32* %9
%134 = and i32 %133, 4096
%135 = icmp ne i32 %134, 0
%136 = zext i1 %135 to i64
%137 = select i1 %135, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %137, i8** %29
%138 = load i32, i32* %9
%139 = and i32 %138, 2048
%140 = icmp ne i32 %139, 0
%141 = zext i1 %140 to i64
%142 = select i1 %140, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.20, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %142, i8** %30
%143 = load i32, i32* %9
%144 = and i32 %143, 1024
%145 = icmp ne i32 %144, 0
%146 = zext i1 %145 to i64
%147 = select i1 %145, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.21, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %147, i8** %31
%148 = load i32, i32* %9
%149 = and i32 %148, 512
%150 = icmp ne i32 %149, 0
%151 = zext i1 %150 to i64
%152 = select i1 %150, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %152, i8** %32
%153 = load i32, i32* %9
%154 = and i32 %153, 256
%155 = icmp ne i32 %154, 0
%156 = zext i1 %155 to i64
%157 = select i1 %155, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.23, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %157, i8** %33
%158 = load i32, i32* %9
%159 = and i32 %158, 128
%160 = icmp ne i32 %159, 0
%161 = zext i1 %160 to i64
%162 = select i1 %160, i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %162, i8** %34
%163 = load i32, i32* %9
%164 = and i32 %163, 64
%165 = icmp ne i32 %164, 0
%166 = zext i1 %165 to i64
%167 = select i1 %165, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %167, i8** %35
%168 = load i32, i32* %9
%169 = and i32 %168, 64
%170 = icmp ne i32 %169, 0
%171 = zext i1 %170 to i64
%172 = select i1 %170, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %172, i8** %36
%173 = load i32, i32* %9
%174 = and i32 %173, 32
%175 = icmp ne i32 %174, 0
%176 = zext i1 %175 to i64
%177 = select i1 %175, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %177, i8** %37
%178 = load i32, i32* %9
%179 = and i32 %178, 16
%180 = icmp ne i32 %179, 0
%181 = zext i1 %180 to i64
%182 = select i1 %180, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %182, i8** %38
%183 = load i32, i32* %9
%184 = and i32 %183, 8
%185 = icmp ne i32 %184, 0
%186 = zext i1 %185 to i64
%187 = select i1 %185, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %187, i8** %39
%188 = load i32, i32* %9
%189 = and i32 %188, 4
%190 = icmp ne i32 %189, 0
%191 = zext i1 %190 to i64
%192 = select i1 %190, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %192, i8** %40
%193 = load i32, i32* %9
%194 = and i32 %193, 2
%195 = icmp ne i32 %194, 0
%196 = zext i1 %195 to i64
%197 = select i1 %195, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.31, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %197, i8** %41
%198 = load i32, i32* %9
%199 = and i32 %198, 1
%200 = icmp ne i32 %199, 0
%201 = zext i1 %200 to i64
%202 = select i1 %200, i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.32, i64 0, i64 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0)
store i8* %202, i8** %42
%203 = load i8*, i8** %6
%204 = load i32, i32* %7
%205 = load i8*, i8** %11
%206 = load i8*, i8** %12
%207 = load i8*, i8** %13
%208 = load i8*, i8** %14
%209 = load i8*, i8** %15
%210 = load i8*, i8** %16
%211 = load i8*, i8** %17
%212 = load i8*, i8** %18
%213 = load i8*, i8** %19
%214 = load i8*, i8** %20
%215 = load i8*, i8** %21
%216 = load i8*, i8** %22
%217 = load i8*, i8** %23
%218 = load i8*, i8** %24
%219 = load i8*, i8** %25
%220 = load i8*, i8** %26
%221 = load i8*, i8** %27
%222 = load i8*, i8** %28
%223 = load i8*, i8** %29
%224 = load i8*, i8** %30
%225 = load i8*, i8** %31
%226 = load i8*, i8** %32
%227 = load i8*, i8** %33
%228 = load i8*, i8** %34
%229 = load i8*, i8** %35
%230 = load i8*, i8** %36
%231 = load i8*, i8** %37
%232 = load i8*, i8** %38
%233 = load i8*, i8** %39
%234 = load i8*, i8** %40
%235 = load i8*, i8** %41
%236 = load i8*, i8** %42
%237 = call i32 @snprintf(i8* %203, i32 %204, i8* getelementptr inbounds ([86 x i8], [86 x i8]* @.str.33, i64 0, i64 0), i8* %205, i8* %206, i8* %207, i8* %208, i8* %209, i8* %210, i8* %211, i8* %212, i8* %213, i8* %214, i8* %215, i8* %216, i8* %217, i8* %218, i8* %219, i8* %220, i8* %221, i8* %222, i8* %223, i8* %224, i8* %225, i8* %226, i8* %227, i8* %228, i8* %229, i8* %230, i8* %231, i8* %232, i8* %233, i8* %234, i8* %235, i8* %236)
ret void
}

LLVM IR (-O2):
@.str = [10 x i8] c" DPUNIT_B\00"
@.str.1 = [1 x i8] zeroinitializer
@.str.2 = [8 x i8] c" VSUNIT\00"
@.str.3 = [9 x i8] c" VRHUNIT\00"
@.str.4 = [9 x i8] c" VRDUNIT\00"
@.str.5 = [9 x i8] c" AUDUNIT\00"
@.str.6 = [10 x i8] c" DPUNIT_A\00"
@.str.7 = [9 x i8] c" DPCUNIT\00"
@.str.8 = [9 x i8] c" TVRUNIT\00"
@.str.9 = [9 x i8] c" TVCUNIT\00"
@.str.10 = [9 x i8] c" TVFUNIT\00"
@.str.11 = [9 x i8] c" TVEUNIT\00"
@.str.12 = [9 x i8] c" DVSUNIT\00"
@.str.13 = [9 x i8] c" DSSUNIT\00"
@.str.14 = [9 x i8] c" DDBUNIT\00"
@.str.15 = [9 x i8] c" DPRUNIT\00"
@.str.16 = [9 x i8] c" DPFUNIT\00"
@.str.17 = [10 x i8] c" DPBMUNIT\00"
@.str.18 = [10 x i8] c" DPLSUNIT\00"
@.str.19 = [9 x i8] c" DPLUNIT\00"
@.str.20 = [9 x i8] c" DPOUNIT\00"
@.str.21 = [9 x i8] c" DPBUNIT\00"
@.str.22 = [8 x i8] c" DCUNIT\00"
@.str.23 = [8 x i8] c" DPUNIT\00"
@.str.24 = [8 x i8] c" VRUNIT\00"
@.str.25 = [9 x i8] c" OVHUNIT\00"
@.str.26 = [10 x i8] c" DPIOUNIT\00"
@.str.27 = [9 x i8] c" OVFUNIT\00"
@.str.28 = [9 x i8] c" OVBUNIT\00"
@.str.29 = [9 x i8] c" OVRUNIT\00"
@.str.30 = [9 x i8] c" OVCUNIT\00"
@.str.31 = [9 x i8] c" OVUUNIT\00"
@.str.32 = [9 x i8] c" OVLUNIT\00"
@.str.33 = [86 x i8] c"clock gates disabled:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\00"
define void @i830_debug_dspclk_gate_d(i8* %0, i32 %1, i32 %2, i32 %3, i32 %4) {
%6 = and i32 %3, 1073741824
%7 = icmp eq i32 %6, 0
%8 = select i1 %7, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str, i64 0, i64 0)
%9 = and i32 %3, 536870912
%10 = icmp eq i32 %9, 0
%11 = select i1 %10, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.2, i64 0, i64 0)
%12 = and i32 %3, 268435456
%13 = icmp eq i32 %12, 0
%14 = select i1 %13, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.3, i64 0, i64 0)
%15 = and i32 %3, 134217728
%16 = icmp eq i32 %15, 0
%17 = select i1 %16, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.4, i64 0, i64 0)
%18 = and i32 %3, 67108864
%19 = icmp eq i32 %18, 0
%20 = select i1 %19, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.5, i64 0, i64 0)
%21 = and i32 %3, 33554432
%22 = icmp eq i32 %21, 0
%23 = select i1 %22, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.6, i64 0, i64 0)
%24 = and i32 %3, 16777216
%25 = icmp eq i32 %24, 0
%26 = select i1 %25, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.7, i64 0, i64 0)
%27 = and i32 %3, 8388608
%28 = icmp eq i32 %27, 0
%29 = select i1 %28, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.8, i64 0, i64 0)
%30 = and i32 %3, 4194304
%31 = icmp eq i32 %30, 0
%32 = select i1 %31, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.9, i64 0, i64 0)
%33 = and i32 %3, 2097152
%34 = icmp eq i32 %33, 0
%35 = select i1 %34, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.10, i64 0, i64 0)
%36 = and i32 %3, 1048576
%37 = icmp eq i32 %36, 0
%38 = select i1 %37, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.11, i64 0, i64 0)
%39 = and i32 %3, 524288
%40 = icmp eq i32 %39, 0
%41 = select i1 %40, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.12, i64 0, i64 0)
%42 = and i32 %3, 262144
%43 = icmp eq i32 %42, 0
%44 = select i1 %43, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.13, i64 0, i64 0)
%45 = and i32 %3, 131072
%46 = icmp eq i32 %45, 0
%47 = select i1 %46, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.14, i64 0, i64 0)
%48 = and i32 %3, 65536
%49 = icmp eq i32 %48, 0
%50 = select i1 %49, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.15, i64 0, i64 0)
%51 = and i32 %3, 32768
%52 = icmp eq i32 %51, 0
%53 = select i1 %52, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.16, i64 0, i64 0)
%54 = and i32 %3, 16384
%55 = icmp eq i32 %54, 0
%56 = select i1 %55, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.17, i64 0, i64 0)
%57 = and i32 %3, 8192
%58 = icmp eq i32 %57, 0
%59 = select i1 %58, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.18, i64 0, i64 0)
%60 = and i32 %3, 4096
%61 = icmp eq i32 %60, 0
%62 = select i1 %61, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.19, i64 0, i64 0)
%63 = and i32 %3, 2048
%64 = icmp eq i32 %63, 0
%65 = select i1 %64, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.20, i64 0, i64 0)
%66 = and i32 %3, 1024
%67 = icmp eq i32 %66, 0
%68 = select i1 %67, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.21, i64 0, i64 0)
%69 = and i32 %3, 512
%70 = icmp eq i32 %69, 0
%71 = select i1 %70, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.22, i64 0, i64 0)
%72 = and i32 %3, 256
%73 = icmp eq i32 %72, 0
%74 = select i1 %73, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.23, i64 0, i64 0)
%75 = and i32 %3, 128
%76 = icmp eq i32 %75, 0
%77 = select i1 %76, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str.24, i64 0, i64 0)
%78 = and i32 %3, 64
%79 = icmp eq i32 %78, 0
%80 = select i1 %79, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.25, i64 0, i64 0)
%81 = select i1 %79, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.26, i64 0, i64 0)
%82 = and i32 %3, 32
%83 = icmp eq i32 %82, 0
%84 = select i1 %83, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.27, i64 0, i64 0)
%85 = and i32 %3, 16
%86 = icmp eq i32 %85, 0
%87 = select i1 %86, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.28, i64 0, i64 0)
%88 = and i32 %3, 8
%89 = icmp eq i32 %88, 0
%90 = select i1 %89, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.29, i64 0, i64 0)
%91 = and i32 %3, 4
%92 = icmp eq i32 %91, 0
%93 = select i1 %92, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.30, i64 0, i64 0)
%94 = and i32 %3, 2
%95 = icmp eq i32 %94, 0
%96 = select i1 %95, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.31, i64 0, i64 0)
%97 = and i32 %3, 1
%98 = icmp eq i32 %97, 0
%99 = select i1 %98, i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.32, i64 0, i64 0)
%100 = tail call i32 @snprintf(i8* %0, i32 %1, i8* getelementptr inbounds ([86 x i8], [86 x i8]* @.str.33, i64 0, i64 0), i8* %8, i8* %11, i8* %14, i8* %17, i8* %20, i8* %23, i8* %26, i8* %29, i8* %32, i8* %35, i8* %38, i8* %41, i8* %44, i8* %47, i8* %50, i8* %53, i8* %56, i8* %59, i8* %62, i8* %65, i8* %68, i8* %71, i8* %74, i8* %77, i8* %80, i8* %81, i8* %84, i8* %87, i8* %90, i8* %93, i8* %96, i8* %99)
ret void
}