зеркало из https://github.com/mozilla/gecko-dev.git
Bug 670323 - Fixes for nanojit on ARMv4T. r=jbramley
--HG-- extra : convert_revision : 6943e40c4f0a2f9b3c0551306ce89aa535579178
This commit is contained in:
Родитель
b8c7b7666f
Коммит
29418bc8c7
|
@ -129,10 +129,16 @@ Assembler::CountLeadingZeroes(uint32_t data)
|
|||
// On Android gcc compiler, the clz instruction is not supported with a
|
||||
// target smaller than armv7, despite it being legal for armv5+.
|
||||
" .arch armv7-a\n"
|
||||
// Force the object to be tagged as armv4t to avoid it bumping the final
|
||||
// binary target.
|
||||
" .object_arch armv4t\n"
|
||||
#elif (NJ_COMPILER_ARM_ARCH < 5)
|
||||
// Targetting armv5t allows a toolchain with armv4t target to still build
|
||||
// with clz, and clz to be used when appropriate at runtime.
|
||||
" .arch armv5t\n"
|
||||
// Force the object file to be tagged as armv4t to avoid it bumping the
|
||||
// final binary target.
|
||||
" .object_arch armv4t\n"
|
||||
#endif
|
||||
" clz %0, %1 \n"
|
||||
: "=r" (leading_zeroes)
|
||||
|
|
|
@ -96,7 +96,7 @@ namespace nanojit
|
|||
harden_nop_insertion = false;
|
||||
|
||||
#if defined(NANOJIT_ARM)
|
||||
NanoStaticAssert(NJ_COMPILER_ARM_ARCH >= 5 && NJ_COMPILER_ARM_ARCH <= 7);
|
||||
NanoStaticAssert(NJ_COMPILER_ARM_ARCH >= 4 && NJ_COMPILER_ARM_ARCH <= 7);
|
||||
arm_arch = NJ_COMPILER_ARM_ARCH;
|
||||
arm_vfp = (arm_arch >= 7);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче