[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