llvm-project/llvm/test/Analysis/ConstantFolding
Bjorn Pettersson 16ff5fea87 [ConstantFolding] Add constant folding for smul.fix and smul.fix.sat
Summary:
This patch teaches ConstantFolding to constant fold
both scalar and vector variants of llvm.smul.fix and
llvm.smul.fix.sat.

As described in the LangRef rounding is unspecified for
these instrinsics. If the result cannot be represented
exactly the default behavior in ConstantFolding is to
round down towards negative infinity. If a target has a
preferred rounding that is different some kind of target
hook would be needed (same strategy as used by the
SelectionDAG legalizer).

Reviewers: nikic, leonardchan, RKSimon

Reviewed By: leonardchan

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63385

llvm-svn: 363811
2019-06-19 14:28:03 +00:00
..
bitcount.ll [ConstantFolding] Fold undef for integer intrinsics 2019-01-11 21:18:00 +00:00
cast-vector.ll
fneg.ll Add FNeg support to InstructionSimplify 2019-05-06 16:05:10 +00:00
funnel-shift.ll [ConstantFolding] Fold undef for integer intrinsics 2019-01-11 21:18:00 +00:00
gep-constanfolding-error.ll
gep-zeroinit-vector.ll [ConstantFold] Disallow folding vector geps into bitcasts 2018-06-01 19:34:35 +00:00
gep.ll Prevent Constant Folding From Optimizing inrange GEP 2018-09-11 01:53:36 +00:00
min-max.ll [ConstantFolding] Constant fold minimum and maximum intrinsics 2018-10-19 18:15:32 +00:00
saturating-add-sub.ll [ConstantFolding] Fold undef for integer intrinsics 2019-01-11 21:18:00 +00:00
smul-fix-sat.ll [ConstantFolding] Add constant folding for smul.fix and smul.fix.sat 2019-06-19 14:28:03 +00:00
smul-fix.ll [ConstantFolding] Add constant folding for smul.fix and smul.fix.sat 2019-06-19 14:28:03 +00:00
timeout.ll
vector-undef-elts.ll [InstCombine] remove unnecessary shuffle undef folding 2018-08-29 13:24:34 +00:00
vectorgep-crash.ll [ConstantFolding, InstSimplify] Handle more vector GEPs 2018-03-15 16:00:29 +00:00