void fill_buf(char *buf, int size, char a) {
  int i, r;
  for (i = 0; i < size; i++) {
    r = i % 128;
    if (r != 127) {
      buf[i] = a;
    } else {
      buf[i] = '\n';
    }
  }
  buf[i] = '\0';
}


x86 assembly (clang, -O0):
<fill_buf>:
push   %rbp
mov    %rsp,%rbp
mov    %dl,%al
mov    %rdi,-0x8(%rbp)
mov    %esi,-0xc(%rbp)
mov    %al,-0xd(%rbp)
movl   $0x0,-0x14(%rbp)
mov    -0x14(%rbp),%eax
cmp    -0xc(%rbp),%eax
jge    116d <fill_buf+0x6d>
mov    -0x14(%rbp),%eax
mov    $0x80,%ecx
cltd
idiv   %ecx
mov    %edx,-0x18(%rbp)
cmpl   $0x7f,-0x18(%rbp)
je     114e <fill_buf+0x4e>
mov    -0xd(%rbp),%dl
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
mov    %dl,(%rax,%rcx,1)
jmp    115a <fill_buf+0x5a>
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
movb   $0xa,(%rax,%rcx,1)
jmp    115f <fill_buf+0x5f>
mov    -0x14(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x14(%rbp)
jmp    1117 <fill_buf+0x17>
mov    -0x8(%rbp),%rax
movslq -0x14(%rbp),%rcx
movb   $0x0,(%rax,%rcx,1)
pop    %rbp
ret

x86 assembly (clang, -O2):
<fill_buf>:
test   %esi,%esi
jle    1116 <fill_buf+0x16>
mov    %esi,%eax
movzbl %dl,%r9d
cmp    $0x10,%esi
jae    111d <fill_buf+0x1d>
xor    %edx,%edx
jmp    18ac <fill_buf+0x7ac>
xor    %eax,%eax
movb   $0x0,(%rdi,%rax,1)
ret
mov    %eax,%edx
and    $0xfffffff0,%edx
movd   %r9d,%xmm0
punpcklbw %xmm0,%xmm0
pshuflw $0x0,%xmm0,%xmm0
pshufd $0x0,%xmm0,%xmm7
lea    -0x10(%rdx),%rsi
mov    %rsi,%rcx
shr    $0x4,%rcx
add    $0x1,%rcx
mov    %ecx,%r8d
and    $0x3,%r8d
cmp    $0x30,%rsi
movdqa %xmm7,-0x18(%rsp)
jae    11a6 <fill_buf+0xa6>
movdqa 0xea0(%rip),%xmm8
movdqa 0xea7(%rip),%xmm10
movdqa 0xeae(%rip),%xmm11
movdqa 0xeb5(%rip),%xmm13
movdqa 0xebc(%rip),%xmm15
movdqa 0xec3(%rip),%xmm14
movdqa 0xeca(%rip),%xmm9
movdqa 0xed1(%rip),%xmm12
xor    %esi,%esi
jmp    1733 <fill_buf+0x633>
and    $0xfffffffffffffffc,%rcx
movdqa 0xe4d(%rip),%xmm8
movdqa 0xe54(%rip),%xmm10
movdqa 0xe5b(%rip),%xmm11
movdqa 0xe62(%rip),%xmm13
movdqa 0xe69(%rip),%xmm15
movdqa 0xe70(%rip),%xmm14
movdqa 0xe77(%rip),%xmm9
movdqa 0xe7e(%rip),%xmm12
xor    %esi,%esi
movdqa 0xe84(%rip),%xmm1
movdqa 0xe8c(%rip),%xmm3
cs nopw 0x0(%rax,%rax,1)
xchg   %ax,%ax
movdqa %xmm8,-0x28(%rsp)
movdqa -0x28(%rsp),%xmm0
pand   %xmm1,%xmm0
movdqa %xmm15,%xmm4
pand   %xmm1,%xmm4
movdqa %xmm9,%xmm5
pand   %xmm1,%xmm5
movdqa %xmm12,%xmm8
pand   %xmm1,%xmm8
pcmpeqd %xmm1,%xmm8
pshufd $0xb1,%xmm8,%xmm6
pand   %xmm3,%xmm8
pand   %xmm6,%xmm8
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm6
pand   %xmm3,%xmm5
pand   %xmm6,%xmm5
movdqa %xmm14,%xmm6
pand   %xmm1,%xmm6
packuswb %xmm5,%xmm8
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm5
pand   %xmm3,%xmm6
pand   %xmm5,%xmm6
pcmpeqd %xmm1,%xmm4
pshufd $0xb1,%xmm4,%xmm5
pand   %xmm3,%xmm4
pand   %xmm5,%xmm4
movdqa %xmm11,%xmm5
pand   %xmm1,%xmm5
packuswb %xmm4,%xmm6
movdqa %xmm13,%xmm4
pand   %xmm1,%xmm4
packuswb %xmm8,%xmm8
packuswb %xmm6,%xmm6
packuswb %xmm6,%xmm8
pcmpeqd %xmm1,%xmm4
pshufd $0xb1,%xmm4,%xmm6
pand   %xmm3,%xmm4
pand   %xmm6,%xmm4
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm6
pand   %xmm3,%xmm5
pand   %xmm6,%xmm5
movdqa %xmm10,%xmm6
pand   %xmm1,%xmm6
packuswb %xmm5,%xmm4
packuswb %xmm4,%xmm4
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm5
pand   %xmm3,%xmm6
pand   %xmm5,%xmm6
pcmpeqd %xmm1,%xmm0
pshufd $0xb1,%xmm0,%xmm5
pand   %xmm3,%xmm0
pand   %xmm5,%xmm0
packuswb %xmm0,%xmm6
packuswb %xmm6,%xmm0
packuswb %xmm0,%xmm4
shufps $0xcc,%xmm4,%xmm8
movaps %xmm8,%xmm0
andnps %xmm7,%xmm0
movaps 0xd75(%rip),%xmm4
andps  %xmm4,%xmm8
orps   %xmm0,%xmm8
movups %xmm8,(%rdi,%rsi,1)
movdqa %xmm12,%xmm0
movdqa 0xd6b(%rip),%xmm2
paddq  %xmm2,%xmm0
movdqa %xmm9,%xmm7
paddq  %xmm2,%xmm7
movdqa %xmm14,%xmm6
paddq  %xmm2,%xmm6
movdqa %xmm15,%xmm5
paddq  %xmm2,%xmm5
pand   %xmm1,%xmm7
pand   %xmm1,%xmm0
pcmpeqd %xmm1,%xmm0
pshufd $0xb1,%xmm0,%xmm4
pand   %xmm3,%xmm0
pand   %xmm4,%xmm0
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm4
pand   %xmm3,%xmm7
pand   %xmm4,%xmm7
movdqa %xmm13,%xmm4
paddq  %xmm2,%xmm4
pand   %xmm1,%xmm5
pand   %xmm1,%xmm6
packuswb %xmm7,%xmm0
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm3,%xmm6
pand   %xmm7,%xmm6
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm3,%xmm5
pand   %xmm7,%xmm5
movdqa %xmm11,%xmm7
paddq  %xmm2,%xmm7
packuswb %xmm5,%xmm6
movdqa %xmm10,%xmm5
paddq  %xmm2,%xmm5
pand   %xmm1,%xmm7
pand   %xmm1,%xmm4
packuswb %xmm0,%xmm0
packuswb %xmm6,%xmm6
packuswb %xmm6,%xmm0
pcmpeqd %xmm1,%xmm4
pshufd $0xb1,%xmm4,%xmm6
pand   %xmm3,%xmm4
pand   %xmm6,%xmm4
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm6
pand   %xmm3,%xmm7
pand   %xmm6,%xmm7
movdqa -0x28(%rsp),%xmm6
paddq  %xmm2,%xmm6
pand   %xmm1,%xmm6
pand   %xmm1,%xmm5
packuswb %xmm7,%xmm4
packuswb %xmm4,%xmm4
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm3,%xmm5
pand   %xmm7,%xmm5
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm3,%xmm6
pand   %xmm7,%xmm6
packuswb %xmm6,%xmm5
packuswb %xmm5,%xmm5
packuswb %xmm5,%xmm4
shufps $0xcc,%xmm4,%xmm0
movaps %xmm0,%xmm4
andnps -0x18(%rsp),%xmm4
movaps 0xc33(%rip),%xmm8
andps  %xmm8,%xmm0
orps   %xmm4,%xmm0
movups %xmm0,0x10(%rdi,%rsi,1)
movdqa %xmm12,%xmm0
movdqa 0xc3a(%rip),%xmm2
paddq  %xmm2,%xmm0
movdqa %xmm9,%xmm7
paddq  %xmm2,%xmm7
movdqa %xmm14,%xmm6
paddq  %xmm2,%xmm6
movdqa %xmm15,%xmm5
paddq  %xmm2,%xmm5
pand   %xmm1,%xmm7
pand   %xmm1,%xmm0
pcmpeqd %xmm1,%xmm0
pshufd $0xb1,%xmm0,%xmm4
pand   %xmm3,%xmm0
pand   %xmm4,%xmm0
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm4
pand   %xmm3,%xmm7
pand   %xmm4,%xmm7
movdqa %xmm13,%xmm4
paddq  %xmm2,%xmm4
pand   %xmm1,%xmm5
pand   %xmm1,%xmm6
packuswb %xmm7,%xmm0
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm3,%xmm6
pand   %xmm7,%xmm6
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm3,%xmm5
pand   %xmm7,%xmm5
movdqa %xmm11,%xmm7
paddq  %xmm2,%xmm7
packuswb %xmm5,%xmm6
movdqa %xmm10,%xmm5
paddq  %xmm2,%xmm5
pand   %xmm1,%xmm7
pand   %xmm1,%xmm4
packuswb %xmm0,%xmm0
packuswb %xmm6,%xmm6
packuswb %xmm6,%xmm0
pcmpeqd %xmm1,%xmm4
pshufd $0xb1,%xmm4,%xmm6
pand   %xmm3,%xmm4
pand   %xmm6,%xmm4
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm6
pand   %xmm3,%xmm7
pand   %xmm6,%xmm7
movdqa -0x28(%rsp),%xmm6
paddq  %xmm2,%xmm6
pand   %xmm1,%xmm6
pand   %xmm1,%xmm5
packuswb %xmm7,%xmm4
packuswb %xmm4,%xmm4
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm3,%xmm5
pand   %xmm7,%xmm5
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm3,%xmm6
pand   %xmm7,%xmm6
packuswb %xmm6,%xmm5
packuswb %xmm5,%xmm5
packuswb %xmm5,%xmm4
shufps $0xcc,%xmm4,%xmm0
movaps %xmm0,%xmm4
andnps -0x18(%rsp),%xmm4
andps  %xmm8,%xmm0
orps   %xmm4,%xmm0
movups %xmm0,0x20(%rdi,%rsi,1)
movdqa %xmm12,%xmm0
movdqa 0xb11(%rip),%xmm2
paddq  %xmm2,%xmm0
movdqa %xmm9,%xmm7
paddq  %xmm2,%xmm7
movdqa %xmm14,%xmm6
paddq  %xmm2,%xmm6
movdqa %xmm15,%xmm5
paddq  %xmm2,%xmm5
pand   %xmm1,%xmm7
pand   %xmm1,%xmm0
pcmpeqd %xmm1,%xmm0
pshufd $0xb1,%xmm0,%xmm4
pand   %xmm3,%xmm0
pand   %xmm4,%xmm0
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm4
pand   %xmm3,%xmm7
pand   %xmm4,%xmm7
movdqa %xmm13,%xmm4
paddq  %xmm2,%xmm4
pand   %xmm1,%xmm5
pand   %xmm1,%xmm6
packuswb %xmm7,%xmm0
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm3,%xmm6
pand   %xmm7,%xmm6
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm3,%xmm5
pand   %xmm7,%xmm5
movdqa %xmm11,%xmm7
paddq  %xmm2,%xmm7
packuswb %xmm5,%xmm6
movdqa %xmm10,%xmm5
paddq  %xmm2,%xmm5
pand   %xmm1,%xmm7
pand   %xmm1,%xmm4
packuswb %xmm0,%xmm0
packuswb %xmm6,%xmm6
packuswb %xmm6,%xmm0
pcmpeqd %xmm1,%xmm4
pshufd $0xb1,%xmm4,%xmm6
pand   %xmm3,%xmm4
pand   %xmm6,%xmm4
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm6
pand   %xmm3,%xmm7
pand   %xmm6,%xmm7
movdqa -0x28(%rsp),%xmm6
paddq  %xmm2,%xmm6
pand   %xmm1,%xmm6
pand   %xmm1,%xmm5
packuswb %xmm7,%xmm4
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm3,%xmm5
pand   %xmm7,%xmm5
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm3,%xmm6
pand   %xmm7,%xmm6
movaps -0x18(%rsp),%xmm7
packuswb %xmm6,%xmm5
packuswb %xmm4,%xmm4
packuswb %xmm5,%xmm5
packuswb %xmm5,%xmm4
shufps $0xcc,%xmm4,%xmm0
movaps %xmm0,%xmm4
andnps %xmm7,%xmm4
andps  %xmm8,%xmm0
orps   %xmm4,%xmm0
movups %xmm0,0x30(%rdi,%rsi,1)
movdqa -0x28(%rsp),%xmm8
add    $0x40,%rsi
movdqa 0x9df(%rip),%xmm0
paddq  %xmm0,%xmm12
paddq  %xmm0,%xmm9
paddq  %xmm0,%xmm14
paddq  %xmm0,%xmm15
paddq  %xmm0,%xmm13
paddq  %xmm0,%xmm11
paddq  %xmm0,%xmm10
paddq  %xmm0,%xmm8
add    $0xfffffffffffffffc,%rcx
jne    1210 <fill_buf+0x110>
test   %r8,%r8
je     18a7 <fill_buf+0x7a7>
add    %rdi,%rsi
shl    $0x4,%r8
xor    %ecx,%ecx
movdqa 0x933(%rip),%xmm1
movdqa 0x93b(%rip),%xmm2
movdqa 0x953(%rip),%xmm3
nopl   (%rax)
movdqa %xmm8,%xmm0
pand   %xmm1,%xmm0
movdqa %xmm15,%xmm5
pand   %xmm1,%xmm5
movdqa %xmm9,%xmm6
pand   %xmm1,%xmm6
movdqa %xmm12,%xmm4
pand   %xmm1,%xmm4
pcmpeqd %xmm1,%xmm4
pshufd $0xb1,%xmm4,%xmm7
pand   %xmm2,%xmm4
pand   %xmm7,%xmm4
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm2,%xmm6
pand   %xmm7,%xmm6
movdqa %xmm14,%xmm7
pand   %xmm1,%xmm7
packuswb %xmm6,%xmm4
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm6
pand   %xmm2,%xmm7
pand   %xmm6,%xmm7
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm6
pand   %xmm2,%xmm5
pand   %xmm6,%xmm5
movdqa %xmm11,%xmm6
pand   %xmm1,%xmm6
packuswb %xmm5,%xmm7
movdqa %xmm13,%xmm5
pand   %xmm1,%xmm5
packuswb %xmm4,%xmm4
packuswb %xmm7,%xmm7
packuswb %xmm7,%xmm4
pcmpeqd %xmm1,%xmm5
pshufd $0xb1,%xmm5,%xmm7
pand   %xmm2,%xmm5
pand   %xmm7,%xmm5
pcmpeqd %xmm1,%xmm6
pshufd $0xb1,%xmm6,%xmm7
pand   %xmm2,%xmm6
pand   %xmm7,%xmm6
movdqa %xmm10,%xmm7
pand   %xmm1,%xmm7
packuswb %xmm6,%xmm5
pcmpeqd %xmm1,%xmm7
pshufd $0xb1,%xmm7,%xmm6
pand   %xmm2,%xmm7
pand   %xmm6,%xmm7
pcmpeqd %xmm1,%xmm0
pshufd $0xb1,%xmm0,%xmm6
pand   %xmm2,%xmm0
pand   %xmm6,%xmm0
packuswb %xmm0,%xmm7
packuswb %xmm5,%xmm5
packuswb %xmm7,%xmm0
packuswb %xmm0,%xmm5
shufps $0xcc,%xmm5,%xmm4
movaps %xmm4,%xmm0
andnps -0x18(%rsp),%xmm0
andps  0x835(%rip),%xmm4
orps   %xmm0,%xmm4
movups %xmm4,(%rsi,%rcx,1)
paddq  %xmm3,%xmm12
paddq  %xmm3,%xmm9
paddq  %xmm3,%xmm14
paddq  %xmm3,%xmm15
paddq  %xmm3,%xmm13
paddq  %xmm3,%xmm11
paddq  %xmm3,%xmm10
paddq  %xmm3,%xmm8
add    $0x10,%rcx
cmp    %rcx,%r8
jne    1760 <fill_buf+0x660>
cmp    %rax,%rdx
je     18db <fill_buf+0x7db>
mov    $0xa,%ecx
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax,%rax,1)
mov    %edx,%esi
not    %esi
test   $0x7f,%sil
mov    %r9d,%esi
cmove  %ecx,%esi
mov    %sil,(%rdi,%rdx,1)
add    $0x1,%rdx
cmp    %rdx,%rax
jne    18c0 <fill_buf+0x7c0>
movb   $0x0,(%rdi,%rax,1)
ret

LLVM IR (-O0):
define void @fill_buf(i8* %0, i32 %1, i8 signext %2) {
%4 = alloca i8*
%5 = alloca i32
%6 = alloca i8
%7 = alloca i32
%8 = alloca i32
store i8* %0, i8** %4
store i32 %1, i32* %5
store i8 %2, i8* %6
store i32 0, i32* %7
br label %9
9: ; preds = %30, %3
%10 = load i32, i32* %7
%11 = load i32, i32* %5
%12 = icmp slt i32 %10, %11
br i1 %12, label %13, label %33
13: ; preds = %9
%14 = load i32, i32* %7
%15 = srem i32 %14, 128
store i32 %15, i32* %8
%16 = load i32, i32* %8
%17 = icmp ne i32 %16, 127
br i1 %17, label %18, label %24
18: ; preds = %13
%19 = load i8, i8* %6
%20 = load i8*, i8** %4
%21 = load i32, i32* %7
%22 = sext i32 %21 to i64
%23 = getelementptr inbounds i8, i8* %20, i64 %22
store i8 %19, i8* %23
br label %29
24: ; preds = %13
%25 = load i8*, i8** %4
%26 = load i32, i32* %7
%27 = sext i32 %26 to i64
%28 = getelementptr inbounds i8, i8* %25, i64 %27
store i8 10, i8* %28
br label %29
29: ; preds = %24, %18
br label %30
30: ; preds = %29
%31 = load i32, i32* %7
%32 = add nsw i32 %31, 1
store i32 %32, i32* %7
br label %9
33: ; preds = %9
%34 = load i8*, i8** %4
%35 = load i32, i32* %7
%36 = sext i32 %35 to i64
%37 = getelementptr inbounds i8, i8* %34, i64 %36
store i8 0, i8* %37
ret void
}

LLVM IR (-O2):
define void @fill_buf(i8* nocapture writeonly %0, i32 %1, i8 signext %2) {
%4 = icmp sgt i32 %1, 0
br i1 %4, label %5, label %84
5: ; preds = %3
%6 = zext i32 %1 to i64
%7 = icmp ult i32 %1, 16
br i1 %7, label %72, label %8
8: ; preds = %5
%9 = and i64 %6, 4294967280
%10 = insertelement <16 x i8> poison, i8 %2, i64 0
%11 = shufflevector <16 x i8> %10, <16 x i8> poison, <16 x i32> zeroinitializer
%12 = add nsw i64 %9, -16
%13 = lshr exact i64 %12, 4
%14 = add nuw nsw i64 %13, 1
%15 = and i64 %14, 3
%16 = icmp ult i64 %12, 48
br i1 %16, label %53, label %17
17: ; preds = %8
%18 = and i64 %14, 2305843009213693948
br label %19
19: ; preds = %19, %17
%20 = phi i64 [ 0, %17 ], [ %49, %19 ]
%21 = phi <16 x i64> [ <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15>, %17 ], [ %50, %19 ]
%22 = phi i64 [ 0, %17 ], [ %51, %19 ]
%23 = and <16 x i64> %21, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%24 = icmp eq <16 x i64> %23, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%25 = select <16 x i1> %24, <16 x i8> <i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10>, <16 x i8> %11
%26 = getelementptr inbounds i8, i8* %0, i64 %20
%27 = bitcast i8* %26 to <16 x i8>*
store <16 x i8> %25, <16 x i8>* %27
%28 = or i64 %20, 16
%29 = add <16 x i64> %21, <i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16>
%30 = and <16 x i64> %29, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%31 = icmp eq <16 x i64> %30, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%32 = select <16 x i1> %31, <16 x i8> <i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10>, <16 x i8> %11
%33 = getelementptr inbounds i8, i8* %0, i64 %28
%34 = bitcast i8* %33 to <16 x i8>*
store <16 x i8> %32, <16 x i8>* %34
%35 = or i64 %20, 32
%36 = add <16 x i64> %21, <i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32, i64 32>
%37 = and <16 x i64> %36, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%38 = icmp eq <16 x i64> %37, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%39 = select <16 x i1> %38, <16 x i8> <i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10>, <16 x i8> %11
%40 = getelementptr inbounds i8, i8* %0, i64 %35
%41 = bitcast i8* %40 to <16 x i8>*
store <16 x i8> %39, <16 x i8>* %41
%42 = or i64 %20, 48
%43 = add <16 x i64> %21, <i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48, i64 48>
%44 = and <16 x i64> %43, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%45 = icmp eq <16 x i64> %44, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%46 = select <16 x i1> %45, <16 x i8> <i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10>, <16 x i8> %11
%47 = getelementptr inbounds i8, i8* %0, i64 %42
%48 = bitcast i8* %47 to <16 x i8>*
store <16 x i8> %46, <16 x i8>* %48
%49 = add nuw i64 %20, 64
%50 = add <16 x i64> %21, <i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64, i64 64>
%51 = add i64 %22, 4
%52 = icmp eq i64 %51, %18
br i1 %52, label %53, label %19
53: ; preds = %19, %8
%54 = phi i64 [ 0, %8 ], [ %49, %19 ]
%55 = phi <16 x i64> [ <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15>, %8 ], [ %50, %19 ]
%56 = icmp eq i64 %15, 0
br i1 %56, label %70, label %57
57: ; preds = %53, %57
%58 = phi i64 [ %66, %57 ], [ %54, %53 ]
%59 = phi <16 x i64> [ %67, %57 ], [ %55, %53 ]
%60 = phi i64 [ %68, %57 ], [ 0, %53 ]
%61 = and <16 x i64> %59, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%62 = icmp eq <16 x i64> %61, <i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127, i64 127>
%63 = select <16 x i1> %62, <16 x i8> <i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10, i8 10>, <16 x i8> %11
%64 = getelementptr inbounds i8, i8* %0, i64 %58
%65 = bitcast i8* %64 to <16 x i8>*
store <16 x i8> %63, <16 x i8>* %65
%66 = add nuw i64 %58, 16
%67 = add <16 x i64> %59, <i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16, i64 16>
%68 = add i64 %60, 1
%69 = icmp eq i64 %68, %15
br i1 %69, label %70, label %57
70: ; preds = %57, %53
%71 = icmp eq i64 %9, %6
br i1 %71, label %82, label %72
72: ; preds = %5, %70
%73 = phi i64 [ 0, %5 ], [ %9, %70 ]
br label %74
74: ; preds = %72, %74
%75 = phi i64 [ %80, %74 ], [ %73, %72 ]
%76 = and i64 %75, 127
%77 = icmp eq i64 %76, 127
%78 = select i1 %77, i8 10, i8 %2
%79 = getelementptr inbounds i8, i8* %0, i64 %75
store i8 %78, i8* %79
%80 = add nuw nsw i64 %75, 1
%81 = icmp eq i64 %80, %6
br i1 %81, label %82, label %74
82: ; preds = %74, %70
%83 = zext i32 %1 to i64
br label %84
84: ; preds = %3, %82
%85 = phi i64 [ %83, %82 ], [ 0, %3 ]
%86 = getelementptr inbounds i8, i8* %0, i64 %85
store i8 0, i8* %86
ret void
}