Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 193175
Collapse All | Expand All

(-)a/mrmuldv.s (-82 lines)
Lines 1-82 Link Here
1
2
        .file   "mrmuldv.s"
3
        .text
4
        .globl  muldiv
5
muldiv:
6
        pushl   %ebp
7
        movl    %esp,%ebp
8
        pushl   %ebx
9
10
11
        movl    8(%ebp),%eax  
12
        mull    12(%ebp)      
13
        addl    16(%ebp),%eax 
14
        adcl    $0,%edx       
15
16
        divl    20(%ebp)       
17
        movl    24(%ebp),%ebx 
18
        movl    %edx,(%ebx)
19
    
20
        popl    %ebx
21
        popl    %ebp
22
        ret
23
24
        .globl  muldvm
25
muldvm:
26
        pushl   %ebp
27
        movl    %esp,%ebp
28
        pushl   %ebx
29
30
        movl    8(%ebp),%edx  
31
        movl    12(%ebp),%eax 
32
        divl    16(%ebp)      
33
34
        movl    20(%ebp),%ebx 
35
        movl    %edx,(%ebx)   
36
37
        popl    %ebx
38
        popl    %ebp
39
        ret
40
41
        .globl  muldvd
42
muldvd:
43
        pushl   %ebp
44
        movl    %esp,%ebp
45
        pushl   %ebx
46
47
        movl    8(%ebp),%eax  
48
        mull    12(%ebp)      
49
        addl    16(%ebp),%eax 
50
        adcl    $0,%edx       
51
        movl    20(%ebp),%ebx 
52
        movl    %eax,(%ebx)   
53
        movl    %edx,%eax     
54
55
        popl    %ebx
56
        popl    %ebp
57
        ret
58
59
        .globl  muldvd2
60
muldvd2:
61
        pushl   %ebp
62
        movl    %esp,%ebp
63
        pushl   %ebx
64
        pushl   %esi
65
66
        movl    8(%ebp),%eax  
67
        mull    12(%ebp)
68
        movl    16(%ebp),%ebx
69
        addl    (%ebx),%eax
70
        adcl    $0,%edx       
71
        movl    20(%ebp),%esi
72
        addl    (%esi),%eax
73
        adcl    $0,%edx
74
75
        movl    %eax,(%esi)   
76
        movl    %edx,(%ebx)     
77
78
        popl    %esi
79
        popl    %ebx
80
        popl    %ebp
81
        ret
82
(-)a/mrmuldv.S (+85 lines)
Line 0 Link Here
1
2
        .file   "mrmuldv.S"
3
        .text
4
        .globl  muldiv
5
muldiv:
6
        pushl   %ebp
7
        movl    %esp,%ebp
8
        pushl   %ebx
9
10
11
        movl    8(%ebp),%eax  
12
        mull    12(%ebp)      
13
        addl    16(%ebp),%eax 
14
        adcl    $0,%edx       
15
16
        divl    20(%ebp)       
17
        movl    24(%ebp),%ebx 
18
        movl    %edx,(%ebx)
19
    
20
        popl    %ebx
21
        popl    %ebp
22
        ret
23
24
        .globl  muldvm
25
muldvm:
26
        pushl   %ebp
27
        movl    %esp,%ebp
28
        pushl   %ebx
29
30
        movl    8(%ebp),%edx  
31
        movl    12(%ebp),%eax 
32
        divl    16(%ebp)      
33
34
        movl    20(%ebp),%ebx 
35
        movl    %edx,(%ebx)   
36
37
        popl    %ebx
38
        popl    %ebp
39
        ret
40
41
        .globl  muldvd
42
muldvd:
43
        pushl   %ebp
44
        movl    %esp,%ebp
45
        pushl   %ebx
46
47
        movl    8(%ebp),%eax  
48
        mull    12(%ebp)      
49
        addl    16(%ebp),%eax 
50
        adcl    $0,%edx       
51
        movl    20(%ebp),%ebx 
52
        movl    %eax,(%ebx)   
53
        movl    %edx,%eax     
54
55
        popl    %ebx
56
        popl    %ebp
57
        ret
58
59
        .globl  muldvd2
60
muldvd2:
61
        pushl   %ebp
62
        movl    %esp,%ebp
63
        pushl   %ebx
64
        pushl   %esi
65
66
        movl    8(%ebp),%eax  
67
        mull    12(%ebp)
68
        movl    16(%ebp),%ebx
69
        addl    (%ebx),%eax
70
        adcl    $0,%edx       
71
        movl    20(%ebp),%esi
72
        addl    (%esi),%eax
73
        adcl    $0,%edx
74
75
        movl    %eax,(%esi)   
76
        movl    %edx,(%ebx)     
77
78
        popl    %esi
79
        popl    %ebx
80
        popl    %ebp
81
        ret
82
83
#if defined(__linux__) && defined(__ELF__)
84
.section .note.GNU-stack,"",%progbits
85
#endif
(-)a/mrmuldv.s64 (-70 lines)
Lines 1-70 Link Here
1
2
        .file   "mrmuldv.s"
3
.text
4
.globl  muldiv
5
muldiv:
6
7
        pushq   %rbx
8
        movq    %rdi,%rax
9
        movq    %rdx,%rbx
10
        mulq    %rsi
11
        addq    %rbx,%rax
12
        adcq    $0,%rdx
13
14
        divq    %rcx
15
        movq    %r8,%rbx
16
        movq    %rdx,(%rbx)
17
        popq    %rbx
18
19
        ret
20
21
        .global muldvm
22
muldvm:
23
   
24
        pushq   %rbx
25
        movq %rdx,%rbx
26
        movq %rdi,%rdx
27
        movq %rsi,%rax
28
        divq %rbx
29
30
        movq %rcx,%rbx
31
        movq %rdx,(%rbx)
32
        popq    %rbx
33
34
        ret
35
36
        .globl muldvd
37
muldvd:
38
          
39
        pushq   %rbx
40
        movq %rdi,%rax
41
        movq %rdx,%rbx
42
        mulq %rsi
43
        addq %rbx,%rax
44
        adcq $0,%rdx
45
46
        movq %rcx,%rbx
47
        movq %rax,(%rbx)
48
        movq %rdx,%rax
49
        popq    %rbx
50
51
        ret
52
53
        .global muldvd2
54
muldvd2:
55
56
        pushq   %rbx
57
        movq %rdi,%rax
58
        movq %rdx,%rbx
59
        mulq %rsi
60
        addq (%rbx),%rax
61
        adcq $0,%rdx
62
        addq (%rcx),%rax
63
        adcq $0,%rdx
64
65
        movq %rax,(%rcx)
66
        movq %rdx,(%rbx)
67
        popq    %rbx
68
69
        ret
70
(-)a/mrmuldv.S64 (+73 lines)
Line 0 Link Here
1
2
        .file   "mrmuldv.S"
3
.text
4
.globl  muldiv
5
muldiv:
6
7
        pushq   %rbx
8
        movq    %rdi,%rax
9
        movq    %rdx,%rbx
10
        mulq    %rsi
11
        addq    %rbx,%rax
12
        adcq    $0,%rdx
13
14
        divq    %rcx
15
        movq    %r8,%rbx
16
        movq    %rdx,(%rbx)
17
        popq    %rbx
18
19
        ret
20
21
        .global muldvm
22
muldvm:
23
   
24
        pushq   %rbx
25
        movq %rdx,%rbx
26
        movq %rdi,%rdx
27
        movq %rsi,%rax
28
        divq %rbx
29
30
        movq %rcx,%rbx
31
        movq %rdx,(%rbx)
32
        popq    %rbx
33
34
        ret
35
36
        .globl muldvd
37
muldvd:
38
          
39
        pushq   %rbx
40
        movq %rdi,%rax
41
        movq %rdx,%rbx
42
        mulq %rsi
43
        addq %rbx,%rax
44
        adcq $0,%rdx
45
46
        movq %rcx,%rbx
47
        movq %rax,(%rbx)
48
        movq %rdx,%rax
49
        popq    %rbx
50
51
        ret
52
53
        .global muldvd2
54
muldvd2:
55
56
        pushq   %rbx
57
        movq %rdi,%rax
58
        movq %rdx,%rbx
59
        mulq %rsi
60
        addq (%rbx),%rax
61
        adcq $0,%rdx
62
        addq (%rcx),%rax
63
        adcq $0,%rdx
64
65
        movq %rax,(%rcx)
66
        movq %rdx,(%rbx)
67
        popq    %rbx
68
69
        ret
70
71
#if defined(__linux__) && defined(__ELF__)
72
.section .note.GNU-stack,"",%progbits
73
#endif

Return to bug 193175