forked from OSchip/llvm-project
				
			
							parent
							
								
									49123d4bb0
								
							
						
					
					
						commit
						ac78daf517
					
				| 
						 | 
				
			
			@ -5273,6 +5273,10 @@ SDValue DAGCombiner::visitRotate(SDNode *N) {
 | 
			
		|||
  SDValue N1 = N->getOperand(1);
 | 
			
		||||
  EVT VT = N->getValueType(0);
 | 
			
		||||
 | 
			
		||||
  // fold (rot x, 0) -> x
 | 
			
		||||
  if (isNullConstantOrNullSplatConstant(N1))
 | 
			
		||||
    return N0;
 | 
			
		||||
 | 
			
		||||
  // fold (rot* x, (trunc (and y, c))) -> (rot* x, (and (trunc y), (trunc c))).
 | 
			
		||||
  if (N1.getOpcode() == ISD::TRUNCATE &&
 | 
			
		||||
      N1.getOperand(0).getOpcode() == ISD::AND) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,7 +59,6 @@ define <4 x i32> @combine_vec_rot_rot_splat(<4 x i32> %x) {
 | 
			
		|||
define <4 x i32> @combine_vec_rot_rot_splat_zero(<4 x i32> %x) {
 | 
			
		||||
; XOP-LABEL: combine_vec_rot_rot_splat_zero:
 | 
			
		||||
; XOP:       # BB#0:
 | 
			
		||||
; XOP-NEXT:    vprotd $0, %xmm0, %xmm0
 | 
			
		||||
; XOP-NEXT:    retq
 | 
			
		||||
;
 | 
			
		||||
; AVX512-LABEL: combine_vec_rot_rot_splat_zero:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue