forked from Lainports/freebsd-ports
../mapper.lv2/mapper.lv2/mum.h:113:3: warning: implicit declaration of function 'asm' is invalid in C99 [-Wimplicit-function-declaration]
asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
^
../mapper.lv2/mapper.lv2/mum.h:113:27: error: expected ')'
asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
^
../mapper.lv2/mapper.lv2/mum.h:113:7: note: to match this '('
asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
reported upstream: https://github.com/OpenMusicKontrollers/synthpod/pull/54
Approved by: portmgr (tier-2 blanket)
11 lines
471 B
C
11 lines
471 B
C
--- mapper.lv2/mapper.lv2/mum.h.orig 2020-07-04 11:56:10 UTC
|
|
+++ mapper.lv2/mapper.lv2/mum.h
|
|
@@ -110,7 +110,7 @@ _mum (uint64_t v, uint64_t p) {
|
|
function doing 128x128->128 bit multiplication. The function is
|
|
very slow. */
|
|
lo = v * p, hi;
|
|
- asm ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
|
|
+ __asm__ ("umulh %0, %1, %2" : "=r" (hi) : "r" (v), "r" (p));
|
|
#else
|
|
__uint128_t r = (__uint128_t) v * (__uint128_t) p;
|
|
hi = (uint64_t) (r >> 64);
|