forked from OSchip/llvm-project
				
			These two tests now require only two multiply instructions,
instead of four. llvm-svn: 42784
This commit is contained in:
		
							parent
							
								
									82bc90ac60
								
							
						
					
					
						commit
						678387a299
					
				| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					; RUN: llvm-as < %s | llc -march=x86-64 | grep mul | count 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define i128 @i64_sext_i128(i64 %a, i64 %b) {
 | 
				
			||||||
 | 
					  %aa = sext i64 %a to i128
 | 
				
			||||||
 | 
					  %bb = sext i64 %b to i128
 | 
				
			||||||
 | 
					  %cc = mul i128 %aa, %bb
 | 
				
			||||||
 | 
					  ret i128 %cc
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					define i128 @i64_zext_i128(i64 %a, i64 %b) {
 | 
				
			||||||
 | 
					  %aa = zext i64 %a to i128
 | 
				
			||||||
 | 
					  %bb = zext i64 %b to i128
 | 
				
			||||||
 | 
					  %cc = mul i128 %aa, %bb
 | 
				
			||||||
 | 
					  ret i128 %cc
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					; RUN: llvm-as < %s | llc -march=x86 | grep mul | count 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					define i64 @i32_sext_i64(i32 %a, i32 %b) {
 | 
				
			||||||
 | 
					  %aa = sext i32 %a to i64
 | 
				
			||||||
 | 
					  %bb = sext i32 %b to i64
 | 
				
			||||||
 | 
					  %cc = mul i64 %aa, %bb
 | 
				
			||||||
 | 
					  ret i64 %cc
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					define i64 @i32_zext_i64(i32 %a, i32 %b) {
 | 
				
			||||||
 | 
					  %aa = zext i32 %a to i64
 | 
				
			||||||
 | 
					  %bb = zext i32 %b to i64
 | 
				
			||||||
 | 
					  %cc = mul i64 %aa, %bb
 | 
				
			||||||
 | 
					  ret i64 %cc
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue