vpblend intrinsics combines as shifts intrinsics due to absence return stmt between them
Fix PR20088 Differential Revision: http://reviews.llvm.org/D4277 llvm-svn: 211617
This commit is contained in:
parent
d40b970616
commit
21c836823f
|
@ -19188,6 +19188,8 @@ static SDValue PerformINTRINSIC_WO_CHAINCombine(SDNode *N, SelectionDAG &DAG,
|
|||
if (C->isAllOnesValue())
|
||||
return Op1;
|
||||
}
|
||||
|
||||
return SDValue();
|
||||
}
|
||||
|
||||
// Packed SSE2/AVX2 arithmetic shift immediate intrinsics.
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
; RUN: llc < %s -mattr=+avx | FileCheck %s
|
||||
|
||||
declare <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8>, <16 x i8>, <16 x i8>)
|
||||
|
||||
define <16 x i8> @foo(<16 x i8> %x) {
|
||||
; CHECK: vpblendvb
|
||||
%res = call <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8> zeroinitializer, <16 x i8> <i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1, i8 1>, <16 x i8> %x)
|
||||
ret <16 x i8> %res;
|
||||
}
|
Loading…
Reference in New Issue