OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [software/] [leon3/] [mulasm.S] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
        .text
2
        .global get_asr17
3
 
4
get_asr17:
5
        retl
6
        mov     %asr17, %o0
7
 
8
 
9
        .text
10
        .global mulscc_test, mulscctmp
11
mulscc_test:
12
        addcc %g0, %g0, %g0
13
        set   mulscctmp, %o2
14
        mov   0, %o0
15
        mov   0x246, %o1
16
        mov     %g0, %y
17
        nop; nop; nop
18
        ld    [%o2], %o0
19
        mulscc %o1, %o0, %o0
20
        retl
21
        nop
22
 
23
        .text
24
        .global mulpipe
25
mulpipe:
26
        mov     %g0, %y
27
        set     1, %o0
28
        orcc    %g0, 1, %g0     ! clear icc
29
        umulcc  %g0, 1, %g0     ! set Z
30
        bne     1f
31
        nop
32
        umulcc  %o0, -1, %g0    ! set N
33
        bge     1f
34
        nop
35
        smulcc  %o0, -1, %g0    ! set N and Y
36
        mov     %y, %o1
37
        subcc   %o1, -1, %g0
38
        bne     1f
39
        nop
40
        umulcc  %o0, -1, %g0    ! set N
41
        mov     %psr, %o1
42
        srl     %o1, 20, %o1
43
        and     %o1, 0x0f, %o1
44
        subcc   %o1, 8, %g0
45
        bne     1f
46
        nop
47
 
48
        mov     %g0, %y
49
        set     1, %o0
50
        umul    %o0, 4, %o2
51
        umul    %o2, 4, %o2
52
        umul    %o2, 4, %o2
53
        subcc   %o2, 64, %o3
54
        bne     1f
55
        nop
56
 
57
        retl
58
        or      %g0, 1, %o0
59
 
60
1:
61
        retl
62
        mov     %g0, %o0
63
 
64
        .text
65
        .global macpipe
66
macpipe:
67
        set     0x55555555, %o1         ! test %asr18
68
        mov     %o1, %asr18
69
        nop; nop; nop
70
        mov     %asr18, %o2
71
        subcc   %o1, %o2, %g0
72
        bne     1f
73
        nop
74
        not     %o1
75
        mov     %o1, %asr18
76
        nop; nop; nop
77
        mov     %asr18, %o2
78
        subcc   %o1, %o2, %g0
79
        bne     1f
80
        nop
81
 
82
        set     0xffff, %o0
83
        mov     %g0, %asr18
84
        mov     %g0, %y
85
        nop; nop; nop
86
        umac    %o0, -1, %o1
87
        mov     %o1, %o5
88
        umac    %o0, -1, %o1
89
        umac    %o0, -1, %o1
90
        umac    %o0, -1, %o1
91
        umac    %o0, -1, %o1
92
        umac    %o0, -1, %o1
93
        umac    %o0, -1, %o1
94
        umac    %o0, -1, %o1
95
        mov     %y, %o4
96
        mov     %asr18, %o3
97
        set     0xfff00008, %o2
98
        subcc   %o1, %o2, %g0
99
        bne     1f
100
        subcc   %o1, %o3, %g0
101
        bne     1f
102
        subcc   %o4, 0x07, %g0
103
        bne     1f
104
        set     0xfffe0001, %o0
105
        subcc   %o5, %o0, %g0
106
        bne     1f
107
 
108
        set     0xffff, %o0
109
        mov     %g0, %asr18
110
        mov     %g0, %y
111
        nop; nop; nop
112
        smac    %o0, -1, %o1
113
        smac    %o0, -1, %o1
114
        smac    %o0, -1, %o1
115
        smac    %o0, -1, %o1
116
        smac    %o0, -1, %o1
117
        smac    %o0, -1, %o1
118
        smac    %o0, -1, %o1
119
        smac    %o0, -1, %o1
120
        mov     %y, %o4
121
        mov     %asr18, %o3
122
        subcc   %o1, 8, %g0
123
        bne     1f
124
        subcc   %o1, 8, %g0
125
        bne     1f
126
        subcc   %o4, 0, %g0
127
        bne     1f
128
        nop
129
 
130
        retl
131
        or      %g0, 1, %o0
132
 
133
1:
134
        retl
135
        mov     %g0, %o0

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.