Bug 1942738 - Move the .fpu neon directive around. r=gfx-reviewers,lsalzman
clang's integrated assembler doesn't handle .fpu coming before .arch like GNU as does. The pixman patch was sent upstream: https://gitlab.freedesktop.org/pixman/pixman/-/issues/113#note_2746582 Differential Revision: https://phabricator.services.mozilla.com/D235087
This commit is contained in:
@@ -63,3 +63,5 @@ pixman-interp.patch: use lower quality interpolation by default on mobile
|
|||||||
pixman-intrin.patch: include intrin.h on Windows to fix bustage
|
pixman-intrin.patch: include intrin.h on Windows to fix bustage
|
||||||
|
|
||||||
pixman-rename.patch: include pixman-rename.h for renaming of external symbols
|
pixman-rename.patch: include pixman-rename.h for renaming of external symbols
|
||||||
|
|
||||||
|
pixman-neon.patch: fix for a build failure with clang on armhf linux
|
||||||
|
|||||||
@@ -55,9 +55,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.fpu neon
|
|
||||||
.arch armv7a
|
.arch armv7a
|
||||||
.object_arch armv4
|
.object_arch armv4
|
||||||
|
.fpu neon
|
||||||
.eabi_attribute 10, 0
|
.eabi_attribute 10, 0
|
||||||
.eabi_attribute 12, 0
|
.eabi_attribute 12, 0
|
||||||
.arm
|
.arm
|
||||||
|
|||||||
@@ -40,9 +40,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.fpu neon
|
|
||||||
.arch armv7a
|
.arch armv7a
|
||||||
.object_arch armv4
|
.object_arch armv4
|
||||||
|
.fpu neon
|
||||||
.eabi_attribute 10, 0 /* suppress Tag_FP_arch */
|
.eabi_attribute 10, 0 /* suppress Tag_FP_arch */
|
||||||
.eabi_attribute 12, 0 /* suppress Tag_Advanced_SIMD_arch */
|
.eabi_attribute 12, 0 /* suppress Tag_Advanced_SIMD_arch */
|
||||||
.arm
|
.arm
|
||||||
|
|||||||
30
gfx/cairo/pixman-neon.patch
Normal file
30
gfx/cairo/pixman-neon.patch
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
diff --git a/gfx/cairo/libpixman/src/pixman-arm-neon-asm-bilinear.S b/gfx/cairo/libpixman/src/pixman-arm-neon-asm-bilinear.S
|
||||||
|
index 6bd27360aa027..cd33babca1e0c 100644
|
||||||
|
--- a/gfx/cairo/libpixman/src/pixman-arm-neon-asm-bilinear.S
|
||||||
|
+++ b/gfx/cairo/libpixman/src/pixman-arm-neon-asm-bilinear.S
|
||||||
|
@@ -55,9 +55,9 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
.text
|
||||||
|
-.fpu neon
|
||||||
|
.arch armv7a
|
||||||
|
.object_arch armv4
|
||||||
|
+.fpu neon
|
||||||
|
.eabi_attribute 10, 0
|
||||||
|
.eabi_attribute 12, 0
|
||||||
|
.arm
|
||||||
|
diff --git a/gfx/cairo/libpixman/src/pixman-arm-neon-asm.S b/gfx/cairo/libpixman/src/pixman-arm-neon-asm.S
|
||||||
|
index 0e092577f1c73..c04b335d1e5bd 100644
|
||||||
|
--- a/gfx/cairo/libpixman/src/pixman-arm-neon-asm.S
|
||||||
|
+++ b/gfx/cairo/libpixman/src/pixman-arm-neon-asm.S
|
||||||
|
@@ -40,9 +40,9 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
.text
|
||||||
|
- .fpu neon
|
||||||
|
.arch armv7a
|
||||||
|
.object_arch armv4
|
||||||
|
+ .fpu neon
|
||||||
|
.eabi_attribute 10, 0 /* suppress Tag_FP_arch */
|
||||||
|
.eabi_attribute 12, 0 /* suppress Tag_Advanced_SIMD_arch */
|
||||||
|
.arm
|
||||||
@@ -53,11 +53,11 @@ void __attribute((noinline,optimize("-fomit-frame-pointer")))
|
|||||||
* q13, q14, q15 - various constants (#16, #149, #204, #50, #104, #154)
|
* q13, q14, q15 - various constants (#16, #149, #204, #50, #104, #154)
|
||||||
*/
|
*/
|
||||||
asm volatile (
|
asm volatile (
|
||||||
".fpu neon\n"
|
|
||||||
/* Allow to build on targets not supporting neon, and force the object file
|
/* Allow to build on targets not supporting neon, and force the object file
|
||||||
* target to avoid bumping the final binary target */
|
* target to avoid bumping the final binary target */
|
||||||
".arch armv7-a\n"
|
".arch armv7-a\n"
|
||||||
".object_arch armv4t\n"
|
".object_arch armv4t\n"
|
||||||
|
".fpu neon\n"
|
||||||
".macro convert_macroblock size\n"
|
".macro convert_macroblock size\n"
|
||||||
/* load up to 16 source pixels */
|
/* load up to 16 source pixels */
|
||||||
".if \\size == 16\n"
|
".if \\size == 16\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user