Skip to content

Commit e16d7d8

Browse files
committed
review edits
- use scratch register for tmp in emit_align_check - pop-push value from stack rather than peeking in emit_align_check
1 parent 54f24d7 commit e16d7d8

File tree

11 files changed

+69
-59
lines changed

11 files changed

+69
-59
lines changed

tests/disas/winch/x64/atomic/load/i32_atomic_load.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,23 @@
1313
;; movq 0x10(%r11), %r11
1414
;; addq $0x20, %r11
1515
;; cmpq %rsp, %r11
16-
;; ja 0x55
16+
;; ja 0x58
1717
;; 1c: movq %rdi, %r14
1818
;; subq $0x20, %rsp
1919
;; movq %rdi, 0x18(%rsp)
2020
;; movq %rsi, 0x10(%rsp)
2121
;; movl %edx, 0xc(%rsp)
2222
;; movl 0xc(%rsp), %eax
23+
;; movl %eax, %r11d
2324
;; andl $3, %r11d
2425
;; cmpl $0, %r11d
25-
;; jne 0x57
26-
;; 43: movq 0x58(%r14), %r11
26+
;; jne 0x5a
27+
;; 46: movq 0x58(%r14), %r11
2728
;; movq (%r11), %rcx
2829
;; addq %rax, %rcx
2930
;; movl (%rcx), %eax
3031
;; addq $0x20, %rsp
3132
;; popq %rbp
3233
;; retq
33-
;; 55: ud2
34-
;; 57: ud2
34+
;; 58: ud2
35+
;; 5a: ud2

tests/disas/winch/x64/atomic/load/i32_atomic_load16_u.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,23 @@
1313
;; movq 0x10(%r11), %r11
1414
;; addq $0x20, %r11
1515
;; cmpq %rsp, %r11
16-
;; ja 0x59
16+
;; ja 0x5c
1717
;; 1c: movq %rdi, %r14
1818
;; subq $0x20, %rsp
1919
;; movq %rdi, 0x18(%rsp)
2020
;; movq %rsi, 0x10(%rsp)
2121
;; movl %edx, 0xc(%rsp)
2222
;; movl 0xc(%rsp), %eax
23+
;; movl %eax, %r11d
2324
;; andw $1, %r11w
2425
;; cmpw $0, %r11w
25-
;; jne 0x5b
26-
;; 45: movq 0x58(%r14), %r11
26+
;; jne 0x5e
27+
;; 48: movq 0x58(%r14), %r11
2728
;; movq (%r11), %rcx
2829
;; addq %rax, %rcx
2930
;; movzwq (%rcx), %rax
3031
;; addq $0x20, %rsp
3132
;; popq %rbp
3233
;; retq
33-
;; 59: ud2
34-
;; 5b: ud2
34+
;; 5c: ud2
35+
;; 5e: ud2

tests/disas/winch/x64/atomic/load/i64_atomic_load.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,21 @@
1414
;; movq 0x10(%r11), %r11
1515
;; addq $0x10, %r11
1616
;; cmpq %rsp, %r11
17-
;; ja 0x4f
17+
;; ja 0x52
1818
;; 1c: movq %rdi, %r14
1919
;; subq $0x10, %rsp
2020
;; movq %rdi, 8(%rsp)
2121
;; movq %rsi, (%rsp)
2222
;; movl $0, %eax
23+
;; movq %rax, %r11
2324
;; andq $7, %r11
2425
;; cmpq $0, %r11
25-
;; jne 0x51
26-
;; 3f: movq 0x60(%r14), %rcx
26+
;; jne 0x54
27+
;; 42: movq 0x60(%r14), %rcx
2728
;; addq %rax, %rcx
2829
;; movq (%rcx), %rax
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 4f: ud2
33-
;; 51: ud2
33+
;; 52: ud2
34+
;; 54: ud2

tests/disas/winch/x64/atomic/load/i64_atomic_load16_u.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,21 @@
1414
;; movq 0x10(%r11), %r11
1515
;; addq $0x10, %r11
1616
;; cmpq %rsp, %r11
17-
;; ja 0x52
17+
;; ja 0x55
1818
;; 1c: movq %rdi, %r14
1919
;; subq $0x10, %rsp
2020
;; movq %rdi, 8(%rsp)
2121
;; movq %rsi, (%rsp)
2222
;; movl $0, %eax
23+
;; movl %eax, %r11d
2324
;; andw $1, %r11w
2425
;; cmpw $0, %r11w
25-
;; jne 0x54
26-
;; 41: movq 0x60(%r14), %rcx
26+
;; jne 0x57
27+
;; 44: movq 0x60(%r14), %rcx
2728
;; addq %rax, %rcx
2829
;; movzwq (%rcx), %rax
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 52: ud2
33-
;; 54: ud2
33+
;; 55: ud2
34+
;; 57: ud2

tests/disas/winch/x64/atomic/load/i64_atomic_load32_u.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,21 @@
1414
;; movq 0x10(%r11), %r11
1515
;; addq $0x10, %r11
1616
;; cmpq %rsp, %r11
17-
;; ja 0x4e
17+
;; ja 0x51
1818
;; 1c: movq %rdi, %r14
1919
;; subq $0x10, %rsp
2020
;; movq %rdi, 8(%rsp)
2121
;; movq %rsi, (%rsp)
2222
;; movl $0, %eax
23+
;; movl %eax, %r11d
2324
;; andl $3, %r11d
2425
;; cmpl $0, %r11d
25-
;; jne 0x50
26-
;; 3f: movq 0x60(%r14), %rcx
26+
;; jne 0x53
27+
;; 42: movq 0x60(%r14), %rcx
2728
;; addq %rax, %rcx
2829
;; movl (%rcx), %eax
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 4e: ud2
33-
;; 50: ud2
33+
;; 51: ud2
34+
;; 53: ud2

tests/disas/winch/x64/atomic/store/i32_atomic_store.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@
1111
;; movq 0x10(%r11), %r11
1212
;; addq $0x10, %r11
1313
;; cmpq %rsp, %r11
14-
;; ja 0x59
14+
;; ja 0x5c
1515
;; 1c: movq %rdi, %r14
1616
;; subq $0x10, %rsp
1717
;; movq %rdi, 8(%rsp)
1818
;; movq %rsi, (%rsp)
1919
;; movl $0x2a, %eax
2020
;; movl $0, %ecx
21+
;; movl %ecx, %r11d
2122
;; andl $3, %r11d
2223
;; cmpl $0, %r11d
23-
;; jne 0x5b
24-
;; 44: movq 0x58(%r14), %r11
24+
;; jne 0x5e
25+
;; 47: movq 0x58(%r14), %r11
2526
;; movq (%r11), %rdx
2627
;; addq %rcx, %rdx
2728
;; movl %eax, (%rdx)
2829
;; mfence
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 59: ud2
33-
;; 5b: ud2
33+
;; 5c: ud2
34+
;; 5e: ud2

tests/disas/winch/x64/atomic/store/i32_atomic_store16.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@
1111
;; movq 0x10(%r11), %r11
1212
;; addq $0x10, %r11
1313
;; cmpq %rsp, %r11
14-
;; ja 0x5c
14+
;; ja 0x5f
1515
;; 1c: movq %rdi, %r14
1616
;; subq $0x10, %rsp
1717
;; movq %rdi, 8(%rsp)
1818
;; movq %rsi, (%rsp)
1919
;; movl $0x2a, %eax
2020
;; movl $0, %ecx
21+
;; movl %ecx, %r11d
2122
;; andw $1, %r11w
2223
;; cmpw $0, %r11w
23-
;; jne 0x5e
24-
;; 46: movq 0x58(%r14), %r11
24+
;; jne 0x61
25+
;; 49: movq 0x58(%r14), %r11
2526
;; movq (%r11), %rdx
2627
;; addq %rcx, %rdx
2728
;; movw %ax, (%rdx)
2829
;; mfence
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 5c: ud2
33-
;; 5e: ud2
33+
;; 5f: ud2
34+
;; 61: ud2

tests/disas/winch/x64/atomic/store/i64_atomic_store.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@
1111
;; movq 0x10(%r11), %r11
1212
;; addq $0x10, %r11
1313
;; cmpq %rsp, %r11
14-
;; ja 0x5c
14+
;; ja 0x5f
1515
;; 1c: movq %rdi, %r14
1616
;; subq $0x10, %rsp
1717
;; movq %rdi, 8(%rsp)
1818
;; movq %rsi, (%rsp)
1919
;; movq $0x2a, %rax
2020
;; movl $0, %ecx
21+
;; movq %rcx, %r11
2122
;; andq $7, %r11
2223
;; cmpq $0, %r11
23-
;; jne 0x5e
24-
;; 46: movq 0x58(%r14), %r11
24+
;; jne 0x61
25+
;; 49: movq 0x58(%r14), %r11
2526
;; movq (%r11), %rdx
2627
;; addq %rcx, %rdx
2728
;; movq %rax, (%rdx)
2829
;; mfence
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 5c: ud2
33-
;; 5e: ud2
33+
;; 5f: ud2
34+
;; 61: ud2

tests/disas/winch/x64/atomic/store/i64_atomic_store16.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@
1111
;; movq 0x10(%r11), %r11
1212
;; addq $0x10, %r11
1313
;; cmpq %rsp, %r11
14-
;; ja 0x5e
14+
;; ja 0x61
1515
;; 1c: movq %rdi, %r14
1616
;; subq $0x10, %rsp
1717
;; movq %rdi, 8(%rsp)
1818
;; movq %rsi, (%rsp)
1919
;; movq $0x2a, %rax
2020
;; movl $0, %ecx
21+
;; movl %ecx, %r11d
2122
;; andw $1, %r11w
2223
;; cmpw $0, %r11w
23-
;; jne 0x60
24-
;; 48: movq 0x58(%r14), %r11
24+
;; jne 0x63
25+
;; 4b: movq 0x58(%r14), %r11
2526
;; movq (%r11), %rdx
2627
;; addq %rcx, %rdx
2728
;; movw %ax, (%rdx)
2829
;; mfence
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 5e: ud2
33-
;; 60: ud2
33+
;; 61: ud2
34+
;; 63: ud2

tests/disas/winch/x64/atomic/store/i64_atomic_store32.wat

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,24 @@
1111
;; movq 0x10(%r11), %r11
1212
;; addq $0x10, %r11
1313
;; cmpq %rsp, %r11
14-
;; ja 0x5b
14+
;; ja 0x5e
1515
;; 1c: movq %rdi, %r14
1616
;; subq $0x10, %rsp
1717
;; movq %rdi, 8(%rsp)
1818
;; movq %rsi, (%rsp)
1919
;; movq $0x2a, %rax
2020
;; movl $0, %ecx
21+
;; movl %ecx, %r11d
2122
;; andl $3, %r11d
2223
;; cmpl $0, %r11d
23-
;; jne 0x5d
24-
;; 46: movq 0x58(%r14), %r11
24+
;; jne 0x60
25+
;; 49: movq 0x58(%r14), %r11
2526
;; movq (%r11), %rdx
2627
;; addq %rcx, %rdx
2728
;; movl %eax, (%rdx)
2829
;; mfence
2930
;; addq $0x10, %rsp
3031
;; popq %rbp
3132
;; retq
32-
;; 5b: ud2
33-
;; 5d: ud2
33+
;; 5e: ud2
34+
;; 60: ud2

0 commit comments

Comments
 (0)