[InstCombine] add tests to show missing transforms for vectors; NFC
llvm-svn: 300401
This commit is contained in:
		
							parent
							
								
									565019ff32
								
							
						
					
					
						commit
						c8405b82a1
					
				| 
						 | 
					@ -177,5 +177,31 @@ define i1 @and_ne_with_diff_one_signed(i64 %x) {
 | 
				
			||||||
  ret i1 %and
 | 
					  ret i1 %and
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; FIXME: Vectors with splat constants get the same folds.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define <2 x i1> @or_eq_with_one_bit_diff_constants2_splatvec(<2 x i32> %x) {
 | 
				
			||||||
 | 
					; CHECK-LABEL: @or_eq_with_one_bit_diff_constants2_splatvec(
 | 
				
			||||||
 | 
					; CHECK-NEXT:    [[CMP1:%.*]] = icmp eq <2 x i32> %x, <i32 97, i32 97>
 | 
				
			||||||
 | 
					; CHECK-NEXT:    [[CMP2:%.*]] = icmp eq <2 x i32> %x, <i32 65, i32 65>
 | 
				
			||||||
 | 
					; CHECK-NEXT:    [[OR:%.*]] = or <2 x i1> [[CMP1]], [[CMP2]]
 | 
				
			||||||
 | 
					; CHECK-NEXT:    ret <2 x i1> [[OR]]
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					  %cmp1 = icmp eq <2 x i32> %x, <i32 97, i32 97>
 | 
				
			||||||
 | 
					  %cmp2 = icmp eq <2 x i32> %x, <i32 65, i32 65>
 | 
				
			||||||
 | 
					  %or = or <2 x i1> %cmp1, %cmp2
 | 
				
			||||||
 | 
					  ret <2 x i1> %or
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define <2 x i1> @and_ne_with_diff_one_splatvec(<2 x i32> %x) {
 | 
				
			||||||
 | 
					; CHECK-LABEL: @and_ne_with_diff_one_splatvec(
 | 
				
			||||||
 | 
					; CHECK-NEXT:    [[CMP1:%.*]] = icmp ne <2 x i32> %x, <i32 40, i32 40>
 | 
				
			||||||
 | 
					; CHECK-NEXT:    [[CMP2:%.*]] = icmp ne <2 x i32> %x, <i32 39, i32 39>
 | 
				
			||||||
 | 
					; CHECK-NEXT:    [[AND:%.*]] = and <2 x i1> [[CMP1]], [[CMP2]]
 | 
				
			||||||
 | 
					; CHECK-NEXT:    ret <2 x i1> [[AND]]
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					  %cmp1 = icmp ne <2 x i32> %x, <i32 40, i32 40>
 | 
				
			||||||
 | 
					  %cmp2 = icmp ne <2 x i32> %x, <i32 39, i32 39>
 | 
				
			||||||
 | 
					  %and = and <2 x i1> %cmp1, %cmp2
 | 
				
			||||||
 | 
					  ret <2 x i1> %and
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue