簡體   English   中英

帶有 NEON 指令的 Linpack 的 clang O3/O2 錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM