2015-11-30 3 views
0

Pour apprendre ARM Neon sur Android, j'ai essayé d'exécuter un exemple de code.J'ai un message d'erreur à propos de code Neon

Mais j'ai un message d'erreur.

uint16_t in[8] = {0, 1, 2, 3, 4, 5, 6, 7}; 
uint16_t out[8]; 
r = vld1q_u16(&in[0]); 
**vst1q_u16(&out[0], r);** <-- Here comes an error message 

le message d'erreur est non valide Arguments

Je ne comprends pas pourquoi le problème.

vld1q_u16 fonctionne correctement et la valeur de r est également correcte.

mais vst1q_u16 ne fonctionne pas.

+0

Veuillez inclure le message d'erreur complet (copiez et collez-le à votre question en utilisant le lien [modifier] ci-dessus). –

+0

assurez-vous que ** r ** est correctement déclaré comme ** uint16x8_t r **. Votre extrait compile pour moi avec gradle plugin expérimental 0.2.0. –

Répondre

0

Vous devez utiliser

r = vld1q_u16(in); 
vst1q_u16(out, r); 

moteurs SIMD comme contenu de la mémoire lire NEON arrière par défaut pour lui donner l'adresse de l'élément de tableau 0 est mauvaise idée.