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

/* Variables and functions */
int /*<<< orphan*/ printf(char *, int, ...);
void print_mk_devcfg1(uint32_t devcfg1, uint32_t alternate) {
  if (0 == alternate) {
    printf(" BF1DEVCFG1 = 0x%08X\n", devcfg1);
  } else {
    printf(" BF2DEVCFG1 = 0x%08X\n", devcfg1);
  }
  if (devcfg1 & 0x80000000) {
    printf("                %01x        Deadman Timer enabled and CANNOT be "
           "disabled in SW\n",
           0x80000000 >> 28);
  } else {
    printf("                %01x        Deadman Timer disabled and can be "
           "enabled in SW\n",
           0);
  }
  if (((devcfg1 & 0x7C000000) >> 26) > (31 - 8)) {
    printf("                %02x       Deadman Timer Count Select: RESERVED\n",
           (devcfg1 & 0x7C000000) >> 24);
  } else {
    printf("                %02x       Deadman Timer Count Select: 2^%d (%d)\n",
           (devcfg1 & 0x7C000000) >> 24, 8 + ((devcfg1 & 0x7C000000) >> 26),
           1 << (8 + ((devcfg1 & 0x7C000000) >> 26)));
  }
  switch (devcfg1 & 0x03000000) {
  case 0x03000000:
    printf("                 %01x       Watchdog Timer Window Size 25%%\n",
           (devcfg1 & 0x03000000) >> 24);
    break;
  case 0x02000000:
    printf("                 %01x       Watchdog Timer Window Size 37.5%%\n",
           (devcfg1 & 0x03000000) >> 24);
    break;
  case 0x01000000:
    printf("                 %01x       Watchdog Timer Window Size 50%%\n",
           (devcfg1 & 0x03000000) >> 24);
    break;
  case 0x00000000:
    printf("                 %01x       Watchdog Timer Window Size 75%%\n",
           (devcfg1 & 0x03000000) >> 24);
    break;
  }
  if (devcfg1 & 0x00800000) {
    printf("                  %01x      Watchdog timer is enabled, CANNOT be "
           "disabled in SW\n",
           0x00800000 >> 20);
  } else {
    printf("                  %01x      Watchdog Timer disabled and can be "
           "enabled in SW\n",
           0);
  }
  if (devcfg1 & 0x00400000) {
    printf("                  %01x      Watchdog timer is in non-window mode\n",
           0x00400000 >> 20);
  } else {
    printf("                  %01x      Watchdog Timer is in window mode\n", 0);
  }
  if (devcfg1 & 0x00200000) {
    printf("                  %01x      Watchdog timer stops during Flash "
           "programming\n",
           0x00200000 >> 20);
  } else {
    printf("                  %01x      Watchdog Timer runs during Flash "
           "programming\n",
           0);
  }
  switch (devcfg1 & 0x001F0000) {
  case 0x00130000:
    printf("                  %02x     Watchdog Timer Postscale 1:524288\n",
           0x00140000 >> 16);
    break;
  case 0x00120000:
    printf("                  %02x     Watchdog Timer Postscale 1:262144\n",
           0x00120000 >> 16);
    break;
  case 0x00110000:
    printf("                  %02x     Watchdog Timer Postscale 1:131072\n",
           0x00110000 >> 16);
    break;
  case 0x00100000:
    printf("                  %02x     Watchdog Timer Postscale 1:65536\n",
           0x00100000 >> 16);
    break;
  case 0x000F0000:
    printf("                  %02x     Watchdog Timer Postscale 1:32768\n",
           0x000F0000 >> 16);
    break;
  case 0x000E0000:
    printf("                  %02x     Watchdog Timer Postscale 1:16384\n",
           0x000E0000 >> 16);
    break;
  case 0x000D0000:
    printf("                  %02x     Watchdog Timer Postscale 1:8192\n",
           0x000D0000 >> 16);
    break;
  case 0x000C0000:
    printf("                  %02x     Watchdog Timer Postscale 1:4096\n",
           0x000C0000 >> 16);
    break;
  case 0x000B0000:
    printf("                  %02x     Watchdog Timer Postscale 1:2048\n",
           0x000B0000 >> 16);
    break;
  case 0x000A0000:
    printf("                  %02x     Watchdog Timer Postscale 1:1024\n",
           0x000A0000 >> 16);
    break;
  case 0x00090000:
    printf("                  %02x     Watchdog Timer Postscale 1:512\n",
           0x00090000 >> 16);
    break;
  case 0x00080000:
    printf("                  %02x     Watchdog Timer Postscale 1:256\n",
           0x00080000 >> 16);
    break;
  case 0x00070000:
    printf("                  %02x     Watchdog Timer Postscale 1:128\n",
           0x00070000 >> 16);
    break;
  case 0x00060000:
    printf("                  %02x     Watchdog Timer Postscale 1:64\n",
           0x00060000 >> 16);
    break;
  case 0x00050000:
    printf("                  %02x     Watchdog Timer Postscale 1:32\n",
           0x00050000 >> 16);
    break;
  case 0x00040000:
    printf("                  %02x     Watchdog Timer Postscale 1:16\n",
           0x00040000 >> 16);
    break;
  case 0x00030000:
    printf("                  %02x     Watchdog Timer Postscale 1:8\n",
           0x00030000 >> 16);
    break;
  case 0x00020000:
    printf("                  %02x     Watchdog Timer Postscale 1:4\n",
           0x00020000 >> 16);
    break;
  case 0x00010000:
    printf("                  %02x     Watchdog Timer Postscale 1:2\n",
           0x00010000 >> 16);
    break;
  case 0x00000000:
    printf("                  %02x     Watchdog Timer Postscale 1:1\n",
           0x00000000 >> 16);
    break;
  case 0x00140000:
  default:
    printf("                  %02x     Watchdog Timer Postscale 1:1048579\n",
           0x00140000 >> 16);
    break;
  }
  switch (devcfg1 & 0x0000C000) {
  case 0x0000C000:
    printf("                    %01x    Clock switching enabled, clock "
           "monitoring enabled\n",
           0x0000C000 >> 12);
    break;
  case 0x00008000:
    printf("                    %01x    Clock switching disabled, clock "
           "monitoring enabled\n",
           0x00008000 >> 12);
    break;
  case 0x00004000:
    printf("                    %01x    Clock switching enabled, clock "
           "monitoring disabled\n",
           0x00004000 >> 12);
    break;
  case 0x00000000:
    printf("                    %01x    Clock switching disabled, clock "
           "monitoring disabled\n",
           0x00000000 >> 12);
    break;
  }
  if (devcfg1 & 0x00000400) {
    printf("                     %01x   CLKO output disabled\n",
           0x00000400 >> 8);
  } else {
    printf("                     %01x   CLKO output active on OSC2\n", 0);
  }
  switch (devcfg1 & 0x00000300) {
  case 0x00000300:
    printf("                     %01x   POSC disabled\n", 0x00000300 >> 8);
    break;
  case 0x00000200:
    printf("                     %01x   POSC set to HS Oscillator mode\n",
           0x00000200 >> 8);
    break;
  case 0x00000100:
    printf("                     %01x   POSC - RESERVED setting\n",
           0x00000100 >> 8);
    break;
  case 0x00000000:
    printf("                     %01x   POSC set to EC mode\n",
           0x00000000 >> 8);
    break;
  }
  if (devcfg1 & 0x00000080) {
    printf("                      %01x  Internal External Switchover enabled\n",
           0x00000080 >> 4);
  } else {
    printf(
        "                      %01x  Internal External Switchover disabled\n",
        0);
  }
  if (devcfg1 & 0x00000040) {
    printf("                      %01x  SOSC enabled\n", 0x00000040 >> 4);
  } else {
    printf("                      %01x  SOSC disabled\n", 0);
  }
  switch (devcfg1 & 0x00000038) {
  case 0x00000038:
    printf("                      %02x Deadman Timer Window is 127/128 counter "
           "value\n",
           0x00000038);
    break;
  case 0x00000030:
    printf("                      %02x Deadman Timer Window is 63/64 counter "
           "value\n",
           0x00000030);
    break;
  case 0x00000028:
    printf("                      %02x Deadman Timer Window is 31/32 counter "
           "value\n",
           0x00000028);
    break;
  case 0x00000020:
    printf("                      %02x Deadman Timer Window is 15/16 counter "
           "value\n",
           0x00000020);
    break;
  case 0x00000018:
    printf("                      %02x Deadman Timer Window is 7/8 counter "
           "value\n",
           0x00000018);
    break;
  case 0x00000010:
    printf("                      %02x Deadman Timer Window is 3/4 counter "
           "value\n",
           0x00000010);
    break;
  case 0x00000008:
    printf("                      %02x Deadman Timer Window is 1/2 counter "
           "value\n",
           0x00000008);
    break;
  case 0x00000000:
    printf("                      %02x Deadman Timer Window value is 0\n",
           0x00000000);
    break;
  }
  switch (devcfg1 & 0x00000007) {
  case 0x00000005:
    printf("                       %01x LPRC selected as Oscillator\n",
           0x00000005);
    break;
  case 0x00000004:
    printf("                       %01x SOSC selected as Oscillator\n",
           0x00000004);
    break;
  case 0x00000003:
    printf("                       %01x USB PLL selected as Oscillator\n",
           0x00000003);
    break;
  case 0x00000002:
    printf("                       %01x POSC selected as Oscillator\n",
           0x00000002);
    break;
  case 0x00000001:
    printf("                       %01x System PLL selected as Oscillator\n",
           0x00000001);
    break;
  case 0x00000000:
    printf("                       %01x FRC + divider selected as Oscillator\n",
           0x00000000);
    break;
  default:
    printf("                       %01x RESERVED bit selected for Oscillator\n",
           0x00000000);
    break;
  }
}


x86 assembly (clang, -O0):
<print_mk_devcfg1>:
push   %rbp
mov    %rsp,%rbp
sub    $0x40,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
xor    %eax,%eax
cmp    -0x10(%rbp),%rax
jne    1145 <print_mk_devcfg1+0x35>
mov    -0x8(%rbp),%rax
mov    %eax,%esi
lea    0xfc3(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1159 <print_mk_devcfg1+0x49>
mov    -0x8(%rbp),%rax
mov    %eax,%esi
lea    0xfc0(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
movabs $0x80000000,%rax
and    -0x8(%rbp),%rax
cmp    $0x0,%rax
je     1189 <print_mk_devcfg1+0x79>
lea    0xfb0(%rip),%rdi
mov    $0x8,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1199 <print_mk_devcfg1+0x89>
lea    0xfe8(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x7c000000,%rax
sar    $0x1a,%rax
cmp    $0x17,%rax
jle    11d4 <print_mk_devcfg1+0xc4>
mov    -0x8(%rbp),%rax
and    $0x7c000000,%rax
sar    $0x18,%rax
mov    %eax,%esi
lea    0xffd(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1222 <print_mk_devcfg1+0x112>
mov    -0x8(%rbp),%rax
and    $0x7c000000,%rax
sar    $0x18,%rax
mov    %eax,%esi
mov    -0x8(%rbp),%rdx
and    $0x7c000000,%rdx
sar    $0x1a,%rdx
add    $0x8,%rdx
mov    -0x8(%rbp),%rax
and    $0x7c000000,%rax
sar    $0x1a,%rax
add    $0x8,%rax
mov    %eax,%ecx
mov    $0x1,%eax
shl    %cl,%eax
mov    %eax,%ecx
lea    0xfeb(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x3000000,%rax
mov    %rax,-0x18(%rbp)
je     12e3 <print_mk_devcfg1+0x1d3>
jmp    123b <print_mk_devcfg1+0x12b>
mov    -0x18(%rbp),%rax
sub    $0x1000000,%rax
je     12c0 <print_mk_devcfg1+0x1b0>
jmp    1250 <print_mk_devcfg1+0x140>
mov    -0x18(%rbp),%rax
sub    $0x2000000,%rax
je     129d <print_mk_devcfg1+0x18d>
jmp    1265 <print_mk_devcfg1+0x155>
mov    -0x18(%rbp),%rax
sub    $0x3000000,%rax
jne    1301 <print_mk_devcfg1+0x1f1>
jmp    127a <print_mk_devcfg1+0x16a>
mov    -0x8(%rbp),%rax
and    $0x3000000,%rax
sar    $0x18,%rax
mov    %eax,%esi
lea    0xfb7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1301 <print_mk_devcfg1+0x1f1>
mov    -0x8(%rbp),%rax
and    $0x3000000,%rax
sar    $0x18,%rax
mov    %eax,%esi
lea    0xfd1(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1301 <print_mk_devcfg1+0x1f1>
mov    -0x8(%rbp),%rax
and    $0x3000000,%rax
sar    $0x18,%rax
mov    %eax,%esi
lea    0xfed(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1301 <print_mk_devcfg1+0x1f1>
mov    -0x8(%rbp),%rax
and    $0x3000000,%rax
sar    $0x18,%rax
mov    %eax,%esi
lea    0x1007(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x800000,%rax
cmp    $0x0,%rax
je     132d <print_mk_devcfg1+0x21d>
lea    0x1022(%rip),%rdi
mov    $0x8,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    133d <print_mk_devcfg1+0x22d>
lea    0x105b(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x400000,%rax
cmp    $0x0,%rax
je     1369 <print_mk_devcfg1+0x259>
lea    0x1085(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1379 <print_mk_devcfg1+0x269>
lea    0x10af(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x200000,%rax
cmp    $0x0,%rax
je     13a5 <print_mk_devcfg1+0x295>
lea    0x10c9(%rip),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    13b5 <print_mk_devcfg1+0x2a5>
lea    0x10fc(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x1f0000,%rax
mov    %rax,-0x20(%rbp)
je     173a <print_mk_devcfg1+0x62a>
jmp    13ce <print_mk_devcfg1+0x2be>
mov    -0x20(%rbp),%rax
sub    $0x10000,%rax
je     1722 <print_mk_devcfg1+0x612>
jmp    13e3 <print_mk_devcfg1+0x2d3>
mov    -0x20(%rbp),%rax
sub    $0x20000,%rax
je     170a <print_mk_devcfg1+0x5fa>
jmp    13f8 <print_mk_devcfg1+0x2e8>
mov    -0x20(%rbp),%rax
sub    $0x30000,%rax
je     16f2 <print_mk_devcfg1+0x5e2>
jmp    140d <print_mk_devcfg1+0x2fd>
mov    -0x20(%rbp),%rax
sub    $0x40000,%rax
je     16da <print_mk_devcfg1+0x5ca>
jmp    1422 <print_mk_devcfg1+0x312>
mov    -0x20(%rbp),%rax
sub    $0x50000,%rax
je     16c2 <print_mk_devcfg1+0x5b2>
jmp    1437 <print_mk_devcfg1+0x327>
mov    -0x20(%rbp),%rax
sub    $0x60000,%rax
je     16aa <print_mk_devcfg1+0x59a>
jmp    144c <print_mk_devcfg1+0x33c>
mov    -0x20(%rbp),%rax
sub    $0x70000,%rax
je     1692 <print_mk_devcfg1+0x582>
jmp    1461 <print_mk_devcfg1+0x351>
mov    -0x20(%rbp),%rax
sub    $0x80000,%rax
je     167a <print_mk_devcfg1+0x56a>
jmp    1476 <print_mk_devcfg1+0x366>
mov    -0x20(%rbp),%rax
sub    $0x90000,%rax
je     1662 <print_mk_devcfg1+0x552>
jmp    148b <print_mk_devcfg1+0x37b>
mov    -0x20(%rbp),%rax
sub    $0xa0000,%rax
je     164a <print_mk_devcfg1+0x53a>
jmp    14a0 <print_mk_devcfg1+0x390>
mov    -0x20(%rbp),%rax
sub    $0xb0000,%rax
je     1632 <print_mk_devcfg1+0x522>
jmp    14b5 <print_mk_devcfg1+0x3a5>
mov    -0x20(%rbp),%rax
sub    $0xc0000,%rax
je     161a <print_mk_devcfg1+0x50a>
jmp    14ca <print_mk_devcfg1+0x3ba>
mov    -0x20(%rbp),%rax
sub    $0xd0000,%rax
je     1602 <print_mk_devcfg1+0x4f2>
jmp    14df <print_mk_devcfg1+0x3cf>
mov    -0x20(%rbp),%rax
sub    $0xe0000,%rax
je     15ea <print_mk_devcfg1+0x4da>
jmp    14f4 <print_mk_devcfg1+0x3e4>
mov    -0x20(%rbp),%rax
sub    $0xf0000,%rax
je     15d2 <print_mk_devcfg1+0x4c2>
jmp    1509 <print_mk_devcfg1+0x3f9>
mov    -0x20(%rbp),%rax
sub    $0x100000,%rax
je     15ba <print_mk_devcfg1+0x4aa>
jmp    151e <print_mk_devcfg1+0x40e>
mov    -0x20(%rbp),%rax
sub    $0x110000,%rax
je     15a2 <print_mk_devcfg1+0x492>
jmp    1533 <print_mk_devcfg1+0x423>
mov    -0x20(%rbp),%rax
sub    $0x120000,%rax
je     158a <print_mk_devcfg1+0x47a>
jmp    1548 <print_mk_devcfg1+0x438>
mov    -0x20(%rbp),%rax
sub    $0x130000,%rax
je     1572 <print_mk_devcfg1+0x462>
jmp    155d <print_mk_devcfg1+0x44d>
mov    -0x20(%rbp),%rax
sub    $0x140000,%rax
je     174f <print_mk_devcfg1+0x63f>
jmp    1754 <print_mk_devcfg1+0x644>
lea    0xf79(%rip),%rdi
mov    $0x14,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0xf9f(%rip),%rdi
mov    $0x12,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0xfc5(%rip),%rdi
mov    $0x11,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0xfeb(%rip),%rdi
mov    $0x10,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x1010(%rip),%rdi
mov    $0xf,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x1035(%rip),%rdi
mov    $0xe,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x105a(%rip),%rdi
mov    $0xd,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x107e(%rip),%rdi
mov    $0xc,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x10a2(%rip),%rdi
mov    $0xb,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x10c6(%rip),%rdi
mov    $0xa,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x10ea(%rip),%rdi
mov    $0x9,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x110d(%rip),%rdi
mov    $0x8,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x1130(%rip),%rdi
mov    $0x7,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x1153(%rip),%rdi
mov    $0x6,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x1175(%rip),%rdi
mov    $0x5,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x1197(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x11b9(%rip),%rdi
mov    $0x3,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x11da(%rip),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x11fb(%rip),%rdi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
lea    0x121c(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1767 <print_mk_devcfg1+0x657>
jmp    1754 <print_mk_devcfg1+0x644>
lea    0x123b(%rip),%rdi
mov    $0x14,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0xc000,%rax
mov    %rax,-0x28(%rbp)
je     1807 <print_mk_devcfg1+0x6f7>
jmp    1780 <print_mk_devcfg1+0x670>
mov    -0x28(%rbp),%rax
sub    $0x4000,%rax
je     17ef <print_mk_devcfg1+0x6df>
jmp    1795 <print_mk_devcfg1+0x685>
mov    -0x28(%rbp),%rax
sub    $0x8000,%rax
je     17d7 <print_mk_devcfg1+0x6c7>
jmp    17aa <print_mk_devcfg1+0x69a>
mov    -0x28(%rbp),%rax
sub    $0xc000,%rax
jne    1817 <print_mk_devcfg1+0x707>
jmp    17bf <print_mk_devcfg1+0x6af>
lea    0x120f(%rip),%rdi
mov    $0xc,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1817 <print_mk_devcfg1+0x707>
lea    0x1246(%rip),%rdi
mov    $0x8,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1817 <print_mk_devcfg1+0x707>
lea    0x127e(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1817 <print_mk_devcfg1+0x707>
lea    0x12b6(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x400,%rax
cmp    $0x0,%rax
je     1843 <print_mk_devcfg1+0x733>
lea    0x12e3(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1853 <print_mk_devcfg1+0x743>
lea    0x12fd(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x300,%rax
mov    %rax,-0x30(%rbp)
je     18f3 <print_mk_devcfg1+0x7e3>
jmp    186c <print_mk_devcfg1+0x75c>
mov    -0x30(%rbp),%rax
sub    $0x100,%rax
je     18db <print_mk_devcfg1+0x7cb>
jmp    1881 <print_mk_devcfg1+0x771>
mov    -0x30(%rbp),%rax
sub    $0x200,%rax
je     18c3 <print_mk_devcfg1+0x7b3>
jmp    1896 <print_mk_devcfg1+0x786>
mov    -0x30(%rbp),%rax
sub    $0x300,%rax
jne    1903 <print_mk_devcfg1+0x7f3>
jmp    18ab <print_mk_devcfg1+0x79b>
lea    0x12cd(%rip),%rdi
mov    $0x3,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1903 <print_mk_devcfg1+0x7f3>
lea    0x12e0(%rip),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1903 <print_mk_devcfg1+0x7f3>
lea    0x1304(%rip),%rdi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1903 <print_mk_devcfg1+0x7f3>
lea    0x1321(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x80,%rax
cmp    $0x0,%rax
je     192f <print_mk_devcfg1+0x81f>
lea    0x132e(%rip),%rdi
mov    $0x8,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    193f <print_mk_devcfg1+0x82f>
lea    0x1358(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x40,%rax
cmp    $0x0,%rax
je     1969 <print_mk_devcfg1+0x859>
lea    0x1379(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1979 <print_mk_devcfg1+0x869>
lea    0x138b(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x38,%eax
mov    %rax,-0x38(%rbp)
sub    $0x38,%rax
ja     1a5a <print_mk_devcfg1+0x94a>
mov    -0x38(%rbp),%rax
lea    0x667(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x137d(%rip),%rdi
mov    $0x38,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x13af(%rip),%rdi
mov    $0x30,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x13df(%rip),%rdi
mov    $0x28,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x140f(%rip),%rdi
mov    $0x20,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x143f(%rip),%rdi
mov    $0x18,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x146d(%rip),%rdi
mov    $0x10,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x149b(%rip),%rdi
mov    $0x8,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1a5a <print_mk_devcfg1+0x94a>
lea    0x14c9(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
mov    -0x8(%rbp),%rax
and    $0x7,%eax
mov    %rax,-0x40(%rbp)
sub    $0x5,%rax
ja     1b10 <print_mk_devcfg1+0xa00>
mov    -0x40(%rbp),%rax
lea    0x66a(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x14cc(%rip),%rdi
mov    $0x5,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b20 <print_mk_devcfg1+0xa10>
lea    0x14ed(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b20 <print_mk_devcfg1+0xa10>
lea    0x150e(%rip),%rdi
mov    $0x3,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b20 <print_mk_devcfg1+0xa10>
lea    0x1532(%rip),%rdi
mov    $0x2,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b20 <print_mk_devcfg1+0xa10>
lea    0x1553(%rip),%rdi
mov    $0x1,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b20 <print_mk_devcfg1+0xa10>
lea    0x157a(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
jmp    1b20 <print_mk_devcfg1+0xa10>
lea    0x15a7(%rip),%rdi
xor    %esi,%esi
mov    $0x0,%al
call   1030 <printf@plt>
add    $0x40,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_mk_devcfg1>:
push   %rbx
mov    %rdi,%rbx
test   %rsi,%rsi
lea    0xf9a(%rip),%rax
lea    0xfa9(%rip),%rdi
cmove  %rax,%rdi
mov    %ebx,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x80000000,%ebx
jne    1145 <print_mk_devcfg1+0x35>
lea    0xff3(%rip),%rdi
xor    %esi,%esi
jmp    1151 <print_mk_devcfg1+0x41>
lea    0xf98(%rip),%rdi
mov    $0x8,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%esi
and    $0x7c000000,%esi
cmp    $0x5c000001,%rsi
jb     1193 <print_mk_devcfg1+0x83>
shr    $0x18,%rsi
lea    0x100d(%rip),%rdi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x18,%eax
and    $0x3,%eax
lea    0xe76(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    %rsi,%rcx
shr    $0x1a,%rcx
shr    $0x18,%rsi
add    $0x8,%rcx
mov    $0x1,%eax
shl    %cl,%eax
lea    0x1012(%rip),%rdi
mov    %rcx,%rdx
mov    %eax,%ecx
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x18,%eax
and    $0x3,%eax
lea    0xe35(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x10e2(%rip),%rdi
xor    %esi,%esi
jmp    1207 <print_mk_devcfg1+0xf7>
lea    0x109a(%rip),%rdi
mov    $0x1,%esi
jmp    1207 <print_mk_devcfg1+0xf7>
lea    0x104d(%rip),%rdi
mov    $0x2,%esi
jmp    1207 <print_mk_devcfg1+0xf7>
lea    0x1002(%rip),%rdi
mov    $0x3,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x800000,%ebx
jne    1221 <print_mk_devcfg1+0x111>
lea    0x112e(%rip),%rdi
xor    %esi,%esi
jmp    122d <print_mk_devcfg1+0x11d>
lea    0x10d2(%rip),%rdi
mov    $0x8,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x400000,%ebx
jne    1247 <print_mk_devcfg1+0x137>
lea    0x1198(%rip),%rdi
xor    %esi,%esi
jmp    1253 <print_mk_devcfg1+0x143>
lea    0x114b(%rip),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x200000,%ebx
jne    126d <print_mk_devcfg1+0x15d>
lea    0x11fb(%rip),%rdi
xor    %esi,%esi
jmp    1279 <print_mk_devcfg1+0x169>
lea    0x11a5(%rip),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x10,%eax
and    $0x1f,%eax
cmp    $0x13,%eax
ja     12c5 <print_mk_devcfg1+0x1b5>
lea    0xd7c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1675(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xda4(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1686(%rip),%rdi
mov    $0x14,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xd79(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x15e9(%rip),%rdi
mov    $0x1,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xd4e(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1585(%rip),%rdi
mov    $0x2,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xd23(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1521(%rip),%rdi
mov    $0x3,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xcf8(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x14bc(%rip),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xccd(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1457(%rip),%rdi
mov    $0x5,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xca2(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x13f2(%rip),%rdi
mov    $0x6,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xc77(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x138c(%rip),%rdi
mov    $0x7,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xc4c(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1326(%rip),%rdi
mov    $0x8,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xc21(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x12c0(%rip),%rdi
mov    $0x9,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xbf6(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1259(%rip),%rdi
mov    $0xa,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xbcb(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x11f2(%rip),%rdi
mov    $0xb,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xba0(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x118b(%rip),%rdi
mov    $0xc,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xb75(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1124(%rip),%rdi
mov    $0xd,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xb4a(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x10bc(%rip),%rdi
mov    $0xe,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xb1f(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1054(%rip),%rdi
mov    $0xf,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xaf4(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xfec(%rip),%rdi
mov    $0x10,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xac9(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xf83(%rip),%rdi
mov    $0x11,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xa9e(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xf1a(%rip),%rdi
mov    $0x12,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xa73(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0xeb1(%rip),%rdi
mov    $0x14,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0xe,%eax
and    $0x3,%eax
lea    0xa48(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1458(%rip),%rdi
xor    %esi,%esi
jmp    1654 <print_mk_devcfg1+0x544>
lea    0x13fd(%rip),%rdi
mov    $0x4,%esi
jmp    1654 <print_mk_devcfg1+0x544>
lea    0x139f(%rip),%rdi
mov    $0x8,%esi
jmp    1654 <print_mk_devcfg1+0x544>
lea    0x1342(%rip),%rdi
mov    $0xc,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x400,%ebx
jne    168b <print_mk_devcfg1+0x57b>
lea    0x1499(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x8,%eax
and    $0x3,%eax
lea    0x9ee(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x143f(%rip),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x8,%eax
and    $0x3,%eax
lea    0x9c3(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x151a(%rip),%rdi
xor    %esi,%esi
jmp    16e9 <print_mk_devcfg1+0x5d9>
lea    0x14da(%rip),%rdi
mov    $0x1,%esi
jmp    16e9 <print_mk_devcfg1+0x5d9>
lea    0x1490(%rip),%rdi
mov    $0x2,%esi
jmp    16e9 <print_mk_devcfg1+0x5d9>
lea    0x1457(%rip),%rdi
mov    $0x3,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x80,%bl
jne    1700 <print_mk_devcfg1+0x5f0>
lea    0x154e(%rip),%rdi
xor    %esi,%esi
jmp    170c <print_mk_devcfg1+0x5fc>
lea    0x1501(%rip),%rdi
mov    $0x8,%esi
xor    %eax,%eax
call   1030 <printf@plt>
test   $0x40,%bl
jne    1740 <print_mk_devcfg1+0x630>
lea    0x1598(%rip),%rdi
xor    %esi,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x3,%eax
and    $0x7,%eax
lea    0x949(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1546(%rip),%rdi
mov    $0x4,%esi
xor    %eax,%eax
call   1030 <printf@plt>
mov    %ebx,%eax
shr    $0x3,%eax
and    $0x7,%eax
lea    0x91e(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1764(%rip),%rdi
xor    %esi,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x1713(%rip),%rdi
mov    $0x8,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x16bf(%rip),%rdi
mov    $0x10,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x166b(%rip),%rdi
mov    $0x18,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x1615(%rip),%rdi
mov    $0x20,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x15bf(%rip),%rdi
mov    $0x28,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x1569(%rip),%rdi
mov    $0x30,%esi
jmp    17d6 <print_mk_devcfg1+0x6c6>
lea    0x1511(%rip),%rdi
mov    $0x38,%esi
xor    %eax,%eax
call   1030 <printf@plt>
and    $0x7,%ebx
cmp    $0x5,%rbx
ja     17ff <print_mk_devcfg1+0x6ef>
lea    0x8b3(%rip),%rax
movslq (%rax,%rbx,4),%rcx
add    %rax,%rcx
jmp    *%rcx
lea    0x183b(%rip),%rdi
jmp    1806 <print_mk_devcfg1+0x6f6>
lea    0x1874(%rip),%rdi
xor    %esi,%esi
jmp    184e <print_mk_devcfg1+0x73e>
lea    0x17e8(%rip),%rdi
mov    $0x1,%esi
jmp    184e <print_mk_devcfg1+0x73e>
lea    0x17a1(%rip),%rdi
mov    $0x2,%esi
jmp    184e <print_mk_devcfg1+0x73e>
lea    0x1757(%rip),%rdi
mov    $0x3,%esi
jmp    184e <print_mk_devcfg1+0x73e>
lea    0x1710(%rip),%rdi
mov    $0x4,%esi
jmp    184e <print_mk_devcfg1+0x73e>
lea    0x16c9(%rip),%rdi
mov    $0x5,%esi
xor    %eax,%eax
pop    %rbx
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [22 x i8] c" BF1DEVCFG1 = 0x%08X\0A\00"
@.str.1 = [22 x i8] c" BF2DEVCFG1 = 0x%08X\0A\00"
@.str.2 = [80 x i8] c" %01x Deadman Timer enabled and CANNOT be disabled in SW\0A\00"
@.str.3 = [77 x i8] c" %01x Deadman Timer disabled and can be enabled in SW\0A\00"
@.str.4 = [65 x i8] c" %02x Deadman Timer Count Select: RESERVED\0A\00"
@.str.5 = [66 x i8] c" %02x Deadman Timer Count Select: 2^%d (%d)\0A\00"
@.str.6 = [61 x i8] c" %01x Watchdog Timer Window Size 25%%\0A\00"
@.str.7 = [63 x i8] c" %01x Watchdog Timer Window Size 37.5%%\0A\00"
@.str.8 = [61 x i8] c" %01x Watchdog Timer Window Size 50%%\0A\00"
@.str.9 = [61 x i8] c" %01x Watchdog Timer Window Size 75%%\0A\00"
@.str.10 = [81 x i8] c" %01x Watchdog timer is enabled, CANNOT be disabled in SW\0A\00"
@.str.11 = [78 x i8] c" %01x Watchdog Timer disabled and can be enabled in SW\0A\00"
@.str.12 = [66 x i8] c" %01x Watchdog timer is in non-window mode\0A\00"
@.str.13 = [62 x i8] c" %01x Watchdog Timer is in window mode\0A\00"
@.str.14 = [75 x i8] c" %01x Watchdog timer stops during Flash programming\0A\00"
@.str.15 = [74 x i8] c" %01x Watchdog Timer runs during Flash programming\0A\00"
@.str.16 = [62 x i8] c" %02x Watchdog Timer Postscale 1:524288\0A\00"
@.str.17 = [62 x i8] c" %02x Watchdog Timer Postscale 1:262144\0A\00"
@.str.18 = [62 x i8] c" %02x Watchdog Timer Postscale 1:131072\0A\00"
@.str.19 = [61 x i8] c" %02x Watchdog Timer Postscale 1:65536\0A\00"
@.str.20 = [61 x i8] c" %02x Watchdog Timer Postscale 1:32768\0A\00"
@.str.21 = [61 x i8] c" %02x Watchdog Timer Postscale 1:16384\0A\00"
@.str.22 = [60 x i8] c" %02x Watchdog Timer Postscale 1:8192\0A\00"
@.str.23 = [60 x i8] c" %02x Watchdog Timer Postscale 1:4096\0A\00"
@.str.24 = [60 x i8] c" %02x Watchdog Timer Postscale 1:2048\0A\00"
@.str.25 = [60 x i8] c" %02x Watchdog Timer Postscale 1:1024\0A\00"
@.str.26 = [59 x i8] c" %02x Watchdog Timer Postscale 1:512\0A\00"
@.str.27 = [59 x i8] c" %02x Watchdog Timer Postscale 1:256\0A\00"
@.str.28 = [59 x i8] c" %02x Watchdog Timer Postscale 1:128\0A\00"
@.str.29 = [58 x i8] c" %02x Watchdog Timer Postscale 1:64\0A\00"
@.str.30 = [58 x i8] c" %02x Watchdog Timer Postscale 1:32\0A\00"
@.str.31 = [58 x i8] c" %02x Watchdog Timer Postscale 1:16\0A\00"
@.str.32 = [57 x i8] c" %02x Watchdog Timer Postscale 1:8\0A\00"
@.str.33 = [57 x i8] c" %02x Watchdog Timer Postscale 1:4\0A\00"
@.str.34 = [57 x i8] c" %02x Watchdog Timer Postscale 1:2\0A\00"
@.str.35 = [57 x i8] c" %02x Watchdog Timer Postscale 1:1\0A\00"
@.str.36 = [63 x i8] c" %02x Watchdog Timer Postscale 1:1048579\0A\00"
@.str.37 = [79 x i8] c" %01x Clock switching enabled, clock monitoring enabled\0A\00"
@.str.38 = [80 x i8] c" %01x Clock switching disabled, clock monitoring enabled\0A\00"
@.str.39 = [80 x i8] c" %01x Clock switching enabled, clock monitoring disabled\0A\00"
@.str.40 = [81 x i8] c" %01x Clock switching disabled, clock monitoring disabled\0A\00"
@.str.41 = [50 x i8] c" %01x CLKO output disabled\0A\00"
@.str.42 = [56 x i8] c" %01x CLKO output active on OSC2\0A\00"
@.str.43 = [43 x i8] c" %01x POSC disabled\0A\00"
@.str.44 = [60 x i8] c" %01x POSC set to HS Oscillator mode\0A\00"
@.str.45 = [53 x i8] c" %01x POSC - RESERVED setting\0A\00"
@.str.46 = [49 x i8] c" %01x POSC set to EC mode\0A\00"
@.str.47 = [66 x i8] c" %01x Internal External Switchover enabled\0A\00"
@.str.48 = [67 x i8] c" %01x Internal External Switchover disabled\0A\00"
@.str.49 = [42 x i8] c" %01x SOSC enabled\0A\00"
@.str.50 = [43 x i8] c" %01x SOSC disabled\0A\00"
@.str.51 = [74 x i8] c" %02x Deadman Timer Window is 127/128 counter value\0A\00"
@.str.52 = [72 x i8] c" %02x Deadman Timer Window is 63/64 counter value\0A\00"
@.str.53 = [72 x i8] c" %02x Deadman Timer Window is 31/32 counter value\0A\00"
@.str.54 = [72 x i8] c" %02x Deadman Timer Window is 15/16 counter value\0A\00"
@.str.55 = [70 x i8] c" %02x Deadman Timer Window is 7/8 counter value\0A\00"
@.str.56 = [70 x i8] c" %02x Deadman Timer Window is 3/4 counter value\0A\00"
@.str.57 = [70 x i8] c" %02x Deadman Timer Window is 1/2 counter value\0A\00"
@.str.58 = [60 x i8] c" %02x Deadman Timer Window value is 0\0A\00"
@.str.59 = [57 x i8] c" %01x LPRC selected as Oscillator\0A\00"
@.str.60 = [57 x i8] c" %01x SOSC selected as Oscillator\0A\00"
@.str.61 = [60 x i8] c" %01x USB PLL selected as Oscillator\0A\00"
@.str.62 = [57 x i8] c" %01x POSC selected as Oscillator\0A\00"
@.str.63 = [63 x i8] c" %01x System PLL selected as Oscillator\0A\00"
@.str.64 = [66 x i8] c" %01x FRC + divider selected as Oscillator\0A\00"
@.str.65 = [66 x i8] c" %01x RESERVED bit selected for Oscillator\0A\00"
define void @print_mk_devcfg1(i64 %0, i64 %1) {
%3 = alloca i64
%4 = alloca i64
store i64 %0, i64* %3
store i64 %1, i64* %4
%5 = load i64, i64* %4
%6 = icmp eq i64 0, %5
br i1 %6, label %7, label %11
7: ; preds = %2
%8 = load i64, i64* %3
%9 = trunc i64 %8 to i32
%10 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str, i64 0, i64 0), i32 %9)
br label %15
11: ; preds = %2
%12 = load i64, i64* %3
%13 = trunc i64 %12 to i32
%14 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.1, i64 0, i64 0), i32 %13)
br label %15
15: ; preds = %11, %7
%16 = load i64, i64* %3
%17 = and i64 %16, 2147483648
%18 = icmp ne i64 %17, 0
br i1 %18, label %19, label %21
19: ; preds = %15
%20 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.2, i64 0, i64 0), i32 8)
br label %23
21: ; preds = %15
%22 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.3, i64 0, i64 0), i32 0)
br label %23
23: ; preds = %21, %19
%24 = load i64, i64* %3
%25 = and i64 %24, 2080374784
%26 = ashr i64 %25, 26
%27 = icmp sgt i64 %26, 23
br i1 %27, label %28, label %34
28: ; preds = %23
%29 = load i64, i64* %3
%30 = and i64 %29, 2080374784
%31 = ashr i64 %30, 24
%32 = trunc i64 %31 to i32
%33 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.4, i64 0, i64 0), i32 %32)
br label %50
34: ; preds = %23
%35 = load i64, i64* %3
%36 = and i64 %35, 2080374784
%37 = ashr i64 %36, 24
%38 = trunc i64 %37 to i32
%39 = load i64, i64* %3
%40 = and i64 %39, 2080374784
%41 = ashr i64 %40, 26
%42 = add nsw i64 8, %41
%43 = load i64, i64* %3
%44 = and i64 %43, 2080374784
%45 = ashr i64 %44, 26
%46 = add nsw i64 8, %45
%47 = trunc i64 %46 to i32
%48 = shl i32 1, %47
%49 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.5, i64 0, i64 0), i32 %38, i64 %42, i32 %48)
br label %50
50: ; preds = %34, %28
%51 = load i64, i64* %3
%52 = and i64 %51, 50331648
switch i64 %52, label %77 [
i64 50331648, label %53
i64 33554432, label %59
i64 16777216, label %65
i64 0, label %71
]
53: ; preds = %50
%54 = load i64, i64* %3
%55 = and i64 %54, 50331648
%56 = ashr i64 %55, 24
%57 = trunc i64 %56 to i32
%58 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.6, i64 0, i64 0), i32 %57)
br label %77
59: ; preds = %50
%60 = load i64, i64* %3
%61 = and i64 %60, 50331648
%62 = ashr i64 %61, 24
%63 = trunc i64 %62 to i32
%64 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.7, i64 0, i64 0), i32 %63)
br label %77
65: ; preds = %50
%66 = load i64, i64* %3
%67 = and i64 %66, 50331648
%68 = ashr i64 %67, 24
%69 = trunc i64 %68 to i32
%70 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.8, i64 0, i64 0), i32 %69)
br label %77
71: ; preds = %50
%72 = load i64, i64* %3
%73 = and i64 %72, 50331648
%74 = ashr i64 %73, 24
%75 = trunc i64 %74 to i32
%76 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.9, i64 0, i64 0), i32 %75)
br label %77
77: ; preds = %50, %71, %65, %59, %53
%78 = load i64, i64* %3
%79 = and i64 %78, 8388608
%80 = icmp ne i64 %79, 0
br i1 %80, label %81, label %83
81: ; preds = %77
%82 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.10, i64 0, i64 0), i32 8)
br label %85
83: ; preds = %77
%84 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.11, i64 0, i64 0), i32 0)
br label %85
85: ; preds = %83, %81
%86 = load i64, i64* %3
%87 = and i64 %86, 4194304
%88 = icmp ne i64 %87, 0
br i1 %88, label %89, label %91
89: ; preds = %85
%90 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.12, i64 0, i64 0), i32 4)
br label %93
91: ; preds = %85
%92 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.13, i64 0, i64 0), i32 0)
br label %93
93: ; preds = %91, %89
%94 = load i64, i64* %3
%95 = and i64 %94, 2097152
%96 = icmp ne i64 %95, 0
br i1 %96, label %97, label %99
97: ; preds = %93
%98 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.14, i64 0, i64 0), i32 2)
br label %101
99: ; preds = %93
%100 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.15, i64 0, i64 0), i32 0)
br label %101
101: ; preds = %99, %97
%102 = load i64, i64* %3
%103 = and i64 %102, 2031616
switch i64 %103, label %145 [
i64 1245184, label %104
i64 1179648, label %106
i64 1114112, label %108
i64 1048576, label %110
i64 983040, label %112
i64 917504, label %114
i64 851968, label %116
i64 786432, label %118
i64 720896, label %120
i64 655360, label %122
i64 589824, label %124
i64 524288, label %126
i64 458752, label %128
i64 393216, label %130
i64 327680, label %132
i64 262144, label %134
i64 196608, label %136
i64 131072, label %138
i64 65536, label %140
i64 0, label %142
i64 1310720, label %144
]
104: ; preds = %101
%105 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.16, i64 0, i64 0), i32 20)
br label %147
106: ; preds = %101
%107 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.17, i64 0, i64 0), i32 18)
br label %147
108: ; preds = %101
%109 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.18, i64 0, i64 0), i32 17)
br label %147
110: ; preds = %101
%111 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.19, i64 0, i64 0), i32 16)
br label %147
112: ; preds = %101
%113 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.20, i64 0, i64 0), i32 15)
br label %147
114: ; preds = %101
%115 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.21, i64 0, i64 0), i32 14)
br label %147
116: ; preds = %101
%117 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.22, i64 0, i64 0), i32 13)
br label %147
118: ; preds = %101
%119 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.23, i64 0, i64 0), i32 12)
br label %147
120: ; preds = %101
%121 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.24, i64 0, i64 0), i32 11)
br label %147
122: ; preds = %101
%123 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.25, i64 0, i64 0), i32 10)
br label %147
124: ; preds = %101
%125 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.26, i64 0, i64 0), i32 9)
br label %147
126: ; preds = %101
%127 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.27, i64 0, i64 0), i32 8)
br label %147
128: ; preds = %101
%129 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.28, i64 0, i64 0), i32 7)
br label %147
130: ; preds = %101
%131 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.29, i64 0, i64 0), i32 6)
br label %147
132: ; preds = %101
%133 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.30, i64 0, i64 0), i32 5)
br label %147
134: ; preds = %101
%135 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.31, i64 0, i64 0), i32 4)
br label %147
136: ; preds = %101
%137 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.32, i64 0, i64 0), i32 3)
br label %147
138: ; preds = %101
%139 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.33, i64 0, i64 0), i32 2)
br label %147
140: ; preds = %101
%141 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.34, i64 0, i64 0), i32 1)
br label %147
142: ; preds = %101
%143 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.35, i64 0, i64 0), i32 0)
br label %147
144: ; preds = %101
br label %145
145: ; preds = %101, %144
%146 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.36, i64 0, i64 0), i32 20)
br label %147
147: ; preds = %145, %142, %140, %138, %136, %134, %132, %130, %128, %126, %124, %122, %120, %118, %116, %114, %112, %110, %108, %106, %104
%148 = load i64, i64* %3
%149 = and i64 %148, 49152
switch i64 %149, label %158 [
i64 49152, label %150
i64 32768, label %152
i64 16384, label %154
i64 0, label %156
]
150: ; preds = %147
%151 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.37, i64 0, i64 0), i32 12)
br label %158
152: ; preds = %147
%153 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.38, i64 0, i64 0), i32 8)
br label %158
154: ; preds = %147
%155 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.39, i64 0, i64 0), i32 4)
br label %158
156: ; preds = %147
%157 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.40, i64 0, i64 0), i32 0)
br label %158
158: ; preds = %147, %156, %154, %152, %150
%159 = load i64, i64* %3
%160 = and i64 %159, 1024
%161 = icmp ne i64 %160, 0
br i1 %161, label %162, label %164
162: ; preds = %158
%163 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.41, i64 0, i64 0), i32 4)
br label %166
164: ; preds = %158
%165 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.42, i64 0, i64 0), i32 0)
br label %166
166: ; preds = %164, %162
%167 = load i64, i64* %3
%168 = and i64 %167, 768
switch i64 %168, label %177 [
i64 768, label %169
i64 512, label %171
i64 256, label %173
i64 0, label %175
]
169: ; preds = %166
%170 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.43, i64 0, i64 0), i32 3)
br label %177
171: ; preds = %166
%172 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.44, i64 0, i64 0), i32 2)
br label %177
173: ; preds = %166
%174 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.45, i64 0, i64 0), i32 1)
br label %177
175: ; preds = %166
%176 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.46, i64 0, i64 0), i32 0)
br label %177
177: ; preds = %166, %175, %173, %171, %169
%178 = load i64, i64* %3
%179 = and i64 %178, 128
%180 = icmp ne i64 %179, 0
br i1 %180, label %181, label %183
181: ; preds = %177
%182 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.47, i64 0, i64 0), i32 8)
br label %185
183: ; preds = %177
%184 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.48, i64 0, i64 0), i32 0)
br label %185
185: ; preds = %183, %181
%186 = load i64, i64* %3
%187 = and i64 %186, 64
%188 = icmp ne i64 %187, 0
br i1 %188, label %189, label %191
189: ; preds = %185
%190 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.49, i64 0, i64 0), i32 4)
br label %193
191: ; preds = %185
%192 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.50, i64 0, i64 0), i32 0)
br label %193
193: ; preds = %191, %189
%194 = load i64, i64* %3
%195 = and i64 %194, 56
switch i64 %195, label %212 [
i64 56, label %196
i64 48, label %198
i64 40, label %200
i64 32, label %202
i64 24, label %204
i64 16, label %206
i64 8, label %208
i64 0, label %210
]
196: ; preds = %193
%197 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.51, i64 0, i64 0), i32 56)
br label %212
198: ; preds = %193
%199 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.52, i64 0, i64 0), i32 48)
br label %212
200: ; preds = %193
%201 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.53, i64 0, i64 0), i32 40)
br label %212
202: ; preds = %193
%203 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.54, i64 0, i64 0), i32 32)
br label %212
204: ; preds = %193
%205 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.55, i64 0, i64 0), i32 24)
br label %212
206: ; preds = %193
%207 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.56, i64 0, i64 0), i32 16)
br label %212
208: ; preds = %193
%209 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.57, i64 0, i64 0), i32 8)
br label %212
210: ; preds = %193
%211 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.58, i64 0, i64 0), i32 0)
br label %212
212: ; preds = %193, %210, %208, %206, %204, %202, %200, %198, %196
%213 = load i64, i64* %3
%214 = and i64 %213, 7
switch i64 %214, label %227 [
i64 5, label %215
i64 4, label %217
i64 3, label %219
i64 2, label %221
i64 1, label %223
i64 0, label %225
]
215: ; preds = %212
%216 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.59, i64 0, i64 0), i32 5)
br label %229
217: ; preds = %212
%218 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.60, i64 0, i64 0), i32 4)
br label %229
219: ; preds = %212
%220 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.61, i64 0, i64 0), i32 3)
br label %229
221: ; preds = %212
%222 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.62, i64 0, i64 0), i32 2)
br label %229
223: ; preds = %212
%224 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.63, i64 0, i64 0), i32 1)
br label %229
225: ; preds = %212
%226 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.64, i64 0, i64 0), i32 0)
br label %229
227: ; preds = %212
%228 = call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.65, i64 0, i64 0), i32 0)
br label %229
229: ; preds = %227, %225, %223, %221, %219, %217, %215
ret void
}

LLVM IR (-O2):
@.str = [22 x i8] c" BF1DEVCFG1 = 0x%08X\0A\00"
@.str.1 = [22 x i8] c" BF2DEVCFG1 = 0x%08X\0A\00"
@.str.2 = [80 x i8] c" %01x Deadman Timer enabled and CANNOT be disabled in SW\0A\00"
@.str.3 = [77 x i8] c" %01x Deadman Timer disabled and can be enabled in SW\0A\00"
@.str.4 = [65 x i8] c" %02x Deadman Timer Count Select: RESERVED\0A\00"
@.str.5 = [66 x i8] c" %02x Deadman Timer Count Select: 2^%d (%d)\0A\00"
@.str.6 = [61 x i8] c" %01x Watchdog Timer Window Size 25%%\0A\00"
@.str.7 = [63 x i8] c" %01x Watchdog Timer Window Size 37.5%%\0A\00"
@.str.8 = [61 x i8] c" %01x Watchdog Timer Window Size 50%%\0A\00"
@.str.9 = [61 x i8] c" %01x Watchdog Timer Window Size 75%%\0A\00"
@.str.10 = [81 x i8] c" %01x Watchdog timer is enabled, CANNOT be disabled in SW\0A\00"
@.str.11 = [78 x i8] c" %01x Watchdog Timer disabled and can be enabled in SW\0A\00"
@.str.12 = [66 x i8] c" %01x Watchdog timer is in non-window mode\0A\00"
@.str.13 = [62 x i8] c" %01x Watchdog Timer is in window mode\0A\00"
@.str.14 = [75 x i8] c" %01x Watchdog timer stops during Flash programming\0A\00"
@.str.15 = [74 x i8] c" %01x Watchdog Timer runs during Flash programming\0A\00"
@.str.16 = [62 x i8] c" %02x Watchdog Timer Postscale 1:524288\0A\00"
@.str.17 = [62 x i8] c" %02x Watchdog Timer Postscale 1:262144\0A\00"
@.str.18 = [62 x i8] c" %02x Watchdog Timer Postscale 1:131072\0A\00"
@.str.19 = [61 x i8] c" %02x Watchdog Timer Postscale 1:65536\0A\00"
@.str.20 = [61 x i8] c" %02x Watchdog Timer Postscale 1:32768\0A\00"
@.str.21 = [61 x i8] c" %02x Watchdog Timer Postscale 1:16384\0A\00"
@.str.22 = [60 x i8] c" %02x Watchdog Timer Postscale 1:8192\0A\00"
@.str.23 = [60 x i8] c" %02x Watchdog Timer Postscale 1:4096\0A\00"
@.str.24 = [60 x i8] c" %02x Watchdog Timer Postscale 1:2048\0A\00"
@.str.25 = [60 x i8] c" %02x Watchdog Timer Postscale 1:1024\0A\00"
@.str.26 = [59 x i8] c" %02x Watchdog Timer Postscale 1:512\0A\00"
@.str.27 = [59 x i8] c" %02x Watchdog Timer Postscale 1:256\0A\00"
@.str.28 = [59 x i8] c" %02x Watchdog Timer Postscale 1:128\0A\00"
@.str.29 = [58 x i8] c" %02x Watchdog Timer Postscale 1:64\0A\00"
@.str.30 = [58 x i8] c" %02x Watchdog Timer Postscale 1:32\0A\00"
@.str.31 = [58 x i8] c" %02x Watchdog Timer Postscale 1:16\0A\00"
@.str.32 = [57 x i8] c" %02x Watchdog Timer Postscale 1:8\0A\00"
@.str.33 = [57 x i8] c" %02x Watchdog Timer Postscale 1:4\0A\00"
@.str.34 = [57 x i8] c" %02x Watchdog Timer Postscale 1:2\0A\00"
@.str.35 = [57 x i8] c" %02x Watchdog Timer Postscale 1:1\0A\00"
@.str.36 = [63 x i8] c" %02x Watchdog Timer Postscale 1:1048579\0A\00"
@.str.37 = [79 x i8] c" %01x Clock switching enabled, clock monitoring enabled\0A\00"
@.str.38 = [80 x i8] c" %01x Clock switching disabled, clock monitoring enabled\0A\00"
@.str.39 = [80 x i8] c" %01x Clock switching enabled, clock monitoring disabled\0A\00"
@.str.40 = [81 x i8] c" %01x Clock switching disabled, clock monitoring disabled\0A\00"
@.str.41 = [50 x i8] c" %01x CLKO output disabled\0A\00"
@.str.42 = [56 x i8] c" %01x CLKO output active on OSC2\0A\00"
@.str.43 = [43 x i8] c" %01x POSC disabled\0A\00"
@.str.44 = [60 x i8] c" %01x POSC set to HS Oscillator mode\0A\00"
@.str.45 = [53 x i8] c" %01x POSC - RESERVED setting\0A\00"
@.str.46 = [49 x i8] c" %01x POSC set to EC mode\0A\00"
@.str.47 = [66 x i8] c" %01x Internal External Switchover enabled\0A\00"
@.str.48 = [67 x i8] c" %01x Internal External Switchover disabled\0A\00"
@.str.49 = [42 x i8] c" %01x SOSC enabled\0A\00"
@.str.50 = [43 x i8] c" %01x SOSC disabled\0A\00"
@.str.51 = [74 x i8] c" %02x Deadman Timer Window is 127/128 counter value\0A\00"
@.str.52 = [72 x i8] c" %02x Deadman Timer Window is 63/64 counter value\0A\00"
@.str.53 = [72 x i8] c" %02x Deadman Timer Window is 31/32 counter value\0A\00"
@.str.54 = [72 x i8] c" %02x Deadman Timer Window is 15/16 counter value\0A\00"
@.str.55 = [70 x i8] c" %02x Deadman Timer Window is 7/8 counter value\0A\00"
@.str.56 = [70 x i8] c" %02x Deadman Timer Window is 3/4 counter value\0A\00"
@.str.57 = [70 x i8] c" %02x Deadman Timer Window is 1/2 counter value\0A\00"
@.str.58 = [60 x i8] c" %02x Deadman Timer Window value is 0\0A\00"
@.str.59 = [57 x i8] c" %01x LPRC selected as Oscillator\0A\00"
@.str.60 = [57 x i8] c" %01x SOSC selected as Oscillator\0A\00"
@.str.61 = [60 x i8] c" %01x USB PLL selected as Oscillator\0A\00"
@.str.62 = [57 x i8] c" %01x POSC selected as Oscillator\0A\00"
@.str.63 = [63 x i8] c" %01x System PLL selected as Oscillator\0A\00"
@.str.64 = [66 x i8] c" %01x FRC + divider selected as Oscillator\0A\00"
@.str.65 = [66 x i8] c" %01x RESERVED bit selected for Oscillator\0A\00"
define void @print_mk_devcfg1(i64 %0, i64 %1) {
%3 = icmp eq i64 %1, 0
%4 = trunc i64 %0 to i32
%5 = select i1 %3, i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.1, i64 0, i64 0)
%6 = tail call i32 (i8*, i32, ...) @printf(i8* %5, i32 %4)
%7 = and i64 %0, 2147483648
%8 = icmp eq i64 %7, 0
br i1 %8, label %11, label %9
9: ; preds = %2
%10 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.2, i64 0, i64 0), i32 8)
br label %13
11: ; preds = %2
%12 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.3, i64 0, i64 0), i32 0)
br label %13
13: ; preds = %11, %9
%14 = and i64 %0, 2080374784
%15 = icmp ugt i64 %14, 1543503872
br i1 %15, label %16, label %20
16: ; preds = %13
%17 = lshr exact i64 %14, 24
%18 = trunc i64 %17 to i32
%19 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.4, i64 0, i64 0), i32 %18)
br label %28
20: ; preds = %13
%21 = lshr exact i64 %14, 26
%22 = lshr exact i64 %14, 24
%23 = trunc i64 %22 to i32
%24 = add nuw nsw i64 %21, 8
%25 = trunc i64 %24 to i32
%26 = shl nuw i32 1, %25
%27 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.5, i64 0, i64 0), i32 %23, i64 %24, i32 %26)
br label %28
28: ; preds = %20, %16
%29 = lshr i64 %0, 24
%30 = and i64 %29, 3
switch i64 %30, label %39 [
i64 3, label %31
i64 2, label %33
i64 1, label %35
i64 0, label %37
]
31: ; preds = %28
%32 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.6, i64 0, i64 0), i32 3)
br label %40
33: ; preds = %28
%34 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.7, i64 0, i64 0), i32 2)
br label %40
35: ; preds = %28
%36 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.8, i64 0, i64 0), i32 1)
br label %40
37: ; preds = %28
%38 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.9, i64 0, i64 0), i32 0)
br label %40
39: ; preds = %28
unreachable
40: ; preds = %37, %35, %33, %31
%41 = and i64 %0, 8388608
%42 = icmp eq i64 %41, 0
br i1 %42, label %45, label %43
43: ; preds = %40
%44 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.10, i64 0, i64 0), i32 8)
br label %47
45: ; preds = %40
%46 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.11, i64 0, i64 0), i32 0)
br label %47
47: ; preds = %45, %43
%48 = and i64 %0, 4194304
%49 = icmp eq i64 %48, 0
br i1 %49, label %52, label %50
50: ; preds = %47
%51 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.12, i64 0, i64 0), i32 4)
br label %54
52: ; preds = %47
%53 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.13, i64 0, i64 0), i32 0)
br label %54
54: ; preds = %52, %50
%55 = and i64 %0, 2097152
%56 = icmp eq i64 %55, 0
br i1 %56, label %59, label %57
57: ; preds = %54
%58 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.14, i64 0, i64 0), i32 2)
br label %61
59: ; preds = %54
%60 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.15, i64 0, i64 0), i32 0)
br label %61
61: ; preds = %59, %57
%62 = lshr i64 %0, 16
%63 = and i64 %62, 31
switch i64 %63, label %104 [
i64 19, label %64
i64 18, label %66
i64 17, label %68
i64 16, label %70
i64 15, label %72
i64 14, label %74
i64 13, label %76
i64 12, label %78
i64 11, label %80
i64 10, label %82
i64 9, label %84
i64 8, label %86
i64 7, label %88
i64 6, label %90
i64 5, label %92
i64 4, label %94
i64 3, label %96
i64 2, label %98
i64 1, label %100
i64 0, label %102
]
64: ; preds = %61
%65 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.16, i64 0, i64 0), i32 20)
br label %106
66: ; preds = %61
%67 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.17, i64 0, i64 0), i32 18)
br label %106
68: ; preds = %61
%69 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.18, i64 0, i64 0), i32 17)
br label %106
70: ; preds = %61
%71 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.19, i64 0, i64 0), i32 16)
br label %106
72: ; preds = %61
%73 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.20, i64 0, i64 0), i32 15)
br label %106
74: ; preds = %61
%75 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.21, i64 0, i64 0), i32 14)
br label %106
76: ; preds = %61
%77 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.22, i64 0, i64 0), i32 13)
br label %106
78: ; preds = %61
%79 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.23, i64 0, i64 0), i32 12)
br label %106
80: ; preds = %61
%81 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.24, i64 0, i64 0), i32 11)
br label %106
82: ; preds = %61
%83 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.25, i64 0, i64 0), i32 10)
br label %106
84: ; preds = %61
%85 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.26, i64 0, i64 0), i32 9)
br label %106
86: ; preds = %61
%87 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.27, i64 0, i64 0), i32 8)
br label %106
88: ; preds = %61
%89 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.28, i64 0, i64 0), i32 7)
br label %106
90: ; preds = %61
%91 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.29, i64 0, i64 0), i32 6)
br label %106
92: ; preds = %61
%93 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.30, i64 0, i64 0), i32 5)
br label %106
94: ; preds = %61
%95 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @.str.31, i64 0, i64 0), i32 4)
br label %106
96: ; preds = %61
%97 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.32, i64 0, i64 0), i32 3)
br label %106
98: ; preds = %61
%99 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.33, i64 0, i64 0), i32 2)
br label %106
100: ; preds = %61
%101 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.34, i64 0, i64 0), i32 1)
br label %106
102: ; preds = %61
%103 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.35, i64 0, i64 0), i32 0)
br label %106
104: ; preds = %61
%105 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.36, i64 0, i64 0), i32 20)
br label %106
106: ; preds = %104, %102, %100, %98, %96, %94, %92, %90, %88, %86, %84, %82, %80, %78, %76, %74, %72, %70, %68, %66, %64
%107 = lshr i64 %0, 14
%108 = and i64 %107, 3
switch i64 %108, label %117 [
i64 3, label %109
i64 2, label %111
i64 1, label %113
i64 0, label %115
]
109: ; preds = %106
%110 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.37, i64 0, i64 0), i32 12)
br label %118
111: ; preds = %106
%112 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.38, i64 0, i64 0), i32 8)
br label %118
113: ; preds = %106
%114 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.39, i64 0, i64 0), i32 4)
br label %118
115: ; preds = %106
%116 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.40, i64 0, i64 0), i32 0)
br label %118
117: ; preds = %106
unreachable
118: ; preds = %115, %113, %111, %109
%119 = and i64 %0, 1024
%120 = icmp eq i64 %119, 0
br i1 %120, label %123, label %121
121: ; preds = %118
%122 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([50 x i8], [50 x i8]* @.str.41, i64 0, i64 0), i32 4)
br label %125
123: ; preds = %118
%124 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([56 x i8], [56 x i8]* @.str.42, i64 0, i64 0), i32 0)
br label %125
125: ; preds = %123, %121
%126 = lshr i64 %0, 8
%127 = and i64 %126, 3
switch i64 %127, label %136 [
i64 3, label %128
i64 2, label %130
i64 1, label %132
i64 0, label %134
]
128: ; preds = %125
%129 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.43, i64 0, i64 0), i32 3)
br label %137
130: ; preds = %125
%131 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.44, i64 0, i64 0), i32 2)
br label %137
132: ; preds = %125
%133 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([53 x i8], [53 x i8]* @.str.45, i64 0, i64 0), i32 1)
br label %137
134: ; preds = %125
%135 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([49 x i8], [49 x i8]* @.str.46, i64 0, i64 0), i32 0)
br label %137
136: ; preds = %125
unreachable
137: ; preds = %134, %132, %130, %128
%138 = and i64 %0, 128
%139 = icmp eq i64 %138, 0
br i1 %139, label %142, label %140
140: ; preds = %137
%141 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.47, i64 0, i64 0), i32 8)
br label %144
142: ; preds = %137
%143 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.48, i64 0, i64 0), i32 0)
br label %144
144: ; preds = %142, %140
%145 = and i64 %0, 64
%146 = icmp eq i64 %145, 0
br i1 %146, label %149, label %147
147: ; preds = %144
%148 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @.str.49, i64 0, i64 0), i32 4)
br label %151
149: ; preds = %144
%150 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([43 x i8], [43 x i8]* @.str.50, i64 0, i64 0), i32 0)
br label %151
151: ; preds = %149, %147
%152 = lshr i64 %0, 3
%153 = and i64 %152, 7
switch i64 %153, label %170 [
i64 7, label %154
i64 6, label %156
i64 5, label %158
i64 4, label %160
i64 3, label %162
i64 2, label %164
i64 1, label %166
i64 0, label %168
]
154: ; preds = %151
%155 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.51, i64 0, i64 0), i32 56)
br label %171
156: ; preds = %151
%157 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.52, i64 0, i64 0), i32 48)
br label %171
158: ; preds = %151
%159 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.53, i64 0, i64 0), i32 40)
br label %171
160: ; preds = %151
%161 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([72 x i8], [72 x i8]* @.str.54, i64 0, i64 0), i32 32)
br label %171
162: ; preds = %151
%163 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.55, i64 0, i64 0), i32 24)
br label %171
164: ; preds = %151
%165 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.56, i64 0, i64 0), i32 16)
br label %171
166: ; preds = %151
%167 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.57, i64 0, i64 0), i32 8)
br label %171
168: ; preds = %151
%169 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.58, i64 0, i64 0), i32 0)
br label %171
170: ; preds = %151
unreachable
171: ; preds = %168, %166, %164, %162, %160, %158, %156, %154
%172 = and i64 %0, 7
switch i64 %172, label %185 [
i64 5, label %173
i64 4, label %175
i64 3, label %177
i64 2, label %179
i64 1, label %181
i64 0, label %183
]
173: ; preds = %171
%174 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.59, i64 0, i64 0), i32 5)
br label %187
175: ; preds = %171
%176 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.60, i64 0, i64 0), i32 4)
br label %187
177: ; preds = %171
%178 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.61, i64 0, i64 0), i32 3)
br label %187
179: ; preds = %171
%180 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([57 x i8], [57 x i8]* @.str.62, i64 0, i64 0), i32 2)
br label %187
181: ; preds = %171
%182 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([63 x i8], [63 x i8]* @.str.63, i64 0, i64 0), i32 1)
br label %187
183: ; preds = %171
%184 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.64, i64 0, i64 0), i32 0)
br label %187
185: ; preds = %171
%186 = tail call i32 (i8*, i32, ...) @printf(i8* getelementptr inbounds ([66 x i8], [66 x i8]* @.str.65, i64 0, i64 0), i32 0)
br label %187
187: ; preds = %185, %183, %181, %179, %177, %175, %173
ret void
}