1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib/CodeGen/GlobalISel
Bevin Hansson 7c243aea4b [Intrinsic] Add sshl.sat/ushl.sat, saturated shift intrinsics.
Summary:
This patch adds two intrinsics, llvm.sshl.sat and llvm.ushl.sat,
which perform signed and unsigned saturating left shift,
respectively.

These are useful for implementing the Embedded-C fixed point
support in Clang, originally discussed in
http://lists.llvm.org/pipermail/llvm-dev/2018-August/125433.html
and
http://lists.llvm.org/pipermail/cfe-dev/2018-May/058019.html

Reviewers: leonardchan, craig.topper, bjope, jdoerfert

Subscribers: hiraditya, jdoerfert, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83216
2020-08-07 15:09:24 +02:00
..
CallLowering.cpp GlobalISel: Restructure argument lowering loop in handleAssignments 2020-07-22 13:31:11 -04:00
CMakeLists.txt [GlobalISel] Introduce InlineAsmLowering class 2020-04-20 15:10:18 +02:00
Combiner.cpp [gicombiner] Add the run-time rule disable option 2019-10-17 00:37:04 +00:00
CombinerHelper.cpp [GISel] Add combiners for G_INTTOPTR and G_PTRTOINT 2020-07-31 10:13:36 -07:00
CSEInfo.cpp [GISel: Add support for CSEing SrcOps which are immediates 2020-07-17 16:04:24 -07:00
CSEMIRBuilder.cpp [globalisel][cse] Merge debug locations when CSE'ing 2020-07-28 14:25:26 -07:00
GISelChangeObserver.cpp [GlobalISel]: Fix some non determinism exposed in CSE due to not notifying observers about mutations + add verification for CSE 2020-02-18 14:54:57 -08:00
GISelKnownBits.cpp Revert "[AArch64][GlobalISel] Add post-legalize combine for sext_inreg(trunc(sextload)) -> copy" 2020-07-21 16:01:18 -07:00
GlobalISel.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InlineAsmLowering.cpp [GlobalISel][InlineAsm] Fix matching input constraint to physreg 2020-08-06 14:35:51 +02:00
InstructionSelect.cpp GlobalISel: Move finalizeLowering call later 2020-07-06 09:19:40 -04:00
InstructionSelector.cpp GlobalISel: Remove unused function argument 2020-02-14 15:57:39 -08:00
IRTranslator.cpp [Intrinsic] Add sshl.sat/ushl.sat, saturated shift intrinsics. 2020-08-07 15:09:24 +02:00
LegalityPredicates.cpp Use llvm::is_contained where appropriate (NFC) 2020-07-27 10:20:44 -07:00
LegalizeMutations.cpp GlobalISel: Add scalarSameSizeAs LegalizeRule 2020-07-23 21:17:31 -04:00
Legalizer.cpp GlobalISel: Improve MachineIRBuilder construction 2020-06-09 15:05:04 -04:00
LegalizerHelper.cpp [Intrinsic] Add sshl.sat/ushl.sat, saturated shift intrinsics. 2020-08-07 15:09:24 +02:00
LegalizerInfo.cpp GlobalISel: Don't assert on operations with no type indices 2020-07-28 16:49:55 -04:00
LLVMBuild.txt Make GlobalISel depend on SelectionDAG after D63169 2019-06-22 01:30:17 +00:00
Localizer.cpp Revert "Revert "[GlobalISel][Localizer] Enable intra-block localization of already-local uses."" 2020-03-06 21:35:08 -08:00
LostDebugLocObserver.cpp Give helpers internal linkage. NFC. 2020-04-25 11:50:52 +02:00
MachineIRBuilder.cpp [Intrinsic] Add sshl.sat/ushl.sat, saturated shift intrinsics. 2020-08-07 15:09:24 +02:00
RegBankSelect.cpp [GlobalISel][InlineAsm] Add support for basic output operand constraints 2020-05-06 10:06:13 +02:00
RegisterBank.cpp Revert "[TableGen][GlobalISel] Account for HwMode in RegisterBank register sizes" 2020-03-20 11:02:50 +01:00
RegisterBankInfo.cpp Revert "[TableGen][GlobalISel] Account for HwMode in RegisterBank register sizes" 2020-03-20 11:02:50 +01:00
Utils.cpp GlobalISel: Add utilty for getting function argument live ins 2020-08-04 16:55:55 -04:00