Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- example::divu_gen:
- push rax
- lzcnt ecx, esi
- mov eax, 32
- mov r9d, -1
- sub eax, ecx
- blsr ecx, esi
- mov ecx, -1
- lea r8, [rax - 1]
- je .LBB0_3
- jb .LBB0_4
- mov edx, 2147483648
- mov ecx, esi
- xor r9d, r9d
- shlx rax, rdx, rax
- xor edx, edx
- div rcx
- mov ecx, 1
- shlx r10, rcx, r8
- xor ecx, ecx
- mov edx, eax
- imul edx, esi
- add edx, esi
- cmp rdx, r10
- setbe cl
- cmova r9d, eax
- add ecx, eax
- .LBB0_3:
- mov dword ptr [rdi], ecx
- mov dword ptr [rdi + 4], r9d
- mov dword ptr [rdi + 8], r8d
- mov rax, rdi
- pop rcx
- ret
- .LBB0_4:
- lea rdi, [rip + str.0]
- lea rdx, [rip + .L__unnamed_1]
- mov esi, 25
- call qword ptr [rip + core::panicking::panic@GOTPCREL]
- ud2
- .L__unnamed_2:
- .ascii "/app/example.rs"
- .L__unnamed_1:
- .quad .L__unnamed_2
- .asciz "\017\000\000\000\000\000\000\000\n\000\000\000\r\000\000"
- str.0:
- .ascii "attempt to divide by zero"
Advertisement
Advertisement