int swCore_init(void) {
  ((*(volatile unsigned int *)(0xbb000000 + 0x025000)) = (0x13042));
  ((*(volatile unsigned int *)(0xbb000000 + 0x0230FC)) = (0x0000000B));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023100)) = (0x00001B58));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023104)) = (0x00001A86));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023108)) = (0x0CDA0C94));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02310C)) = (0x0C080BC2));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023110)) = (0x0CDA0C94));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023114)) = (0x0C080BC2));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023118)) = (0x054004EC));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02311C)) = (0x00E00054));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023120)) = (0x054004EC));
  ((*(volatile unsigned int *)(0xbb000000 + 0x023124)) = (0x00E00054));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D000)) = (0x005782BC));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D004)) = (0x005782BC));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D008)) = (0x005782BC));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D00C)) = (0x000002BC));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D020)) = (0x000000A8));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D010)) = (0x036B1B58));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D014)) = (0x036B1B58));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D018)) = (0x036B1B58));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D01C)) = (0x00001B58));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02D024)) = (0x0000015E));
  ((*(volatile unsigned int *)(0xbb000000 + 0x0001E0)) = (0x1));
  ((*(volatile unsigned int *)(0xbb000000 + 0x000068)) = (0x400));
  ((*(volatile unsigned int *)(0xbb000000 + 0x013104)) = (0xffffffff));
  ((*(volatile unsigned int *)(0xbb000000 + 0x0001c4)) = (0x00000002));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02dcbc)) = (0x1));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02ddcc)) = (0x1));
  ((*(volatile unsigned int *)(0xbb000000 + 0x02dabc)) = (0x1ffff));
  ((*(volatile unsigned int *)(0xbb000000 + 0x48)) = (0x1110));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00027000)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00013008)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x0001300c)) = (0x0000007f));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00012000)) = (0x00000011));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00012008)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x0001200c)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00012010)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00012014)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00012018)) = (0x00000000));
  ((*(volatile unsigned int *)(0xbb000000 + 0x00012000)) = (0x00000019));
  (*(volatile unsigned int *)(0xbb00007c)) = (0x1);
  *((volatile unsigned int *)0xb8000044) =
      *((volatile unsigned int *)0xb8000044) | 1;
  ((*(volatile unsigned int *)(0xbb000000 + 0xac)) = (0x76));
  return 0;
}


x86 assembly (clang, -O0):
<swCore_init>:
push   %rbp
mov    %rsp,%rbp
mov    $0xbb025000,%eax
movl   $0x13042,(%rax)
mov    $0xbb0230fc,%eax
movl   $0xb,(%rax)
mov    $0xbb023100,%eax
movl   $0x1b58,(%rax)
mov    $0xbb023104,%eax
movl   $0x1a86,(%rax)
mov    $0xbb023108,%eax
movl   $0xcda0c94,(%rax)
mov    $0xbb02310c,%eax
movl   $0xc080bc2,(%rax)
mov    $0xbb023110,%eax
movl   $0xcda0c94,(%rax)
mov    $0xbb023114,%eax
movl   $0xc080bc2,(%rax)
mov    $0xbb023118,%eax
movl   $0x54004ec,(%rax)
mov    $0xbb02311c,%eax
movl   $0xe00054,(%rax)
mov    $0xbb023120,%eax
movl   $0x54004ec,(%rax)
mov    $0xbb023124,%eax
movl   $0xe00054,(%rax)
mov    $0xbb02d000,%eax
movl   $0x5782bc,(%rax)
mov    $0xbb02d004,%eax
movl   $0x5782bc,(%rax)
mov    $0xbb02d008,%eax
movl   $0x5782bc,(%rax)
mov    $0xbb02d00c,%eax
movl   $0x2bc,(%rax)
mov    $0xbb02d020,%eax
movl   $0xa8,(%rax)
mov    $0xbb02d010,%eax
movl   $0x36b1b58,(%rax)
mov    $0xbb02d014,%eax
movl   $0x36b1b58,(%rax)
mov    $0xbb02d018,%eax
movl   $0x36b1b58,(%rax)
mov    $0xbb02d01c,%eax
movl   $0x1b58,(%rax)
mov    $0xbb02d024,%eax
movl   $0x15e,(%rax)
mov    $0xbb0001e0,%eax
movl   $0x1,(%rax)
mov    $0xbb000068,%eax
movl   $0x400,(%rax)
mov    $0xbb013104,%eax
movl   $0xffffffff,(%rax)
mov    $0xbb0001c4,%eax
movl   $0x2,(%rax)
mov    $0xbb02dcbc,%eax
movl   $0x1,(%rax)
mov    $0xbb02ddcc,%eax
movl   $0x1,(%rax)
mov    $0xbb02dabc,%eax
movl   $0x1ffff,(%rax)
mov    $0xbb000048,%eax
movl   $0x1110,(%rax)
mov    $0xbb027000,%eax
movl   $0x0,(%rax)
mov    $0xbb013008,%eax
movl   $0x0,(%rax)
mov    $0xbb01300c,%eax
movl   $0x7f,(%rax)
mov    $0xbb012000,%eax
movl   $0x11,(%rax)
mov    $0xbb012008,%eax
movl   $0x0,(%rax)
mov    $0xbb01200c,%eax
movl   $0x0,(%rax)
mov    $0xbb012010,%eax
movl   $0x0,(%rax)
mov    $0xbb012014,%eax
movl   $0x0,(%rax)
mov    $0xbb012018,%eax
movl   $0x0,(%rax)
mov    $0xbb012000,%eax
movl   $0x19,(%rax)
mov    $0xbb00007c,%eax
movl   $0x1,(%rax)
mov    $0xb8000044,%eax
mov    (%rax),%ecx
or     $0x1,%ecx
mov    $0xb8000044,%eax
mov    %ecx,(%rax)
mov    $0xbb0000ac,%eax
movl   $0x76,(%rax)
xor    %eax,%eax
pop    %rbp
ret

x86 assembly (clang, -O2):
<swCore_init>:
mov    $0xb8000044,%eax
movl   $0x13042,0x3024fbc(%rax)
movl   $0xb,0x30230b8(%rax)
movl   $0x1b58,0x30230bc(%rax)
movl   $0x1a86,0x30230c0(%rax)
movl   $0xcda0c94,0x30230c4(%rax)
0c da 0c
movl   $0xc080bc2,0x30230c8(%rax)
0b 08 0c
movl   $0xcda0c94,0x30230cc(%rax)
0c da 0c
movl   $0xc080bc2,0x30230d0(%rax)
0b 08 0c
movl   $0x54004ec,0x30230d4(%rax)
04 40 05
movl   $0xe00054,0x30230d8(%rax)
movl   $0x54004ec,0x30230dc(%rax)
04 40 05
movl   $0xe00054,0x30230e0(%rax)
movl   $0x5782bc,0x302cfbc(%rax)
movl   $0x5782bc,0x302cfc0(%rax)
movl   $0x5782bc,0x302cfc4(%rax)
movl   $0x2bc,0x302cfc8(%rax)
movl   $0xa8,0x302cfdc(%rax)
movl   $0x36b1b58,0x302cfcc(%rax)
1b 6b 03
movl   $0x36b1b58,0x302cfd0(%rax)
1b 6b 03
movl   $0x36b1b58,0x302cfd4(%rax)
1b 6b 03
movl   $0x1b58,0x302cfd8(%rax)
movl   $0x15e,0x302cfe0(%rax)
movl   $0x1,0x300019c(%rax)
movl   $0x400,0x3000024(%rax)
movl   $0xffffffff,0x30130c0(%rax)
ff ff ff
movl   $0x2,0x3000180(%rax)
movl   $0x1,0x302dc78(%rax)
movl   $0x1,0x302dd88(%rax)
movl   $0x1ffff,0x302da78(%rax)
movl   $0x1110,0x3000004(%rax)
movl   $0x0,0x3026fbc(%rax)
movl   $0x0,0x3012fc4(%rax)
movl   $0x7f,0x3012fc8(%rax)
movl   $0x11,0x3011fbc(%rax)
movl   $0x0,0x3011fc4(%rax)
movl   $0x0,0x3011fc8(%rax)
movl   $0x0,0x3011fcc(%rax)
movl   $0x0,0x3011fd0(%rax)
movl   $0x0,0x3011fd4(%rax)
movl   $0x19,0x3011fbc(%rax)
movl   $0x1,0x3000038(%rax)
orl    $0x1,(%rax)
movl   $0x76,0x3000068(%rax)
xor    %eax,%eax
ret

LLVM IR (-O0):
define i32 @swCore_init() {
store volatile i32 77890, i32* inttoptr (i64 3137490944 to i32*)
store volatile i32 11, i32* inttoptr (i64 3137483004 to i32*)
store volatile i32 7000, i32* inttoptr (i64 3137483008 to i32*)
store volatile i32 6790, i32* inttoptr (i64 3137483012 to i32*)
store volatile i32 215616660, i32* inttoptr (i64 3137483016 to i32*)
store volatile i32 201853890, i32* inttoptr (i64 3137483020 to i32*)
store volatile i32 215616660, i32* inttoptr (i64 3137483024 to i32*)
store volatile i32 201853890, i32* inttoptr (i64 3137483028 to i32*)
store volatile i32 88081644, i32* inttoptr (i64 3137483032 to i32*)
store volatile i32 14680148, i32* inttoptr (i64 3137483036 to i32*)
store volatile i32 88081644, i32* inttoptr (i64 3137483040 to i32*)
store volatile i32 14680148, i32* inttoptr (i64 3137483044 to i32*)
store volatile i32 5735100, i32* inttoptr (i64 3137523712 to i32*)
store volatile i32 5735100, i32* inttoptr (i64 3137523716 to i32*)
store volatile i32 5735100, i32* inttoptr (i64 3137523720 to i32*)
store volatile i32 700, i32* inttoptr (i64 3137523724 to i32*)
store volatile i32 168, i32* inttoptr (i64 3137523744 to i32*)
store volatile i32 57351000, i32* inttoptr (i64 3137523728 to i32*)
store volatile i32 57351000, i32* inttoptr (i64 3137523732 to i32*)
store volatile i32 57351000, i32* inttoptr (i64 3137523736 to i32*)
store volatile i32 7000, i32* inttoptr (i64 3137523740 to i32*)
store volatile i32 350, i32* inttoptr (i64 3137523748 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137339872 to i32*)
store volatile i32 1024, i32* inttoptr (i64 3137339496 to i32*)
store volatile i32 -1, i32* inttoptr (i64 3137417476 to i32*)
store volatile i32 2, i32* inttoptr (i64 3137339844 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137526972 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137527244 to i32*)
store volatile i32 131071, i32* inttoptr (i64 3137526460 to i32*)
store volatile i32 4368, i32* inttoptr (i64 3137339464 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137499136 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137417224 to i32*)
store volatile i32 127, i32* inttoptr (i64 3137417228 to i32*)
store volatile i32 17, i32* inttoptr (i64 3137413120 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413128 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413132 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413136 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413140 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413144 to i32*)
store volatile i32 25, i32* inttoptr (i64 3137413120 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137339516 to i32*)
%1 = load volatile i32, i32* inttoptr (i64 3087007812 to i32*)
%2 = or i32 %1, 1
store volatile i32 %2, i32* inttoptr (i64 3087007812 to i32*)
store volatile i32 118, i32* inttoptr (i64 3137339564 to i32*)
ret i32 0
}

LLVM IR (-O2):
define i32 @swCore_init() {
store volatile i32 77890, i32* inttoptr (i64 3137490944 to i32*)
store volatile i32 11, i32* inttoptr (i64 3137483004 to i32*)
store volatile i32 7000, i32* inttoptr (i64 3137483008 to i32*)
store volatile i32 6790, i32* inttoptr (i64 3137483012 to i32*)
store volatile i32 215616660, i32* inttoptr (i64 3137483016 to i32*)
store volatile i32 201853890, i32* inttoptr (i64 3137483020 to i32*)
store volatile i32 215616660, i32* inttoptr (i64 3137483024 to i32*)
store volatile i32 201853890, i32* inttoptr (i64 3137483028 to i32*)
store volatile i32 88081644, i32* inttoptr (i64 3137483032 to i32*)
store volatile i32 14680148, i32* inttoptr (i64 3137483036 to i32*)
store volatile i32 88081644, i32* inttoptr (i64 3137483040 to i32*)
store volatile i32 14680148, i32* inttoptr (i64 3137483044 to i32*)
store volatile i32 5735100, i32* inttoptr (i64 3137523712 to i32*)
store volatile i32 5735100, i32* inttoptr (i64 3137523716 to i32*)
store volatile i32 5735100, i32* inttoptr (i64 3137523720 to i32*)
store volatile i32 700, i32* inttoptr (i64 3137523724 to i32*)
store volatile i32 168, i32* inttoptr (i64 3137523744 to i32*)
store volatile i32 57351000, i32* inttoptr (i64 3137523728 to i32*)
store volatile i32 57351000, i32* inttoptr (i64 3137523732 to i32*)
store volatile i32 57351000, i32* inttoptr (i64 3137523736 to i32*)
store volatile i32 7000, i32* inttoptr (i64 3137523740 to i32*)
store volatile i32 350, i32* inttoptr (i64 3137523748 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137339872 to i32*)
store volatile i32 1024, i32* inttoptr (i64 3137339496 to i32*)
store volatile i32 -1, i32* inttoptr (i64 3137417476 to i32*)
store volatile i32 2, i32* inttoptr (i64 3137339844 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137526972 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137527244 to i32*)
store volatile i32 131071, i32* inttoptr (i64 3137526460 to i32*)
store volatile i32 4368, i32* inttoptr (i64 3137339464 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137499136 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137417224 to i32*)
store volatile i32 127, i32* inttoptr (i64 3137417228 to i32*)
store volatile i32 17, i32* inttoptr (i64 3137413120 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413128 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413132 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413136 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413140 to i32*)
store volatile i32 0, i32* inttoptr (i64 3137413144 to i32*)
store volatile i32 25, i32* inttoptr (i64 3137413120 to i32*)
store volatile i32 1, i32* inttoptr (i64 3137339516 to i32*)
%1 = load volatile i32, i32* inttoptr (i64 3087007812 to i32*)
%2 = or i32 %1, 1
store volatile i32 %2, i32* inttoptr (i64 3087007812 to i32*)
store volatile i32 118, i32* inttoptr (i64 3137339564 to i32*)
ret i32 0
}