mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179277 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			36 lines
		
	
	
		
			715 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			715 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: opt < %s -instsimplify -S | FileCheck %s
 | |
| 
 | |
| ; fsub 0, (fsub 0, X) ==> X
 | |
| ; CHECK: @fsub_0_0_x
 | |
| define float @fsub_0_0_x(float %a) {
 | |
|   %t1 = fsub float -0.0, %a
 | |
|   %ret = fsub float -0.0, %t1
 | |
| 
 | |
| ; CHECK: ret float %a
 | |
|   ret float %ret
 | |
| }
 | |
| 
 | |
| ; fsub X, 0 ==> X
 | |
| ; CHECK: @fsub_x_0
 | |
| define float @fsub_x_0(float %a) {
 | |
|   %ret = fsub float %a, 0.0
 | |
| ; CHECK: ret float %a
 | |
|   ret float %ret
 | |
| }
 | |
| 
 | |
| ; fadd X, -0 ==> X
 | |
| ; CHECK: @fadd_x_n0
 | |
| define float @fadd_x_n0(float %a) {
 | |
|   %ret = fadd float %a, -0.0
 | |
| ; CHECK: ret float %a
 | |
|   ret float %ret
 | |
| }
 | |
| 
 | |
| ; fmul X, 1.0 ==> X
 | |
| ; CHECK: @fmul_X_1
 | |
| define double @fmul_X_1(double %a) {
 | |
|   %b = fmul double 1.000000e+00, %a                ; <double> [#uses=1]
 | |
|   ; CHECK: ret double %a
 | |
|   ret double %b
 | |
| }
 |