ios ios7 build cpu-registers armv7

ios - Nombre de registro desconocido ''q0'' en asm



ios7 build (2)

Aquellos que usan Cocos2d 2.1, la modificación ( #if defined(ARM_NEON) ->#if defined(_ARM_ARCH_7) ) es necesaria en dos macros

  1. neon_matrix_impl.c y
  2. mat4.c en la línea número 218

En realidad, se usó ARM NEON como motor de renderización multimedia en dispositivos iOS, pero ahora con iOS 7.0 y en adelante se usan nuevos motores de renderización (ARM ARCH 64 bit) .

Más detalles se pueden obtener desde here .

Pero fue realmente confuso para mí que mi proyecto Xcode se compiló perfectamente y se ejecutó con éxito en mi iPod Touch (5ta generación) sin estas modificaciones. La modificación fue necesaria solo cuando intenté archivar mi proyecto para enviarlo a AppStore.

Estoy tratando de construir el proyecto ios para la arquitectura $(ARCHS_STANDARD_32_BIT) - armv7 para el último iOS (iOS 7.0) y tengo el siguiente error:

Unknown register name ''q0'' in asm

en función

static void neon_asm_mat4_vec4_mul(const float* __restrict m, const int* __restrict v, int* __restrict output) { asm volatile ( // Store m & v - avoiding q4-q7 which need to be preserved - q0 = result "vldmia %1, { q8-q11 } /n/t" // q8-q11 = m "vldmia %2, { q1 } /n/t" // q1 = v // Convert v to floats "vcvt.f32.s32 q1, q1 /n/t" // result = first column of A x V.x "vmul.f32 q0, q8, d2[0] /n/t" // result += second column of A x V.y "vmla.f32 q0, q9, d2[1] /n/t" // result += third column of A x V.z "vmla.f32 q0, q10, d3[0] /n/t" // result += last column of A x V.w "vmla.f32 q0, q11, d3[1] /n/t" // convert to integer "vcvt.s32.f32 q0, q0 /n/t" // output = result registers "vstmia %0, { q0 } /n/t" : // no output : "r" (output), "r" (m), "r" (v) // input - note *value* of pointer doesn''t change : "memory", "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11" //clobber ); }

¿Podría ayudarme, por favor, a actualizar mi código para que pueda compilarse con el último hardware o simplemente configurar las configuraciones de compilación de manera diferente? Soy nuevo en el desarrollo de iOS, así que estoy algo perdido ...


Intenta cambiar en neon_matrix_impl.c y mat4.c
#if defined(ARM_NEON)
a
#if defined(_ARM_ARCH_7)