[PATCH] D21372: [ARM] Lower (select_cc k k (select_cc ~k ~k x)) into (SSAT l_k x)
Pablo Barrio via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 15 04:17:23 PDT 2016
pbarrio created this revision.
pbarrio added reviewers: mcrosier, jmolloy.
pbarrio added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.
SSAT saturates an integer, making sure that its value lies within
an interval [-k, k]. Since the constant is given to SSAT as the
number of bytes set to one, k + 1 must be a power of 2, otherwise
the optimization is not possible. Also, the select_cc must use <
and > respectively so that they define an interval.
http://reviews.llvm.org/D21372
Files:
include/llvm/Target/TargetSelectionDAG.td
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
test/CodeGen/ARM/ssat.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21372.60813.patch
Type: text/x-patch
Size: 14098 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160615/cefcd48d/attachment.bin>
More information about the llvm-commits
mailing list