.section __TEXT,__text,regular,pure_instructions .macosx_version_min 10, 10 .globl _testfun .align 4, 0x90 _testfun: ## @testfun .cfi_startproc ## BB#0: pushq %rbp Ltmp0: .cfi_def_cfa_offset 16 Ltmp1: .cfi_offset %rbp, -16 movq %rsp, %rbp Ltmp2: .cfi_def_cfa_register %rbp ## kill: EDI EDI RDI movl $1, %eax testl %edi, %edi jle LBB0_8 ## BB#1: ## %.lr.ph.preheader movl %edi, %eax notl %eax cmpl $-3, %eax movl $-2, %edx movl $-2, %ecx cmovgl %eax, %ecx leal 2(%rdi,%rcx), %esi leal 1(%rdi,%rcx), %ecx testb $7, %sil je LBB0_2 ## BB#3: ## %.lr.ph.prol.preheader cmpl $-3, %eax cmovgl %eax, %edx leal 2(%rdi,%rdx), %edx andl $7, %edx negl %edx movl $1, %eax .align 4, 0x90 LBB0_4: ## %.lr.ph.prol ## =>This Inner Loop Header: Depth=1 decl %edi addl %eax, %eax incl %edx jne LBB0_4 jmp LBB0_5 LBB0_2: movl $1, %eax LBB0_5: ## %.lr.ph.preheader.split cmpl $7, %ecx jb LBB0_8 ## BB#6: ## %.lr.ph.preheader.split.split incl %edi .align 4, 0x90 LBB0_7: ## %.lr.ph ## =>This Inner Loop Header: Depth=1 shll $8, %eax addl $-8, %edi cmpl $1, %edi jg LBB0_7 LBB0_8: ## %._crit_edge popq %rbp retq .cfi_endproc .globl _main .align 4, 0x90 _main: ## @main .cfi_startproc ## BB#0: ## %.lr.ph.i.preheader.2 pushq %rbp Ltmp3: .cfi_def_cfa_offset 16 Ltmp4: .cfi_offset %rbp, -16 movq %rsp, %rbp Ltmp5: .cfi_def_cfa_register %rbp pushq %rbx pushq %rax Ltmp6: .cfi_offset %rbx, -24 leaq L_.str(%rip), %rbx xorl %esi, %esi movl $1, %edx xorl %eax, %eax movq %rbx, %rdi callq _printf movl $1, %esi movl $2, %edx xorl %eax, %eax movq %rbx, %rdi callq _printf leaq L_.str(%rip), %rdi movl $2, %esi movl $4, %edx xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $3, %esi movl $8, %edx xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $4, %esi movl $16, %edx xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $5, %esi movl $32, %edx xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $6, %esi movl $64, %edx xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $7, %esi movl $128, %edx xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $8, %esi movl $256, %edx ## imm = 0x100 xorl %eax, %eax callq _printf leaq L_.str(%rip), %rdi movl $9, %esi movl $512, %edx ## imm = 0x200 xorl %eax, %eax callq _printf xorl %eax, %eax addq $8, %rsp popq %rbx popq %rbp retq .cfi_endproc .section __TEXT,__cstring,cstring_literals L_.str: ## @.str .asciz "2^%i = %i\n" .subsections_via_symbols