// We'll be compiling this file to an object file, then extracting parts of it into
// SkSplicer_generated.h. It's easier to do if the function names are not C++ mangled.
-// On ARMv7, use aapcs-vfp calling convention to pass as much data in registers as possible.
-#if defined(__ARM_NEON__)
- #define C extern "C" __attribute__((pcs("aapcs-vfp")))
-#else
- #define C extern "C"
-#endif
+#define C extern "C"
// Stages all fit a common interface that allows SkSplicer to splice them together.
using Stage = void(size_t x, size_t limit, void* ctx, K* k, F,F,F,F, F,F,F,F);
return v;
}
-#if defined(__ARM_NEON__)
- #define C extern "C" __attribute__((pcs("aapcs-vfp")))
-#else
- #define C extern "C"
-#endif
+#define C extern "C"
using Stage = void(size_t x, size_t limit, void* ctx, K* k, F,F,F,F, F,F,F,F);
['-o', 'aarch64_lowp.o'])
armv7 = [
- '--target=arm-linux-androideabi',
+ '--target=armv7a-linux-android',
'--sysroot=' + ndk + 'platforms/android-18/arch-arm',
- '-march=armv7-a',
'-mfpu=neon-vfpv4',
+ '-mfloat-abi=hard',
]
subprocess.check_call(['clang++'] + cflags + armv7 +
['-c', 'src/splicer/SkSplicer_stages.cpp'] +