File tree Expand file tree Collapse file tree 11 files changed +69
-59
lines changed
tests/disas/winch/x64/atomic
winch/codegen/src/codegen Expand file tree Collapse file tree 11 files changed +69
-59
lines changed Original file line number Diff line number Diff line change 13
13
;; movq 0x10(%r11), %r11
14
14
;; addq $0x20, %r11
15
15
;; cmpq %rsp, %r11
16
- ;; ja 0x55
16
+ ;; ja 0x58
17
17
;; 1c: movq %rdi, %r14
18
18
;; subq $0x20, %rsp
19
19
;; movq %rdi, 0x18(%rsp)
20
20
;; movq %rsi, 0x10(%rsp)
21
21
;; movl %edx, 0xc(%rsp)
22
22
;; movl 0xc(%rsp), %eax
23
+ ;; movl %eax, %r11d
23
24
;; andl $3, %r11d
24
25
;; cmpl $0, %r11d
25
- ;; jne 0x57
26
- ;; 43 : movq 0x58(%r14), %r11
26
+ ;; jne 0x5a
27
+ ;; 46 : movq 0x58(%r14), %r11
27
28
;; movq (%r11), %rcx
28
29
;; addq %rax, %rcx
29
30
;; movl (%rcx), %eax
30
31
;; addq $0x20, %rsp
31
32
;; popq %rbp
32
33
;; retq
33
- ;; 55 : ud2
34
- ;; 57 : ud2
34
+ ;; 58 : ud2
35
+ ;; 5a : ud2
Original file line number Diff line number Diff line change 13
13
;; movq 0x10(%r11), %r11
14
14
;; addq $0x20, %r11
15
15
;; cmpq %rsp, %r11
16
- ;; ja 0x59
16
+ ;; ja 0x5c
17
17
;; 1c: movq %rdi, %r14
18
18
;; subq $0x20, %rsp
19
19
;; movq %rdi, 0x18(%rsp)
20
20
;; movq %rsi, 0x10(%rsp)
21
21
;; movl %edx, 0xc(%rsp)
22
22
;; movl 0xc(%rsp), %eax
23
+ ;; movl %eax, %r11d
23
24
;; andw $1, %r11w
24
25
;; cmpw $0, %r11w
25
- ;; jne 0x5b
26
- ;; 45 : movq 0x58(%r14), %r11
26
+ ;; jne 0x5e
27
+ ;; 48 : movq 0x58(%r14), %r11
27
28
;; movq (%r11), %rcx
28
29
;; addq %rax, %rcx
29
30
;; movzwq (%rcx), %rax
30
31
;; addq $0x20, %rsp
31
32
;; popq %rbp
32
33
;; retq
33
- ;; 59 : ud2
34
- ;; 5b : ud2
34
+ ;; 5c : ud2
35
+ ;; 5e : ud2
Original file line number Diff line number Diff line change 14
14
;; movq 0x10(%r11), %r11
15
15
;; addq $0x10, %r11
16
16
;; cmpq %rsp, %r11
17
- ;; ja 0x4f
17
+ ;; ja 0x52
18
18
;; 1c: movq %rdi, %r14
19
19
;; subq $0x10, %rsp
20
20
;; movq %rdi, 8(%rsp)
21
21
;; movq %rsi, (%rsp)
22
22
;; movl $0, %eax
23
+ ;; movq %rax, %r11
23
24
;; andq $7, %r11
24
25
;; cmpq $0, %r11
25
- ;; jne 0x51
26
- ;; 3f : movq 0x60(%r14), %rcx
26
+ ;; jne 0x54
27
+ ;; 42 : movq 0x60(%r14), %rcx
27
28
;; addq %rax, %rcx
28
29
;; movq (%rcx), %rax
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 4f : ud2
33
- ;; 51 : ud2
33
+ ;; 52 : ud2
34
+ ;; 54 : ud2
Original file line number Diff line number Diff line change 14
14
;; movq 0x10(%r11), %r11
15
15
;; addq $0x10, %r11
16
16
;; cmpq %rsp, %r11
17
- ;; ja 0x52
17
+ ;; ja 0x55
18
18
;; 1c: movq %rdi, %r14
19
19
;; subq $0x10, %rsp
20
20
;; movq %rdi, 8(%rsp)
21
21
;; movq %rsi, (%rsp)
22
22
;; movl $0, %eax
23
+ ;; movl %eax, %r11d
23
24
;; andw $1, %r11w
24
25
;; cmpw $0, %r11w
25
- ;; jne 0x54
26
- ;; 41 : movq 0x60(%r14), %rcx
26
+ ;; jne 0x57
27
+ ;; 44 : movq 0x60(%r14), %rcx
27
28
;; addq %rax, %rcx
28
29
;; movzwq (%rcx), %rax
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 52 : ud2
33
- ;; 54 : ud2
33
+ ;; 55 : ud2
34
+ ;; 57 : ud2
Original file line number Diff line number Diff line change 14
14
;; movq 0x10(%r11), %r11
15
15
;; addq $0x10, %r11
16
16
;; cmpq %rsp, %r11
17
- ;; ja 0x4e
17
+ ;; ja 0x51
18
18
;; 1c: movq %rdi, %r14
19
19
;; subq $0x10, %rsp
20
20
;; movq %rdi, 8(%rsp)
21
21
;; movq %rsi, (%rsp)
22
22
;; movl $0, %eax
23
+ ;; movl %eax, %r11d
23
24
;; andl $3, %r11d
24
25
;; cmpl $0, %r11d
25
- ;; jne 0x50
26
- ;; 3f : movq 0x60(%r14), %rcx
26
+ ;; jne 0x53
27
+ ;; 42 : movq 0x60(%r14), %rcx
27
28
;; addq %rax, %rcx
28
29
;; movl (%rcx), %eax
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 4e : ud2
33
- ;; 50 : ud2
33
+ ;; 51 : ud2
34
+ ;; 53 : ud2
Original file line number Diff line number Diff line change 11
11
;; movq 0x10(%r11), %r11
12
12
;; addq $0x10, %r11
13
13
;; cmpq %rsp, %r11
14
- ;; ja 0x59
14
+ ;; ja 0x5c
15
15
;; 1c: movq %rdi, %r14
16
16
;; subq $0x10, %rsp
17
17
;; movq %rdi, 8(%rsp)
18
18
;; movq %rsi, (%rsp)
19
19
;; movl $0x2a, %eax
20
20
;; movl $0, %ecx
21
+ ;; movl %ecx, %r11d
21
22
;; andl $3, %r11d
22
23
;; cmpl $0, %r11d
23
- ;; jne 0x5b
24
- ;; 44 : movq 0x58(%r14), %r11
24
+ ;; jne 0x5e
25
+ ;; 47 : movq 0x58(%r14), %r11
25
26
;; movq (%r11), %rdx
26
27
;; addq %rcx, %rdx
27
28
;; movl %eax, (%rdx)
28
29
;; mfence
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 59 : ud2
33
- ;; 5b : ud2
33
+ ;; 5c : ud2
34
+ ;; 5e : ud2
Original file line number Diff line number Diff line change 11
11
;; movq 0x10(%r11), %r11
12
12
;; addq $0x10, %r11
13
13
;; cmpq %rsp, %r11
14
- ;; ja 0x5c
14
+ ;; ja 0x5f
15
15
;; 1c: movq %rdi, %r14
16
16
;; subq $0x10, %rsp
17
17
;; movq %rdi, 8(%rsp)
18
18
;; movq %rsi, (%rsp)
19
19
;; movl $0x2a, %eax
20
20
;; movl $0, %ecx
21
+ ;; movl %ecx, %r11d
21
22
;; andw $1, %r11w
22
23
;; cmpw $0, %r11w
23
- ;; jne 0x5e
24
- ;; 46 : movq 0x58(%r14), %r11
24
+ ;; jne 0x61
25
+ ;; 49 : movq 0x58(%r14), %r11
25
26
;; movq (%r11), %rdx
26
27
;; addq %rcx, %rdx
27
28
;; movw %ax, (%rdx)
28
29
;; mfence
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 5c : ud2
33
- ;; 5e : ud2
33
+ ;; 5f : ud2
34
+ ;; 61 : ud2
Original file line number Diff line number Diff line change 11
11
;; movq 0x10(%r11), %r11
12
12
;; addq $0x10, %r11
13
13
;; cmpq %rsp, %r11
14
- ;; ja 0x5c
14
+ ;; ja 0x5f
15
15
;; 1c: movq %rdi, %r14
16
16
;; subq $0x10, %rsp
17
17
;; movq %rdi, 8(%rsp)
18
18
;; movq %rsi, (%rsp)
19
19
;; movq $0x2a, %rax
20
20
;; movl $0, %ecx
21
+ ;; movq %rcx, %r11
21
22
;; andq $7, %r11
22
23
;; cmpq $0, %r11
23
- ;; jne 0x5e
24
- ;; 46 : movq 0x58(%r14), %r11
24
+ ;; jne 0x61
25
+ ;; 49 : movq 0x58(%r14), %r11
25
26
;; movq (%r11), %rdx
26
27
;; addq %rcx, %rdx
27
28
;; movq %rax, (%rdx)
28
29
;; mfence
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 5c : ud2
33
- ;; 5e : ud2
33
+ ;; 5f : ud2
34
+ ;; 61 : ud2
Original file line number Diff line number Diff line change 11
11
;; movq 0x10(%r11), %r11
12
12
;; addq $0x10, %r11
13
13
;; cmpq %rsp, %r11
14
- ;; ja 0x5e
14
+ ;; ja 0x61
15
15
;; 1c: movq %rdi, %r14
16
16
;; subq $0x10, %rsp
17
17
;; movq %rdi, 8(%rsp)
18
18
;; movq %rsi, (%rsp)
19
19
;; movq $0x2a, %rax
20
20
;; movl $0, %ecx
21
+ ;; movl %ecx, %r11d
21
22
;; andw $1, %r11w
22
23
;; cmpw $0, %r11w
23
- ;; jne 0x60
24
- ;; 48 : movq 0x58(%r14), %r11
24
+ ;; jne 0x63
25
+ ;; 4b : movq 0x58(%r14), %r11
25
26
;; movq (%r11), %rdx
26
27
;; addq %rcx, %rdx
27
28
;; movw %ax, (%rdx)
28
29
;; mfence
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 5e : ud2
33
- ;; 60 : ud2
33
+ ;; 61 : ud2
34
+ ;; 63 : ud2
Original file line number Diff line number Diff line change 11
11
;; movq 0x10(%r11), %r11
12
12
;; addq $0x10, %r11
13
13
;; cmpq %rsp, %r11
14
- ;; ja 0x5b
14
+ ;; ja 0x5e
15
15
;; 1c: movq %rdi, %r14
16
16
;; subq $0x10, %rsp
17
17
;; movq %rdi, 8(%rsp)
18
18
;; movq %rsi, (%rsp)
19
19
;; movq $0x2a, %rax
20
20
;; movl $0, %ecx
21
+ ;; movl %ecx, %r11d
21
22
;; andl $3, %r11d
22
23
;; cmpl $0, %r11d
23
- ;; jne 0x5d
24
- ;; 46 : movq 0x58(%r14), %r11
24
+ ;; jne 0x60
25
+ ;; 49 : movq 0x58(%r14), %r11
25
26
;; movq (%r11), %rdx
26
27
;; addq %rcx, %rdx
27
28
;; movl %eax, (%rdx)
28
29
;; mfence
29
30
;; addq $0x10, %rsp
30
31
;; popq %rbp
31
32
;; retq
32
- ;; 5b : ud2
33
- ;; 5d : ud2
33
+ ;; 5e : ud2
34
+ ;; 60 : ud2
You can’t perform that action at this time.
0 commit comments