#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 */

/* Variables and functions */
int /*<<< orphan*/ VIM_SIF_I2cWriteByte(int, int);
void SensorSetET_OV7670(unsigned char *RegBuf, unsigned char div) {
  VIM_SIF_I2cWriteByte(0x11, 0x01);
  VIM_SIF_I2cWriteByte(0x6b, 0x4a);
  VIM_SIF_I2cWriteByte(0x2a, 0x00);
  VIM_SIF_I2cWriteByte(0x2b, 0x00);
  VIM_SIF_I2cWriteByte(0x92, 0x66);
  VIM_SIF_I2cWriteByte(0x93, 0x00);
  VIM_SIF_I2cWriteByte(0x9d, 0x7f);
  VIM_SIF_I2cWriteByte(0x9e, 0x6a);
  VIM_SIF_I2cWriteByte(0xa5, 0x05);
  VIM_SIF_I2cWriteByte(0xab, 0x07);
  return;
}


x86 assembly (clang, -O0):
<SensorSetET_OV7670>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %sil,%al
mov    %rdi,-0x8(%rbp)
mov    %al,-0x9(%rbp)
mov    $0x11,%edi
mov    $0x1,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x6b,%edi
mov    $0x4a,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x2a,%edi
xor    %esi,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x2b,%edi
xor    %esi,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x92,%edi
mov    $0x66,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x93,%edi
xor    %esi,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x9d,%edi
mov    $0x7f,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x9e,%edi
mov    $0x6a,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0xa5,%edi
mov    $0x5,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0xab,%edi
mov    $0x7,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<SensorSetET_OV7670>:
push   %rax
mov    $0x11,%edi
mov    $0x1,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x6b,%edi
mov    $0x4a,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x2a,%edi
xor    %esi,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x2b,%edi
xor    %esi,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x92,%edi
mov    $0x66,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x93,%edi
xor    %esi,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x9d,%edi
mov    $0x7f,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0x9e,%edi
mov    $0x6a,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0xa5,%edi
mov    $0x5,%esi
call   1030 <VIM_SIF_I2cWriteByte@plt>
mov    $0xab,%edi
mov    $0x7,%esi
pop    %rax
jmp    1030 <VIM_SIF_I2cWriteByte@plt>

LLVM IR (-O0):
define void @SensorSetET_OV7670(i8* %0, i8 zeroext %1) {
%3 = alloca i8*
%4 = alloca i8
store i8* %0, i8** %3
store i8 %1, i8* %4
%5 = call i32 @VIM_SIF_I2cWriteByte(i32 17, i32 1)
%6 = call i32 @VIM_SIF_I2cWriteByte(i32 107, i32 74)
%7 = call i32 @VIM_SIF_I2cWriteByte(i32 42, i32 0)
%8 = call i32 @VIM_SIF_I2cWriteByte(i32 43, i32 0)
%9 = call i32 @VIM_SIF_I2cWriteByte(i32 146, i32 102)
%10 = call i32 @VIM_SIF_I2cWriteByte(i32 147, i32 0)
%11 = call i32 @VIM_SIF_I2cWriteByte(i32 157, i32 127)
%12 = call i32 @VIM_SIF_I2cWriteByte(i32 158, i32 106)
%13 = call i32 @VIM_SIF_I2cWriteByte(i32 165, i32 5)
%14 = call i32 @VIM_SIF_I2cWriteByte(i32 171, i32 7)
ret void
}

LLVM IR (-O2):
define void @SensorSetET_OV7670(i8* nocapture readnone %0, i8 zeroext %1) {
%3 = tail call i32 @VIM_SIF_I2cWriteByte(i32 17, i32 1)
%4 = tail call i32 @VIM_SIF_I2cWriteByte(i32 107, i32 74)
%5 = tail call i32 @VIM_SIF_I2cWriteByte(i32 42, i32 0)
%6 = tail call i32 @VIM_SIF_I2cWriteByte(i32 43, i32 0)
%7 = tail call i32 @VIM_SIF_I2cWriteByte(i32 146, i32 102)
%8 = tail call i32 @VIM_SIF_I2cWriteByte(i32 147, i32 0)
%9 = tail call i32 @VIM_SIF_I2cWriteByte(i32 157, i32 127)
%10 = tail call i32 @VIM_SIF_I2cWriteByte(i32 158, i32 106)
%11 = tail call i32 @VIM_SIF_I2cWriteByte(i32 165, i32 5)
%12 = tail call i32 @VIM_SIF_I2cWriteByte(i32 171, i32 7)
ret void
}