[英]clang O3/O2 error for Linpack with NEON instructions
我正在使用來自 [http://www.roylongbottom.org.uk/Raspberry_Pi_Benchmarks.zip][1] 的代碼 Neonlinpack 代碼
當我在沒有任何優化標志的情況下用 clang 編譯它時,它運行正常。 但是當我在命令中使用 O3/O2 標志時,
clang -target armv7a-linux-gnueabihf -mfpu=neon -mfloat-abi=hard linpackneon.c cpuidc.c -O3 -o linpackneon
我收到以下錯誤
In file included from cpuidc.c:13:
In file included from /usr/include/math.h:426:
/usr/include/bits/mathinline.h:756:25: error: invalid output constraint '=&q' in
asm
: "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), \
^
/usr/include/bits/mathinline.h:756:25: error: invalid output constraint '=&q' in
asm
/usr/include/bits/mathinline.h:756:25: error: invalid output constraint '=&q' in
asm
/usr/include/bits/mathinline.h:774:25: error: invalid output constraint '=&q' in
asm
: "=t" (__value), "=&q" (__ignore), "=m" (__cwtmp), \
^
/usr/include/bits/mathinline.h:774:25: error: invalid output constraint '=&q' in
asm
/usr/include/bits/mathinline.h:774:25: error: invalid output constraint '=&q' in
asm
/usr/include/bits/mathinline.h:881:3: error: unknown register name 'st' in asm
__lrint_code;
^
/usr/include/bits/mathinline.h:876:40: note: expanded from macro '__lrint_code'
: "=m" (__lrintres) : "t" (__x) : "st");
這些錯誤背后的原因是什么。 我在 GCC 中沒有遇到過這樣的錯誤。
cpuid.c 所做的只是從 Linux 獲取時間/時序和配置詳細信息。 單獨編譯它而不進行優化或適當地注釋掉語句。 只需要計時數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.