void lcd_control_init(void) {
  (*(volatile unsigned long *)0x7410800c) &= (~(0x1 << 3));
  (*(volatile unsigned long *)0x7f0081a0) = 0x01;
  (*(volatile unsigned long *)0x77100000) = (14 << 6) | (0x1 << 4) | (0x3 << 0);
  (*(volatile unsigned long *)0x77100004) = (0x1 << 5) | (0x1 << 6);
  (*(volatile unsigned long *)0x77100010) = (1 << 16) | (1 << 8) | (9 << 0);
  (*(volatile unsigned long *)0x77100014) = (1 << 16) | (1 << 8) | (40 << 0);
  (*(volatile unsigned long *)0x77100018) = (271 << 11) | (479 << 0);
  (*(volatile unsigned long *)0x77100020) =
      (0x1 << 16) | (0xb << 2) | (0x1 << 0);
  (*(volatile unsigned long *)0x77100040) = (0 << 11) | (0 << 0);
  (*(volatile unsigned long *)0x77100044) = (479 << 11) | (271 << 0);
  (*(volatile unsigned long *)0x77100048) = (271 + 1) * (479 + 1);
  (*(volatile unsigned long *)0x771000a0) = 0x59000000;
  (*(volatile unsigned long *)0x771000d0) =
      (0x59000000 + (271 + 1) * (479 + 1) * 4);
}


x86 assembly (clang, -O0):
<lcd_control_init>:
push   %rbp
mov    %rsp,%rbp
mov    $0x7410800c,%eax
mov    (%rax),%rcx
and    $0xfffffffffffffff7,%rcx
mov    $0x7410800c,%eax
mov    %rcx,(%rax)
mov    $0x7f0081a0,%eax
movq   $0x1,(%rax)
mov    $0x77100000,%eax
movq   $0x393,(%rax)
mov    $0x77100004,%eax
movq   $0x60,(%rax)
mov    $0x77100010,%eax
movq   $0x10109,(%rax)
mov    $0x77100014,%eax
movq   $0x10128,(%rax)
mov    $0x77100018,%eax
movq   $0x879df,(%rax)
mov    $0x77100020,%eax
movq   $0x1002d,(%rax)
mov    $0x77100040,%eax
movq   $0x0,(%rax)
mov    $0x77100044,%eax
movq   $0xef90f,(%rax)
mov    $0x77100048,%eax
movq   $0x1fe00,(%rax)
mov    $0x771000a0,%eax
movq   $0x59000000,(%rax)
mov    $0x771000d0,%eax
movq   $0x5907f800,(%rax)
pop    %rbp
ret

x86 assembly (clang, -O2):
<lcd_control_init>:
andq   $0xfffffffffffffff7,0x7410800c
74 f7
movq   $0x1,0x7f0081a0
movq   $0x393,0x77100000
movq   $0x60,0x77100004
movq   $0x10109,0x77100010
movq   $0x10128,0x77100014
movq   $0x879df,0x77100018
movq   $0x1002d,0x77100020
movq   $0x0,0x77100040
movq   $0xef90f,0x77100044
movq   $0x1fe00,0x77100048
movq   $0x59000000,0x771000a0
movq   $0x5907f800,0x771000d0
ret

LLVM IR (-O0):
define void @lcd_control_init() {
%1 = load volatile i64, i64* inttoptr (i64 1947238412 to i64*)
%2 = and i64 %1, -9
store volatile i64 %2, i64* inttoptr (i64 1947238412 to i64*)
store volatile i64 1, i64* inttoptr (i64 2130739616 to i64*)
store volatile i64 915, i64* inttoptr (i64 1997537280 to i64*)
store volatile i64 96, i64* inttoptr (i64 1997537284 to i64*)
store volatile i64 65801, i64* inttoptr (i64 1997537296 to i64*)
store volatile i64 65832, i64* inttoptr (i64 1997537300 to i64*)
store volatile i64 555487, i64* inttoptr (i64 1997537304 to i64*)
store volatile i64 65581, i64* inttoptr (i64 1997537312 to i64*)
store volatile i64 0, i64* inttoptr (i64 1997537344 to i64*)
store volatile i64 981263, i64* inttoptr (i64 1997537348 to i64*)
store volatile i64 130560, i64* inttoptr (i64 1997537352 to i64*)
store volatile i64 1493172224, i64* inttoptr (i64 1997537440 to i64*)
store volatile i64 1493694464, i64* inttoptr (i64 1997537488 to i64*)
ret void
}

LLVM IR (-O2):
define void @lcd_control_init() {
%1 = load volatile i64, i64* inttoptr (i64 1947238412 to i64*)
%2 = and i64 %1, -9
store volatile i64 %2, i64* inttoptr (i64 1947238412 to i64*)
store volatile i64 1, i64* inttoptr (i64 2130739616 to i64*)
store volatile i64 915, i64* inttoptr (i64 1997537280 to i64*)
store volatile i64 96, i64* inttoptr (i64 1997537284 to i64*)
store volatile i64 65801, i64* inttoptr (i64 1997537296 to i64*)
store volatile i64 65832, i64* inttoptr (i64 1997537300 to i64*)
store volatile i64 555487, i64* inttoptr (i64 1997537304 to i64*)
store volatile i64 65581, i64* inttoptr (i64 1997537312 to i64*)
store volatile i64 0, i64* inttoptr (i64 1997537344 to i64*)
store volatile i64 981263, i64* inttoptr (i64 1997537348 to i64*)
store volatile i64 130560, i64* inttoptr (i64 1997537352 to i64*)
store volatile i64 1493172224, i64* inttoptr (i64 1997537440 to i64*)
store volatile i64 1493694464, i64* inttoptr (i64 1997537488 to i64*)
ret void
}