[WebAssembly] Add lowering for llvm.rint and llvm.roundeven
authorxortoast <xortoast@proton.me>
Fri, 23 Jun 2023 21:01:35 +0000 (14:01 -0700)
committerDerek Schuff <dschuff@chromium.org>
Fri, 23 Jun 2023 21:07:11 +0000 (14:07 -0700)
commitbb648c9177cda700ae63cfced347f62d417a4824
tree290975d751dcc6ef79922e016bbef1d03fddf379
parent1ec30106a557b2c63d6d6c6b93634674aa65cdb9
[WebAssembly] Add lowering for llvm.rint and llvm.roundeven

WebAssembly doesn't expose inexact exceptions, so frint can be mapped to
fnearbyint. Likewise, WebAssembly always rounds ties-to-even, so
froundeven can be mapped to fnearbyint.

Differential Revision: https://reviews.llvm.org/D153451
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td
llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
llvm/test/CodeGen/WebAssembly/f32.ll
llvm/test/CodeGen/WebAssembly/f64.ll
llvm/test/CodeGen/WebAssembly/libcalls.ll
llvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
llvm/test/CodeGen/WebAssembly/simd-unsupported.ll