4 Commits

Author SHA1 Message Date
Adrian Antkowiak
a6e9b716f3 Add support for Windows ARM64 2021-11-09 20:53:42 +03:00
Adrian Antkowiak
d156ac204c Fix typo 2021-11-09 20:53:42 +03:00
Dani Llewellyn
a1552c9c67 Apply libmad.thumb.diff from debian
This is required for armhf builds

Signed-off-by: Dani Llewellyn <diddledani@ubuntu.com>
2021-11-09 20:53:00 +03:00
Dani Llewellyn
cce9db99f0 Apply Provide-Thumb-2-alternative-code-for-MAD_F_MLN.diff from debian
This is required for armhf builds

Signed-off-by: Dani Llewellyn <diddledani@ubuntu.com>
2021-11-09 20:53:00 +03:00
3 changed files with 17 additions and 4 deletions

View File

@@ -20,7 +20,7 @@
#ifndef _DETECT_FPM_H_
#define _DETECT_FPM_H_
#if defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) || defined(__aarch64__) || defined(__ppc64__) || defined(__mips64)
#if defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) || defined(__aarch64__) || defined(__ppc64__) || defined(__mips64) || defined(_M_ARM64)
# define FPM_64BIT
#elif defined(__i386__) || defined(i386) || defined(_M_IX86) || defined(_X86_) || defined(__THW_INTEL)
# define FPM_INTEL
@@ -28,7 +28,7 @@
# define FPM_ARM
#elif defined(__PPC__) || defined(__powerpc__) || defined(__powerpc) || defined(___M_PPC)
# define FPM_PPC
#elif (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)
#elif defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)
# define FPM_MIPS
#else
# define FPM_DEFAULT

15
fixed.h
View File

@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
: "+r" (lo), "+r" (hi) \
: "%r" (x), "r" (y))
#ifdef __thumb__
/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero
operand. If needed this code can also support Thumb-1
(simply append "s" to the end of the second two instructions). */
# define MAD_F_MLN(hi, lo) \
asm ("rsbs %0, %0, #0\n\t" \
"sbc %1, %1, %1\n\t" \
"sub %1, %1, %2" \
: "+&r" (lo), "=&r" (hi) \
: "r" (hi) \
: "cc")
#else /* ! __thumb__ */
# define MAD_F_MLN(hi, lo) \
asm ("rsbs %0, %2, #0\n\t" \
"rsc %1, %3, #0" \
: "=r" (lo), "=r" (hi) \
: "=&r" (lo), "=r" (hi) \
: "0" (lo), "1" (hi) \
: "cc")
#endif /* __thumb__ */
# define mad_f_scale64(hi, lo) \
({ mad_fixed_t __result; \

View File

@@ -468,7 +468,7 @@ _III_imdct_l:
@----
add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?)
adr r2, imdct36_long_karray
loop: