summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/sse_functions.s8
-rw-r--r--libs/ardour/sse_functions_64bit.s7
2 files changed, 6 insertions, 9 deletions
diff --git a/libs/ardour/sse_functions.s b/libs/ardour/sse_functions.s
index 4b9b7c30f7..7df689188c 100644
--- a/libs/ardour/sse_functions.s
+++ b/libs/ardour/sse_functions.s
@@ -397,10 +397,6 @@ x86_sse_apply_gain_to_buffer:
.globl x86_sse_compute_peak
.type x86_sse_compute_peak,@function
-abs_mask:
- .long 2147483647
-
-
x86_sse_compute_peak:
#; 8(%ebp) = float *buf = %edi
#; 12(%ebp) = long nframes = %ecx
@@ -423,7 +419,9 @@ x86_sse_compute_peak:
je .CP_END
#; create the "abs" mask in %xmm2
- movss abs_mask, %xmm2
+ pushl $2147483647
+ movss (%esp), %xmm2
+ addl $4, %esp
shufps $0x00, %xmm2, %xmm2
#; Check for alignment
diff --git a/libs/ardour/sse_functions_64bit.s b/libs/ardour/sse_functions_64bit.s
index 9167e2169f..997852eb5b 100644
--- a/libs/ardour/sse_functions_64bit.s
+++ b/libs/ardour/sse_functions_64bit.s
@@ -482,9 +482,6 @@ x86_sse_apply_gain_vector:
.globl x86_sse_compute_peak
.type x86_sse_compute_peak,@function
-abs_mask:
- .long 2147483647
-
x86_sse_compute_peak:
@@ -505,7 +502,9 @@ x86_sse_compute_peak:
je .CP_END
#; create the "abs" mask in %xmm2
- movss abs_mask, %xmm2
+ pushq $2147483647
+ movss (%rsp), %xmm2
+ addq $8, %rsp
shufps $0x00, %xmm2, %xmm2
#; Check for alignment