2017-05-17 24 views
-1

色空間変換を行うために、個々のファイルcsc_rotation.SにARM NEON関数を記述し、純粋なアセンブリファイルをiOSアプリケーションプロジェクトに追加してテストした後、 Xcodeのarmv7 archの下のコード。xcodeでNEONコードをコンパイルできない8.3.2

それから私は、これらのエラーを得た:

.text 
csc_rotation.S:3:1: Cannot use dot operator on a type 

ldr r4, [sp, #24] //Save width to r4 
csc_rotation.S:20:1: Unknown type name 'ldr' 
csc_rotation.S:20:15: Expected identifier 
csc_rotation.S:20:19: Expected ';' after top level declarator 

image_rotate_180D_neon(y_ptr, y_stride, x_ptr, x_stride, width, height); 
i420_888.cpp:536:5: Use of undeclared identifier 'image_rotate_180D_neon' 

LLVMはネオンアセンブリコードをコンパイルすることはできませんようですか? 私を助けることができますか?

+0

アセンブリコード*はまったく*コンパイルされていません。あなたは*それを集めることになっています。誰が考えていたでしょうか。 – EOF

+0

アセンブリコードを「コンパイル」するためにどのようなコマンドを実行しますか? – fuz

答えて

0

はい、__asm__ディレクティブを使用できます。このような例

:あなたはXcodeでNEONコードを書きたい場合は

-(int) roundff:(float)a { 
    int y; 
    __asm__("fcvtzs %w0, %s1\n\t" : "=r"(y) : "w"(a)); 
    return y; 
} 

しかし、私はincluding-で組み込み関数を使用することをお勧めします>

#include <arm_neon.h> 

も使用します。

#ifdef __arm__ //AArch32 
#ifdef __arm64__ //AArch64 

ターゲットが不明な場合は、アーキテクチャを分離する必要があります。

/

関連する問題