简体   繁体   English

带有 NEON 指令的 Linpack 的 clang O3/O2 错误

[英]clang O3/O2 error for Linpack with NEON instructions

I am using code Neonlinpack code from, [http://www.roylongbottom.org.uk/Raspberry_Pi_Benchmarks.zip][1]我正在使用来自 [http://www.roylongbottom.org.uk/Raspberry_Pi_Benchmarks.zip][1] 的代码 Neonlinpack 代码

When I compile it with clang without any optimization flags, it runs OK.当我在没有任何优化标志的情况下用 clang 编译它时,它运行正常。 But when I use O3/O2 flags in command,但是当我在命令中使用 O3/O2 标志时,

clang -target armv7a-linux-gnueabihf -mfpu=neon -mfloat-abi=hard linpackneon.c cpuidc.c -O3 -o linpackneon

I get the following errors我收到以下错误

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");

What is the reason behind these errors.这些错误背后的原因是什么。 I do not encounter such errors with GCC.我在 GCC 中没有遇到过这样的错误。

All cpuid.c does is obtain time/timing and configuration details from Linux. cpuid.c 所做的只是从 Linux 获取时间/时序和配置详细信息。 Either compile it separately with no optimisation or comment out statements as appropriate.单独编译它而不进行优化或适当地注释掉语句。 Only timing data is needed.只需要计时数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM