2012-07-03 80 views
1

我嘗試編譯LLVM鐺集成宏彙編(LLVM的編譯器附帶的XCode 4.3)NEON彙編代碼,並收到以下錯誤:錯誤編譯NEON適用於iOS 5.1鏗鏘整合彙編

vld1.8 {D0}, [R0] - invalid operand for instruction 

能有什麼是原因嗎?爲什麼這個指令是由GAS for Android成功編譯的,不能通過iOS的'clang -integrated-as ...'編譯?謝謝。

回答

2

經過一天的試驗,我找到了一個解決方案。我剛剛從SVN源代碼庫(3.2版)編譯了LLVM。 LLVM 3.2svn中的集成宏彙編程序與XCode 4.3.1附帶的LLVM 3.0svn相比,支持ARM NEON ISA要好得多。 VLD NEON指令的問題已經自動解決。

那些,誰使用gas-preprocessor.pl Perl腳本,可以嘗試從GAS 1.38(在Mac OS X 10.7.X使用LLVM它的外部GNU彙編),以LLVM集成宏彙編切換和停止使用不必要的預處理。

+1

+1用於解決問題並在此處留下答案。 –

0

我沒有用鐺進行組裝,但下面的網站可以幫助:ARM Assembly

此外,這可能會幫助它解決別人的問題與ARM彙編(選擇正確的設備,更低的情況說明等。 ..):Useful Stackoverflow answer

+0

謝謝!我已經看過這些文章。一般來說,他們非常有幫助。但是,不幸的是,他們對GAS不適用於LLVM clang的集成宏彙編程序。爲什麼我不喜歡使用GAS編譯iOS的程序集,因爲它非常陳舊,並且對宏的支持很差。 – bsa2000