yon*_*ong 15 llvm rust fast-math llvm-codegen
我正在尝试对一些Rust代码进行基准测试,但我无法弄清楚如何设置"ffast-math"选项.
% rustc -C opt-level=3 -C llvm-args='-enable-unsafe-fp-math' unrolled.rs
rustc: Unknown command line argument '-enable-unsafe-fp-math'. Try: 'rustc -help'
rustc: Did you mean '-enable-load-pre'?
Run Code Online (Sandbox Code Playgroud)
llvm-args='-ffast-math'并且llvm-args='-fast'也没有工作.我应该使用什么旗帜?
Rust问题#21690讨论了添加不精确的浮点运算.与该问题相关联的是添加了内在函数,允许您在每个操作的基础上选择更宽松的规则.例如,fadd_fast:
pub unsafe extern "rust-intrinsic" fn fadd_fast<T>(a: T, b: T) -> T
Run Code Online (Sandbox Code Playgroud)
使用内在函数需要夜间编译器和不安全的代码:
#![feature(core_intrinsics)]
use std::intrinsics::fadd_fast;
fn main() {
let result = unsafe { fadd_fast(42.0, 31.0) };
println!("{}", result);
}
Run Code Online (Sandbox Code Playgroud)
归根结底,这是一个多更好的设计不是一个命令行标志的全有或全无的解决方案.谁知道是否有一些浮点计算对于不使用快速数学至关重要,深埋在你的程序中?但是,在尝试与选择它的C程序进行比较时,这对您没有帮助!
| 归档时间: |
|
| 查看次数: |
1058 次 |
| 最近记录: |