[gstreamer-bugs] [Bug 612370] New: gstutils.c inline asm typo, compilation fails

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Mar 9 17:38:44 PST 2010


https://bugzilla.gnome.org/show_bug.cgi?id=612370
  GStreamer | gstreamer (core) | git

           Summary: gstutils.c inline asm typo, compilation fails
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Mac OS
            Status: UNCONFIRMED
          Severity: blocker
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: jeremyhu at freedesktop.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


mul should be mulq ... otherwise the build fails.  See downstream bug:
http://trac.macports.org/ticket/24002

The bug entered with this commit:

commit d8911f269faa235572b80a8a25b842b09df6e151
Author: Wim Taymans <wim.taymans at collabora.co.uk>
Date:   Fri Aug 28 12:43:43 2009 +0200

    utils: optimize for x86_64 with some inline asm

    64bit x86 has native 64x64->128 bit multiply that we can use with some
inline
    assembler to speed up large multiplications.
    Use bsr to find the number of leading zeros more efficiently.


Here is the fix:

diff --git a/gst/gstutils.c b/gst/gstutils.c
index fc9339d..da32ca7 100644
--- a/gst/gstutils.c
+++ b/gst/gstutils.c
@@ -211,7 +211,7 @@ static inline void
 gst_util_uint64_mul_uint64 (GstUInt64 * c1, GstUInt64 * c0, guint64 arg1,
     guint64 arg2)
 {
-  __asm__ __volatile__ ("mul %3":"=a" (c0->ll), "=d" (c1->ll)
+  __asm__ __volatile__ ("mulq %3":"=a" (c0->ll), "=d" (c1->ll)
       :"a" (arg1), "g" (arg2)
       );
 }

-- 
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