diff options
| author | Marek Olsak <marek.olsak@amd.com> | 2018-01-31 20:18:04 +0000 |
|---|---|---|
| committer | Marek Olsak <marek.olsak@amd.com> | 2018-01-31 20:18:04 +0000 |
| commit | 13e4741275a1169c2ff50645cd6f4e964a94169f (patch) | |
| tree | eb6033e7b0ab4e3a409738ae16adf5ffbf6605c7 /llvm/lib/Transforms | |
| parent | 8e7d149a31ee0a301e404f596fa2a36a59bd10bf (diff) | |
| download | bcm5719-llvm-13e4741275a1169c2ff50645cd6f4e964a94169f.tar.gz bcm5719-llvm-13e4741275a1169c2ff50645cd6f4e964a94169f.zip | |
AMDGPU: Add intrinsics llvm.amdgcn.cvt.{pknorm.i16, pknorm.u16, pk.i16, pk.u16}
Reviewers: arsenm, nhaehnle
Subscribers: kzhuravl, wdng, yaxunl, dstuttard, tpr, t-tye
Differential Revision: https://reviews.llvm.org/D41663
llvm-svn: 323908
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp index 32821e6d9de..5ac2076f897 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -3264,6 +3264,18 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) { break; } + case Intrinsic::amdgcn_cvt_pknorm_i16: + case Intrinsic::amdgcn_cvt_pknorm_u16: + case Intrinsic::amdgcn_cvt_pk_i16: + case Intrinsic::amdgcn_cvt_pk_u16: { + Value *Src0 = II->getArgOperand(0); + Value *Src1 = II->getArgOperand(1); + + if (isa<UndefValue>(Src0) && isa<UndefValue>(Src1)) + return replaceInstUsesWith(*II, UndefValue::get(II->getType())); + + break; + } case Intrinsic::amdgcn_ubfe: case Intrinsic::amdgcn_sbfe: { // Decompose simple cases into standard shifts. |

