Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .p2align 4, 0x90 # -- Begin function csiphy_lanes_enable
- .type csiphy_lanes_enable,@function
- csiphy_lanes_enable: # @csiphy_lanes_enable
- # %bb.0:
- endbr64
- callq __fentry__
- pushq %rbp
- pushq %r15
- pushq %r14
- pushq %r13
- pushq %r12
- pushq %rbx
- subq $56, %rsp
- movq %rdx, %r13
- movq %rsi, %rbx
- movq %rdi, %r14
- leaq 8(%rsi), %r15
- movq %r15, %rdi
- callq __tsan_read8@PLT
- movq 8(%rbx), %r12
- movq %r14, %rdi
- callq __tsan_read8@PLT
- movq (%r14), %rbx
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movl (%rbx), %eax
- movl %eax, 20(%rsp) # 4-byte Spill
- testq %r13, %r13
- jle .LBB3_1
- # %bb.2:
- leaq 548(%r14), %rdi
- callq __tsan_read4@PLT
- movl 548(%r14), %edi
- movl %r13d, %esi
- movabsq $1000000000000, %rcx # imm = 0xE8D4A51000
- movq %rcx, %rax
- xorl %edx, %edx
- divq %rsi
- shrl %eax
- leal (%rax,%rax,2), %eax
- leal (%rax,%rax), %esi
- addl $85000, %esi # imm = 0x14C08
- movq %rcx, %rax
- xorl %edx, %edx
- divq %rdi
- movq %rax, %rcx
- movl %esi, %eax
- xorl %edx, %edx
- divl %ecx
- addl $250, %eax
- movzbl %al, %eax
- movl %eax, 4(%rsp) # 4-byte Spill
- jmp .LBB3_3
- .LBB3_1:
- movl $0, 4(%rsp) # 4-byte Folded Spill
- .LBB3_3:
- movq %r12, %rdi
- callq __tsan_read4@PLT
- movl (%r12), %eax
- movq %rax, 8(%rsp) # 8-byte Spill
- testl %eax, %eax
- movq %r14, 24(%rsp) # 8-byte Spill
- jle .LBB3_4
- # %bb.5:
- movq %r15, 48(%rsp) # 8-byte Spill
- leaq 8(%r12), %rdi
- callq __tsan_read8@PLT
- movq 8(%r12), %rdx
- movq 8(%rsp), %rcx # 8-byte Reload
- leaq -1(%rcx), %rax
- # kill: def $ecx killed $ecx killed $rcx def $rcx
- andl $3, %ecx
- movq %rcx, 40(%rsp) # 8-byte Spill
- cmpq $3, %rax
- movq %rdx, 32(%rsp) # 8-byte Spill
- jae .LBB3_7
- # %bb.6:
- movb $-128, %r15b
- xorl %r12d, %r12d
- jmp .LBB3_9
- .LBB3_4:
- movl $128, %ebx
- jmp .LBB3_13
- .LBB3_7:
- movq 8(%rsp), %rax # 8-byte Reload
- andl $-4, %eax
- movq %rax, 8(%rsp) # 8-byte Spill
- leaq 4(%rdx), %rbx
- movb $-128, %r15b
- xorl %r12d, %r12d
- .LBB3_8: # =>This Inner Loop Header: Depth=1
- leaq -4(%rbx), %rdi
- callq __tsan_read1@PLT
- movzbl -4(%rbx), %ecx
- addb %cl, %cl
- movl $1, %r14d
- shlq %cl, %r14
- orb %r15b, %r14b
- leaq -2(%rbx), %rdi
- callq __tsan_read1@PLT
- movzbl -2(%rbx), %ecx
- addb %cl, %cl
- movl $1, %ebp
- shlq %cl, %rbp
- movq %rbx, %rdi
- callq __tsan_read1@PLT
- movzbl (%rbx), %ecx
- addb %cl, %cl
- movl $1, %r13d
- shlq %cl, %r13
- orb %bpl, %r13b
- orb %r14b, %r13b
- leaq 2(%rbx), %rdi
- callq __tsan_read1@PLT
- movzbl 2(%rbx), %ecx
- addb %cl, %cl
- movl $1, %r15d
- shlq %cl, %r15
- orb %r13b, %r15b
- addq $4, %r12
- addq $8, %rbx
- cmpq %r12, 8(%rsp) # 8-byte Folded Reload
- jne .LBB3_8
- .LBB3_9:
- movq 40(%rsp), %rbp # 8-byte Reload
- testq %rbp, %rbp
- je .LBB3_12
- # %bb.10:
- movq 32(%rsp), %rax # 8-byte Reload
- leaq (%rax,%r12,2), %rbx
- .LBB3_11: # =>This Inner Loop Header: Depth=1
- movq %rbx, %rdi
- callq __tsan_read1@PLT
- movzbl (%rbx), %ecx
- addb %cl, %cl
- movl $1, %eax
- shlq %cl, %rax
- orb %al, %r15b
- addq $2, %rbx
- addq $-1, %rbp
- jne .LBB3_11
- .LBB3_12:
- movzbl %r15b, %ebx
- movq 24(%rsp), %r14 # 8-byte Reload
- movq 48(%rsp), %r15 # 8-byte Reload
- .LBB3_13:
- leaq 472(%r14), %r12
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 472(%r14), %rax
- #APP
- movl %ebx, 2068(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 472(%r14), %rax
- movl $1, %ecx
- #APP
- movl %ecx, 2072(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 472(%r14), %rax
- movl $2, %ecx
- #APP
- movl %ecx, 2076(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 472(%r14), %rax
- xorl %ebp, %ebp
- #APP
- movl %ebp, 2048(%rax)
- #NO_APP
- movl 20(%rsp), %eax # 4-byte Reload
- addl $-3, %eax
- cmpl $1, %eax
- ja .LBB3_47
- # %bb.14:
- movq %r14, %rdi
- callq __tsan_read8@PLT
- movq (%r14), %rbx
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movl (%rbx), %eax
- cmpl $3, %eax
- jne .LBB3_16
- # %bb.15:
- movl $14, %r14d
- movq $lane_regs_sdm845, %rbx
- jmp .LBB3_18
- .LBB3_47:
- movq %r15, %rdi
- callq __tsan_read8@PLT
- movq (%r15), %r13
- movq %r13, %rdi
- callq __tsan_read4@PLT
- movl (%r13), %eax
- testl %eax, %eax
- js .LBB3_52
- # %bb.48:
- leaq 8(%r13), %rcx
- movq %rcx, 8(%rsp) # 8-byte Spill
- xorl %r14d, %r14d
- jmp .LBB3_49
- .LBB3_51: # in Loop: Header=BB3_49 Depth=1
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl %ebp, %r15d
- shlq $8, %r15
- movl $215, %ecx
- #APP
- movl %ecx, (%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $8, %ecx
- #APP
- movl %ecx, 4(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl 4(%rsp), %ecx # 4-byte Reload
- #APP
- movl %ecx, 8(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $82, %ecx
- #APP
- movl %ecx, 16(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $1, %ebx
- #APP
- movl %ebx, 44(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $2, %ecx
- #APP
- movl %ecx, 48(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $3, %ecx
- #APP
- movl %ecx, 52(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 56(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $10, %ecx
- #APP
- movl %ecx, 28(%rax,%r15)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- movl $184, %ecx
- #APP
- movl %ecx, 60(%rax,%r15)
- #NO_APP
- addl $1, %r14d
- movq %r13, %rdi
- callq __tsan_read4@PLT
- movl (%r13), %eax
- cmpl %eax, %r14d
- jg .LBB3_52
- .LBB3_49: # =>This Inner Loop Header: Depth=1
- movl $7, %ebp
- cmpl %eax, %r14d
- je .LBB3_51
- # %bb.50: # in Loop: Header=BB3_49 Depth=1
- movq 8(%rsp), %rbx # 8-byte Reload
- movq %rbx, %rdi
- callq __tsan_read8@PLT
- movq (%rbx), %rbp
- movslq %r14d, %rbx
- leaq (,%rbx,2), %rdi
- addq %rbp, %rdi
- callq __tsan_read1@PLT
- movzbl (%rbp,%rbx,2), %ebp
- addl %ebp, %ebp
- jmp .LBB3_51
- .LBB3_52:
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 24(%rsp), %r15 # 8-byte Reload
- movq 472(%r15), %rax
- movl %ebp, %ebp
- shlq $8, %rbp
- movl $192, %ecx
- #APP
- movl %ecx, (%rax,%rbp)
- #NO_APP
- movq %r15, %rdi
- callq __tsan_read8@PLT
- movq (%r15), %r14
- movq %r14, %rdi
- callq __tsan_read4@PLT
- xorl %ebx, %ebx
- cmpl $2, (%r14)
- sete %bl
- orl $164, %ebx
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 472(%r15), %rax
- #APP
- movl %ebx, 12(%rax,%rbp)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq 472(%r15), %rax
- movl $4, %ecx
- #APP
- movl %ecx, 40(%rax,%rbp)
- #NO_APP
- .LBB3_53:
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- xorl %ebx, %ebx
- #APP
- movl %ebx, 2092(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2096(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2100(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2104(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2108(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2112(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2116(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2120(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2124(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2128(%rax)
- #NO_APP
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %rax
- #APP
- movl %ebx, 2132(%rax)
- #NO_APP
- addq $56, %rsp
- popq %rbx
- popq %r12
- popq %r13
- popq %r14
- popq %r15
- popq %rbp
- retq
- .LBB3_16:
- cmpl $4, %eax
- jne .LBB3_54
- # %bb.17:
- movl $20, %r14d
- movq $lane_regs_sm8250, %rbx
- .LBB3_18:
- movl %r14d, %ebp
- jmp .LBB3_19
- .LBB3_22: # in Loop: Header=BB3_19 Depth=1
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %r13
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movslq (%rbx), %rax
- #APP
- movl %r15d, (%r13,%rax)
- #NO_APP
- .LBB3_23: # in Loop: Header=BB3_19 Depth=1
- addq $16, %rbx
- addl $-1, %ebp
- je .LBB3_24
- .LBB3_19: # =>This Inner Loop Header: Depth=1
- leaq 12(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 12(%rbx), %eax
- movl 4(%rsp), %r15d # 4-byte Reload
- cmpl $2, %eax
- je .LBB3_22
- # %bb.20: # in Loop: Header=BB3_19 Depth=1
- cmpl $4, %eax
- je .LBB3_23
- # %bb.21: # in Loop: Header=BB3_19 Depth=1
- leaq 4(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 4(%rbx), %r15d
- jmp .LBB3_22
- .LBB3_24:
- movl %r14d, %ebp
- jmp .LBB3_25
- .LBB3_28: # in Loop: Header=BB3_25 Depth=1
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %r13
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movslq (%rbx), %rax
- #APP
- movl %r15d, (%r13,%rax)
- #NO_APP
- .LBB3_29: # in Loop: Header=BB3_25 Depth=1
- addq $16, %rbx
- addl $-1, %ebp
- je .LBB3_30
- .LBB3_25: # =>This Inner Loop Header: Depth=1
- leaq 12(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 12(%rbx), %eax
- movl 4(%rsp), %r15d # 4-byte Reload
- cmpl $2, %eax
- je .LBB3_28
- # %bb.26: # in Loop: Header=BB3_25 Depth=1
- cmpl $4, %eax
- je .LBB3_29
- # %bb.27: # in Loop: Header=BB3_25 Depth=1
- leaq 4(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 4(%rbx), %r15d
- jmp .LBB3_28
- .LBB3_30:
- movl %r14d, %ebp
- jmp .LBB3_31
- .LBB3_34: # in Loop: Header=BB3_31 Depth=1
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %r13
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movslq (%rbx), %rax
- #APP
- movl %r15d, (%r13,%rax)
- #NO_APP
- .LBB3_35: # in Loop: Header=BB3_31 Depth=1
- addq $16, %rbx
- addl $-1, %ebp
- je .LBB3_36
- .LBB3_31: # =>This Inner Loop Header: Depth=1
- leaq 12(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 12(%rbx), %eax
- movl 4(%rsp), %r15d # 4-byte Reload
- cmpl $2, %eax
- je .LBB3_34
- # %bb.32: # in Loop: Header=BB3_31 Depth=1
- cmpl $4, %eax
- je .LBB3_35
- # %bb.33: # in Loop: Header=BB3_31 Depth=1
- leaq 4(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 4(%rbx), %r15d
- jmp .LBB3_34
- .LBB3_36:
- movl %r14d, %ebp
- jmp .LBB3_37
- .LBB3_40: # in Loop: Header=BB3_37 Depth=1
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %r13
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movslq (%rbx), %rax
- #APP
- movl %r15d, (%r13,%rax)
- #NO_APP
- .LBB3_41: # in Loop: Header=BB3_37 Depth=1
- addq $16, %rbx
- addl $-1, %ebp
- je .LBB3_42
- .LBB3_37: # =>This Inner Loop Header: Depth=1
- leaq 12(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 12(%rbx), %eax
- movl 4(%rsp), %r15d # 4-byte Reload
- cmpl $2, %eax
- je .LBB3_40
- # %bb.38: # in Loop: Header=BB3_37 Depth=1
- cmpl $4, %eax
- je .LBB3_41
- # %bb.39: # in Loop: Header=BB3_37 Depth=1
- leaq 4(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 4(%rbx), %r15d
- jmp .LBB3_40
- .LBB3_45: # in Loop: Header=BB3_42 Depth=1
- movq %r12, %rdi
- callq __tsan_read8@PLT
- movq (%r12), %r15
- movq %rbx, %rdi
- callq __tsan_read4@PLT
- movslq (%rbx), %rax
- #APP
- movl %ebp, (%r15,%rax)
- #NO_APP
- .LBB3_46: # in Loop: Header=BB3_42 Depth=1
- addq $16, %rbx
- addl $-1, %r14d
- je .LBB3_53
- .LBB3_42: # =>This Inner Loop Header: Depth=1
- leaq 12(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 12(%rbx), %eax
- movl 4(%rsp), %ebp # 4-byte Reload
- cmpl $2, %eax
- je .LBB3_45
- # %bb.43: # in Loop: Header=BB3_42 Depth=1
- cmpl $4, %eax
- je .LBB3_46
- # %bb.44: # in Loop: Header=BB3_42 Depth=1
- leaq 4(%rbx), %rdi
- callq __tsan_read4@PLT
- movl 4(%rbx), %ebp
- jmp .LBB3_45
- .LBB3_54:
- #APP
- .Ltmp0:
- .section .discard.unreachable,"",@progbits
- .Ltmp1:
- .long .Ltmp0-.Ltmp1
- .text
- #NO_APP
- .Lfunc_end3:
- .size csiphy_lanes_enable, .Lfunc_end3-csiphy_lanes_enable
- # -- End function
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement