32 lines
		
	
	
		
			970 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			970 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 | |
| ; RUN: llc < %s -mtriple=wasm32 | FileCheck %s
 | |
| 
 | |
| define i64 @testmsxs_builtin(float %x) {
 | |
| ; CHECK-LABEL: testmsxs_builtin:
 | |
| ; CHECK:         .functype testmsxs_builtin (f32) -> (i64)
 | |
| ; CHECK-NEXT:  # %bb.0: # %entry
 | |
| ; CHECK-NEXT:    local.get 0
 | |
| ; CHECK-NEXT:    call llroundf
 | |
| ; CHECK-NEXT:    # fallthrough-return
 | |
| ; CHECK-NEXT:    end_function
 | |
| entry:
 | |
|   %0 = tail call i64 @llvm.llround.f32(float %x)
 | |
|   ret i64 %0
 | |
| }
 | |
| 
 | |
| define i64 @testmsxd_builtin(double %x) {
 | |
| ; CHECK-LABEL: testmsxd_builtin:
 | |
| ; CHECK:         .functype testmsxd_builtin (f64) -> (i64)
 | |
| ; CHECK-NEXT:  # %bb.0: # %entry
 | |
| ; CHECK-NEXT:    local.get 0
 | |
| ; CHECK-NEXT:    call llround
 | |
| ; CHECK-NEXT:    # fallthrough-return
 | |
| ; CHECK-NEXT:    end_function
 | |
| entry:
 | |
|   %0 = tail call i64 @llvm.llround.f64(double %x)
 | |
|   ret i64 %0
 | |
| }
 | |
| 
 | |
| declare i64 @llvm.llround.f32(float) nounwind readnone
 | |
| declare i64 @llvm.llround.f64(double) nounwind readnone
 |