Skip to content

Instantly share code, notes, and snippets.

@michaeljclark
Last active March 30, 2017 21:11
Show Gist options
  • Save michaeljclark/ceeadf9b3cdc74d5c4a4d8f19abd4e89 to your computer and use it in GitHub Desktop.
Save michaeljclark/ceeadf9b3cdc74d5c4a4d8f19abd4e89 to your computer and use it in GitHub Desktop.
example rv-jit trace for test-sha512
$ ./build/darwin_x86_64/bin/rv-jit build/riscv64-unknown-elf/bin/test-sha512 --trace --log-jit-trace
rv-jit-0.0.0-prealpha-0
jit-trace-begin pc=0x000000000001041c
# 0x000000000001041c addi a6, a3, 1
lea r14, qword ptr [r11 + 1]
# 0x0000000000010420 andi a4, a6, 15
mov r12, r14
and r12, 15
# 0x0000000000010424 slli a4, a4, 3
shl r12, 3
# 0x0000000000010428 add a4, s7, a4
add r12, qword ptr [rbp + 192]
# 0x000000000001042c ld a0, 0(a4)
mov r8, qword ptr [r12 + 0]
# 0x0000000000010430 addi t1, a3, 9
lea rdi, qword ptr [r11 + 9]
# 0x0000000000010434 addi a4, a3, 14
lea r12, qword ptr [r11 + 14]
# 0x0000000000010438 andi t3, a3, 15
mov qword ptr [rbp + 232], r11
and qword ptr [rbp + 232], 15
# 0x000000000001043c andi a4, a4, 15
and r12, 15
# 0x0000000000010440 andi t1, t1, 15
and rdi, 15
# 0x0000000000010444 slli a4, a4, 3
shl r12, 3
# 0x0000000000010448 slli t3, t3, 3
shl qword ptr [rbp + 232], 3
# 0x000000000001044c slli t1, t1, 3
shl rdi, 3
# 0x0000000000010450 add a4, s7, a4
add r12, qword ptr [rbp + 192]
# 0x0000000000010454 add t3, s7, t3
mov rax, qword ptr [rbp + 192]
add qword ptr [rbp + 232], rax
# 0x0000000000010458 add t1, s7, t1
add rdi, qword ptr [rbp + 192]
# 0x000000000001045c ld t4, 0(a4)
mov rax, qword ptr [r12 + 0]
mov qword ptr [rbp + 240], rax
# 0x0000000000010460 ld a2, 0(t1)
mov r10, qword ptr [rdi + 0]
# 0x0000000000010464 ld a4, 0(t3)
mov rax, qword ptr [rbp + 232]
mov r12, qword ptr [rax + 0]
# 0x0000000000010468 slli a3, a0, 63
mov r11, r8
shl r11, 63
# 0x000000000001046c slli t1, a0, 56
mov rdi, r8
shl rdi, 56
# 0x0000000000010470 add a4, a2, a4
add r12, r10
# 0x0000000000010474 srli a2, a0, 1
mov r10, r8
shr r10, 1
# 0x0000000000010478 or a2, a2, a3
or r10, r11
# 0x000000000001047c srli a3, a0, 8
mov r11, r8
shr r11, 8
# 0x0000000000010480 or a3, a3, t1
or r11, rdi
# 0x0000000000010484 xor a2, a2, a3
xor r10, r11
# 0x0000000000010488 srli a0, a0, 7
shr r8, 7
# 0x000000000001048c xor a2, a2, a0
xor r10, r8
# 0x0000000000010490 add a2, a4, a2
add r10, r12
# 0x0000000000010494 slli a3, t4, 45
mov r11, qword ptr [rbp + 240]
shl r11, 45
# 0x0000000000010498 srli a4, t4, 19
mov r12, qword ptr [rbp + 240]
shr r12, 19
# 0x000000000001049c or a4, a4, a3
or r12, r11
# 0x00000000000104a0 srli a0, t4, 61
mov r8, qword ptr [rbp + 240]
shr r8, 61
# 0x00000000000104a4 slli a3, t4, 3
mov r11, qword ptr [rbp + 240]
shl r11, 3
# 0x00000000000104a8 or a3, a3, a0
or r11, r8
# 0x00000000000104ac xor a4, a4, a3
xor r12, r11
# 0x00000000000104b0 srli a3, t4, 6
mov r11, qword ptr [rbp + 240]
shr r11, 6
# 0x00000000000104b4 xor a4, a4, a3
xor r12, r11
# 0x00000000000104b8 add a0, a2, a4
lea r8, qword ptr [r10 + r12]
# 0x00000000000104bc srli a3, a1, 14
mov r11, r9
shr r11, 14
# 0x00000000000104c0 slli a2, a1, 50
mov r10, r9
shl r10, 50
# 0x00000000000104c4 or a2, a3, a2
or r10, r11
# 0x00000000000104c8 srli a4, a1, 18
mov r12, r9
shr r12, 18
# 0x00000000000104cc slli a3, a1, 46
mov r11, r9
shl r11, 46
# 0x00000000000104d0 or a4, a4, a3
or r12, r11
# 0x00000000000104d4 xor a3, a2, a4
mov r11, r10
xor r11, r12
# 0x00000000000104d8 srli a2, a1, 41
mov r10, r9
shr r10, 41
# 0x00000000000104dc slli a4, a1, 23
mov r12, r9
shl r12, 23
# 0x00000000000104e0 or a4, a4, a2
or r12, r10
# 0x00000000000104e4 xor a4, a3, a4
xor r12, r11
# 0x00000000000104e8 xor a3, s2, s3
mov r11, qword ptr [rbp + 152]
xor r11, qword ptr [rbp + 160]
# 0x00000000000104ec and a3, a3, a1
and r11, r9
# 0x00000000000104f0 xor a3, a3, s3
xor r11, qword ptr [rbp + 160]
# 0x00000000000104f4 add a4, a4, a3
add r12, r11
# 0x00000000000104f8 slli a3, a6, 3
mov r11, r14
shl r11, 3
# 0x00000000000104fc sd a0, 0(t3)
mov rax, qword ptr [rbp + 232]
mov qword ptr [rax + 0], r8
# 0x0000000000010500 add a3, s8, a3
add r11, qword ptr [rbp + 200]
# 0x0000000000010504 ld a3, -8(a3)
mov r11, qword ptr [r11 + -8]
# 0x0000000000010508 srli a2, a5, 28
mov r10, r13
shr r10, 28
# 0x000000000001050c add a4, a4, a3
add r12, r11
# 0x0000000000010510 add a4, a4, a0
add r12, r8
# 0x0000000000010514 slli a0, a5, 36
mov r8, r13
shl r8, 36
# 0x0000000000010518 or a0, a2, a0
or r8, r10
# 0x000000000001051c slli a3, a5, 30
mov r11, r13
shl r11, 30
# 0x0000000000010520 srli a2, a5, 34
mov r10, r13
shr r10, 34
# 0x0000000000010524 or a3, a3, a2
or r11, r10
# 0x0000000000010528 xor a2, a0, a3
mov r10, r8
xor r10, r11
# 0x000000000001052c slli a3, a5, 25
mov r11, r13
shl r11, 25
# 0x0000000000010530 srli a0, a5, 39
mov r8, r13
shr r8, 39
# 0x0000000000010534 add a4, a4, s5
add r12, qword ptr [rbp + 176]
# 0x0000000000010538 or a3, a3, a0
or r11, r8
# 0x000000000001053c xor s5, a5, s1
mov rax, r13
xor rax, qword ptr [rbp + 80]
mov qword ptr [rbp + 176], rax
# 0x0000000000010540 xor a3, a2, a3
xor r11, r10
# 0x0000000000010544 and s5, s5, s4
mov rax, qword ptr [rbp + 168]
and qword ptr [rbp + 176], rax
# 0x0000000000010548 and a2, a5, s1
mov r10, r13
and r10, qword ptr [rbp + 80]
# 0x000000000001054c xor s5, s5, a2
xor qword ptr [rbp + 176], r10
# 0x0000000000010550 add a3, a3, s5
add r11, qword ptr [rbp + 176]
# 0x0000000000010554 add t1, a4, s6
mov rdi, r12
add rdi, qword ptr [rbp + 184]
# 0x0000000000010558 addi s5, s3, 0
mov rax, qword ptr [rbp + 160]
mov qword ptr [rbp + 176], rax
# 0x000000000001055c add a4, a4, a3
add r12, r11
# 0x0000000000010560 addi s6, s4, 0
mov rax, qword ptr [rbp + 168]
mov qword ptr [rbp + 184], rax
# 0x0000000000010564 addi a3, a6, 0
mov r11, r14
# 0x0000000000010568 bne a6, a7, pc + 188
cmp r14, r15
jne 1f
mov [rbp + 0], 0x1056c
jmp term
1:
# 0x0000000000010624 addi s3, s2, 0
mov rax, qword ptr [rbp + 152]
mov qword ptr [rbp + 160], rax
# 0x0000000000010628 addi s4, s1, 0
mov rax, qword ptr [rbp + 80]
mov qword ptr [rbp + 168], rax
# 0x000000000001062c addi s2, a1, 0
mov qword ptr [rbp + 152], r9
# 0x0000000000010630 addi s1, a5, 0
mov qword ptr [rbp + 80], r13
# 0x0000000000010634 addi a1, t1, 0
mov r9, rdi
# 0x0000000000010638 addi a5, a4, 0
mov r13, r12
# 0x000000000001063c jal zero, pc - 544
# 0x000000000001041c
mov [rbp + 0], 0x1041c
term:
jit-trace-end pc=0x000000000001041c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment