OSDN Git Service

[Intrinsic] Signed Fixed Point Multiplication Intrinsic
authorLeonard Chan <leonardchan@google.com>
Wed, 12 Dec 2018 06:29:14 +0000 (06:29 +0000)
committerLeonard Chan <leonardchan@google.com>
Wed, 12 Dec 2018 06:29:14 +0000 (06:29 +0000)
commit8e3fdeb3b88d8f526802b3a50d9482e3a7ad6ae1
tree732be6707a816d4753f47b441d09069967243a4d
parentdb361aa2240d33652c22a0228f05f2916edc81ad
[Intrinsic] Signed Fixed Point Multiplication Intrinsic

Add an intrinsic that takes 2 signed integers with the scale of them provided
as the third argument and performs fixed point multiplication on them.

This is a part of implementing fixed point arithmetic in clang where some of
the more complex operations will be implemented as intrinsics.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348912 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
docs/LangRef.rst
include/llvm/CodeGen/ISDOpcodes.h
include/llvm/CodeGen/TargetLowering.h
include/llvm/IR/Intrinsics.td
include/llvm/Target/TargetSelectionDAG.td
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypes.h
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp
lib/CodeGen/TargetLoweringBase.cpp
lib/IR/Verifier.cpp
test/CodeGen/X86/smul_fix.ll [new file with mode: 0644]