2012-08-02 116 views
1

在Xcode 4.4上,我在最後一個LLVM編譯器(4.0)上編譯內聯彙編時遇到了一些問題。LLVM 4.0的內聯彙編問題

在我的內聯彙編代碼,每次調用 「fldmias」,如:

asm volatile( 
"fldmias %2, {s4-s19} \n\t" 
... 
) 

給我這個錯誤:

內聯彙編問題: 指示 'fldmia' 不能設置標誌,但'''後綴指定

相同的代碼與LLVM GCC 4.2很好。也許每個編譯器的配置有一些區別,但是我什麼也沒找到。

謝謝。

+0

嘗試'也許fldmsia'?有可能助記符不匹配。我的手冊中將尋址模式放在中間,就像您擁有它,但我可以看到爲什麼實施者會選擇只在最後才接受它們。 – 2012-08-02 18:43:07

+0

其實我覺得使用UAL讀一些關於clang的東西 - 你是否嘗試過UAL的等價物?我認爲,我在這裏寫的這本書說的是'VLDMIA.32'。 – 2012-08-02 18:51:29

+0

無效的指令與中間的s,s在這裏是爲了設置精度(這裏是單精度),也許編譯器將此字母識別爲條件後綴... – Gerwoolf 2012-08-02 18:52:44

回答

7

如上評論發現,這裏的答案是使用UAL相當於指令,在這種情況下是:

VLDMIA.32 %2, {s4-s19}