mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 21:16:44 +00:00 
			
		
		
		
	 72800d3b89
			
		
	
	
		72800d3b89
		
	
	
	
	
		
			
			Except for `simd-intrinsic/`, which has a lot of files containing multiple types like `u8x64` which really are better when hand-formatted. There is a surprising amount of two-space indenting in this directory. Non-trivial changes: - `rustfmt::skip` needed in `debug-column.rs` to preserve meaning of the test. - `rustfmt::skip` used in a few places where hand-formatting read more nicely: `enum/enum-match.rs` - Line number adjustments needed for the expected output of `debug-column.rs` and `coroutine-debug.rs`.
		
			
				
	
	
		
			43 lines
		
	
	
		
			901 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			901 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| //@ compile-flags: -C no-prepopulate-passes
 | |
| 
 | |
| #![crate_type = "lib"]
 | |
| #![feature(core_intrinsics)]
 | |
| 
 | |
| use std::intrinsics::{fadd_fast, fdiv_fast, fmul_fast, frem_fast, fsub_fast};
 | |
| 
 | |
| // CHECK-LABEL: @add
 | |
| #[no_mangle]
 | |
| pub fn add(x: f32, y: f32) -> f32 {
 | |
|     // CHECK: fadd float
 | |
|     // CHECK-NOT: fast
 | |
|     x + y
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: @addition
 | |
| #[no_mangle]
 | |
| pub fn addition(x: f32, y: f32) -> f32 {
 | |
|     // CHECK: fadd fast float
 | |
|     unsafe { fadd_fast(x, y) }
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: @subtraction
 | |
| #[no_mangle]
 | |
| pub fn subtraction(x: f32, y: f32) -> f32 {
 | |
|     // CHECK: fsub fast float
 | |
|     unsafe { fsub_fast(x, y) }
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: @multiplication
 | |
| #[no_mangle]
 | |
| pub fn multiplication(x: f32, y: f32) -> f32 {
 | |
|     // CHECK: fmul fast float
 | |
|     unsafe { fmul_fast(x, y) }
 | |
| }
 | |
| 
 | |
| // CHECK-LABEL: @division
 | |
| #[no_mangle]
 | |
| pub fn division(x: f32, y: f32) -> f32 {
 | |
|     // CHECK: fdiv fast float
 | |
|     unsafe { fdiv_fast(x, y) }
 | |
| }
 |