aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/convert/convert_orc.orc
blob: 5450bf4db606e6a765c996c40f052ce88d388f80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
.function _convert_fc32_1_to_item32_1_nswap_orc
.source 8 src
.dest 4 dst
.floatparam 4 scalar
.temp 8 scaled
.temp 8 converted
.temp 4 short
x2 mulf scaled, src, scalar
x2 convfl converted, scaled
x2 convlw short, converted
swapl short, short
x2 swapw dst, short

.function _convert_fc32_1_to_item32_1_bswap_orc
.source 8 src
.dest 4 dst
.floatparam 4 scalar
.temp 8 scaled
.temp 8 converted
.temp 4 short
x2 mulf scaled, src, scalar
x2 convfl converted, scaled
x2 convlw short, converted
x2 swapw dst, short

.function _convert_item32_1_to_fc32_1_nswap_orc
.source 4 src
.dest 8 dst
.floatparam 4 scalar
.temp 4 tmp1
.temp 8 tmp2
x2 swapw tmp1, src
swapl tmp1, tmp1
x2 convswl tmp2, tmp1
x2 convlf tmp2, tmp2
x2 mulf dst, tmp2, scalar

.function _convert_item32_1_to_fc32_1_bswap_orc
.source 4 src
.dest 8 dst
.floatparam 4 scalar
.temp 4 tmp1
.temp 8 tmp2
x2 swapw tmp1, src
x2 convswl tmp2, tmp1
x2 convlf tmp2, tmp2
x2 mulf dst, tmp2, scalar

.function _convert_sc16_1_to_item32_1_nswap_orc
.source 4 src
.dest 4 dst
.temp 4 tmp
.floatparam 4 scalar
swapl tmp, src
x2 swapw dst, tmp

.function _convert_item32_1_to_sc16_1_nswap_orc
.source 4 src
.dest 4 dst
.floatparam 4 scalar
.temp 4 tmp
x2 swapw tmp, src
swapl dst, tmp