[PATCH] D75670: [FPEnv] Intrinsic llvm.roundeven

Serge Pavlov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 03:51:47 PST 2020


sepavloff created this revision.
sepavloff added reviewers: craig.topper, kpn, arsenm, andrew.w.kaylor, cameron.mcinally, efriedma, hfinkel, echristo.
Herald added subscribers: jdoerfert, asbirlea, hiraditya, wdng.
Herald added a project: LLVM.

This intrinsic implements IEEE-754 operation roundToIntegralTiesToEven,
and performs rounding to the nearest integer value, rounding halfway
cases to even. This intrinsic represents the missed case of IEEE-754
rounding operations and now llvm provides full support of the rounding
operations defined by the standard.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75670

Files:
  llvm/docs/LangRef.rst
  llvm/include/llvm/Analysis/TargetLibraryInfo.def
  llvm/include/llvm/CodeGen/BasicTTIImpl.h
  llvm/include/llvm/CodeGen/ISDOpcodes.h
  llvm/include/llvm/IR/ConstrainedOps.def
  llvm/include/llvm/IR/Intrinsics.td
  llvm/include/llvm/IR/RuntimeLibcalls.def
  llvm/lib/Analysis/ConstantFolding.cpp
  llvm/lib/Analysis/InstructionSimplify.cpp
  llvm/lib/Analysis/TargetLibraryInfo.cpp
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/Analysis/VectorUtils.cpp
  llvm/lib/CodeGen/IntrinsicLowering.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
  llvm/lib/CodeGen/TargetLoweringBase.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
  llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
  llvm/test/CodeGen/Generic/fpoperations.ll
  llvm/test/ExecutionEngine/Interpreter/intrinsics.ll
  llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
  llvm/test/Transforms/InstCombine/float-shrink-compare.ll
  llvm/test/Transforms/InstSimplify/known-never-nan.ll
  llvm/test/Transforms/InstSimplify/round-intrinsics.ll
  llvm/test/Transforms/LICM/hoist-round.ll
  llvm/test/Transforms/LoopVectorize/intrinsic.ll
  llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
  llvm/unittests/IR/IRBuilderTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75670.248427.patch
Type: text/x-patch
Size: 40487 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200305/1bf96068/attachment-0001.bin>


More information about the llvm-commits mailing list