[gstreamer-bugs] [Bug 628009] [volume] Float processing with orc broken
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Aug 26 01:32:24 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=628009
GStreamer | gst-plugins-base | git
--- Comment #1 from Sebastian Dröge <slomo at circular-chaos.org> 2010-08-26 08:32:18 UTC ---
Output of the test in tests/check/orc of the float processing function is this
btw (with latest GIT as of now):
[...]
orc_scalarmultiply_f32_ns:
dest array 0 bad
0 0: f24b1d2f -> f2cb1d2f 00000000 *
1 0: aa6a9c6a -> aaea9c6a 00000000 *
2 0: b2039ebf -> b2839ebf 00000000 *
3 0: 7c7333fc -> 7cf333fc 00000000 *
4 0: 3f227a35 -> 3fa27a35 00000000 *
5 0: b7b70306 -> b8370306 00000000 *
6 0: 9ffde6a8 -> a07de6a8 00000000 *
7 0: ef93a0b6 -> f013a0b6 00000000 *
8 0: d556b0bd -> d5d6b0bd 00000000 *
9 0: 758ff686 -> 760ff686 00000000 *
10 0: 61ddc622 -> 625dc622 00000000 *
11 0: d7e1cfba -> d861cfba 00000000 *
12 0: bdabaf13 -> be2baf13 00000000 *
13 0: 5de752e4 -> 5e6752e4 00000000 *
14 0: e0c70ed8 -> e1470ed8 00000000 *
15 0: 8cb07f61 -> 8d307f61 00000000 *
16 0: bda42443 -> be242443 00000000 *
17 0: a572b6db -> a5f2b6db 00000000 *
18 0: c39f4c33 -> c41f4c33 00000000 *
19 0: 241330c8 -> 249330c8 00000000 *
20 0: 5d837e15 -> 5e037e15 00000000 *
21 0: 43a282e7 -> 442282e7 00000000 *
22 0: 7107cf60 -> 7187cf60 00000000 *
23 0: 77dc1fc8 -> 785c1fc8 00000000 *
24 0: e24cee17 -> e2ccee17 00000000 *
25 0: f0aad543 -> f12ad543 00000000 *
26 0: 1062a74a -> 10e2a74a 00000000 *
27 0: 1ba04dfe -> 1c204dfe 00000000 *
28 0: 55c26293 -> 56426293 00000000 *
29 0: 227e8de9 -> 22fe8de9 00000000 *
30 0: 88d3a29a -> 8953a29a 00000000 *
31 0: 68b178c3 -> 693178c3 00000000 *
32 0: 7c678893 -> 7ce78893 00000000 *
33 0: 0fd14a95 -> 10514a95 00000000 *
34 0: 803d4fbd -> 80000000 00000000 *
35 0: 74221f34 -> 74a21f34 00000000 *
36 0: de7fd0e3 -> deffd0e3 00000000 *
37 0: b0146bc1 -> b0946bc1 00000000 *
38 0: 5e44fedd -> 5ec4fedd 00000000 *
39 0: 17c5812b -> 1845812b 00000000 *
40 0: c30d690e -> c38d690e 00000000 *
41 0: bb7c0ea9 -> bbfc0ea9 00000000 *
42 0: 4a4abde6 -> 4acabde6 00000000 *
43 0: e72f9d42 -> e7af9d42 00000000 *
44 0: 30d4425f -> 3154425f 00000000 *
45 0: a6fc1347 -> a77c1347 00000000 *
46 0: 2b715c81 -> 2bf15c81 00000000 *
47 0: 3cb132d6 -> 3d3132d6 00000000 *
48 0: ee560ae0 -> eed60ae0 00000000 *
49 0: aa461857 -> aac61857 00000000 *
50 0: a89e691b -> a91e691b 00000000 *
51 0: 2c5fbf01 -> 2cdfbf01 00000000 *
52 0: 83d6305e -> 8456305e 00000000 *
53 0: bdcd7d54 -> be4d7d54 00000000 *
54 0: 277433df -> 27f433df 00000000 *
55 0: 8f0c849e -> 8f8c849e 00000000 *
56 0: 3759e362 -> 37d9e362 00000000 *
57 0: 95c56178 -> 96456178 00000000 *
58 0: d154cab6 -> d1d4cab6 00000000 *
59 0: fb4c7e48 -> fbcc7e48 00000000 *
60 0: 0fa01138 -> 10201138 00000000 *
61 0: ab20a2be -> aba0a2be 00000000 *
62 0: 8a63fc4d -> 8ae3fc4d 00000000 *
63 0: c8706e5a -> c8f06e5a 00000000 *
64 0: d42f6aea -> d4af6aea 00000000 *
.global orc_scalarmultiply_f32_ns
.p2align 4
orc_scalarmultiply_f32_ns:
rdtsc
movl %eax, 592(%rdi)
stmxcsr 596(%rdi)
movl 596(%rdi), %ecx
movl %ecx, 600(%rdi)
orl $32832, %ecx
movl %ecx, 596(%rdi)
ldmxcsr 596(%rdi)
# 1: loadpl
movd 632(%rdi), %xmm0
pshufd $0x0000, %xmm0, %xmm0
movl $16, %eax
subl 24(%rdi), %eax
andl $15, %eax
sarl $2, %eax
cmpl %eax, 8(%rdi)
jle 6f
movl %eax, 12(%rdi)
movl 8(%rdi), %ecx
subl %eax, %ecx
movl %ecx, %eax
sarl $3, %ecx
movl %ecx, 16(%rdi)
andl $7, %eax
movl %eax, 20(%rdi)
jmp 7f
6:
movl 8(%rdi), %eax
movl %eax, 12(%rdi)
movl $0, %eax
movl %eax, 16(%rdi)
movl %eax, 20(%rdi)
7:
mov 24(%rdi), %rax
mov 56(%rdi), %rdx
# LOOP SHIFT 0
testl $1, 12(%rdi)
je 13f
# 0: loadl
movd 0(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movd %xmm1, 0(%rax)
lea 4(%rax), %rax
lea 4(%rdx), %rdx
13:
# LOOP SHIFT 1
testl $2, 12(%rdi)
je 14f
# 0: loadl
movq 0(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movq %xmm1, 0(%rax)
lea 8(%rax), %rax
lea 8(%rdx), %rdx
14:
1:
cmpl $0, 16(%rdi)
je 3f
movl 16(%rdi), %esi
# LOOP SHIFT 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
2:
# 0: loadl
movdqu 0(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movdqa %xmm1, 0(%rax)
# 0: loadl
movdqu 16(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movdqa %xmm1, 16(%rax)
lea 32(%rax), %rax
lea 32(%rdx), %rdx
addl $-1, %esi
jne 2b
3:
# LOOP SHIFT 2
testl $4, 20(%rdi)
je 10f
# 0: loadl
movdqu 0(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movdqu %xmm1, 0(%rax)
lea 16(%rax), %rax
lea 16(%rdx), %rdx
10:
# LOOP SHIFT 1
testl $2, 20(%rdi)
je 9f
# 0: loadl
movq 0(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movq %xmm1, 0(%rax)
lea 8(%rax), %rax
lea 8(%rdx), %rdx
9:
# LOOP SHIFT 0
testl $1, 20(%rdi)
je 8f
# 0: loadl
movd 0(%rdx), %xmm1
# 2: mulf
mulps %xmm0, %xmm1
# 3: storel
movd %xmm1, 0(%rax)
lea 4(%rax), %rax
lea 4(%rdx), %rdx
8:
ldmxcsr 600(%rdi)
rdtsc
movl %eax, 596(%rdi)
retq
[...]
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list