aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2022-09-22 08:13:47 -0700
committerCraig Topper <craig.topper@sifive.com>2022-09-22 08:13:48 -0700
commitbf7c7696fe8fcef468d921d3174eccc186a3cd04 (patch)
tree6b368a511ee1bdec1ee4f6895ae3e689a62ed6ae /clang/lib/Lex/ModuleMap.cpp
parentd6cb8f85bf98a2634222e758d31011c18b8d0624 (diff)
downloadllvm-bf7c7696fe8fcef468d921d3174eccc186a3cd04.zip
llvm-bf7c7696fe8fcef468d921d3174eccc186a3cd04.tar.gz
llvm-bf7c7696fe8fcef468d921d3174eccc186a3cd04.tar.bz2
[RISCV] Improve support for vector fp_to_sint_sat/uint_sat.
The default fixed vector legalization is to unroll. The default scalable vector legalization is to clamp in the FP domain. The RVV vfcvt instructions have saturating behavior so we can use them directly. The only difference is that RVV instruction turn nan into the max value, but the _SAT intrinsics want 0. I'm only supporting 1 step of narrowing for now. I think we can support more steps by using VNCLIP to saturate and narrower. The only case that needs 2 steps of widening is f16->i64 which we can do as f16->f32->i64. Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D134400
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions