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