Compiler Explorer
Have you ever wondered what the assembler code looks like in your code in Swift? I discovered a fantastic tool that allows you to do just that 🚀Compiler Explorer.
Swift example
func square(n: Int) -> Int {
return n * n
}
main:
push rbp
mov rbp, rsp
xor eax, eax
pop rbp
ret
output.square(n: Swift.Int) -> Swift.Int:
push rbp
mov rbp, rsp
sub rsp, 32
mov qword ptr [rbp - 24], rdi
lea rdi, [rbp - 8]
xor esi, esi
mov edx, 8
call memset@PLT
mov rdi, qword ptr [rbp - 24]
mov qword ptr [rbp - 8], rdi
imul rdi, rdi
mov qword ptr [rbp - 16], rdi
seto al
test al, 1
jne .LBB1_2
mov rax, qword ptr [rbp - 16]
add rsp, 32
pop rbp
ret
.LBB1_2:
ud2
__swift_reflection_version:
.short 3