fix crash when copy'ing latent plugins
[ardour.git] / libs / ardour / sse_functions_64bit.s
index 15ad0da841bad33cad2eef0379df5608ff7c03bd..0242db3e778ea2b1150d8ca54891a9aa4fc0a70f 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2005-2006 Sampo Savolainen, John Rigg
+    Copyright (C) 2005-2006 Paul Davis, John Rigg
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -15,6 +15,9 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
+       Author: Sampo Savolainen
+       64-bit conversion: John Rigg
+
     $Id$
 */
 
@@ -479,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:
 
@@ -502,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
@@ -600,3 +602,8 @@ x86_sse_compute_peak:
 
 .size  x86_sse_compute_peak, .-x86_sse_compute_peak
 #; end proc
+
+#ifdef __ELF__
+.section .note.GNU-stack,"",%progbits
+#endif
+