mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	Pick up the latest version of iai-callgrind, which includes some output improvements. Changelog: https://github.com/iai-callgrind/iai-callgrind/releases
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
[package]
 | 
						|
name = "builtins-test"
 | 
						|
version = "0.1.0"
 | 
						|
authors = ["Alex Crichton <alex@alexcrichton.com>"]
 | 
						|
edition = "2024"
 | 
						|
publish = false
 | 
						|
license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)"
 | 
						|
 | 
						|
[dependencies]
 | 
						|
# For fuzzing tests we want a deterministic seedable RNG. We also eliminate potential
 | 
						|
# problems with system RNGs on the variety of platforms this crate is tested on.
 | 
						|
# `xoshiro128**` is used for its quality, size, and speed at generating `u32` shift amounts.
 | 
						|
rand_xoshiro = "0.7"
 | 
						|
# To compare float builtins against
 | 
						|
rustc_apfloat = "0.2.3"
 | 
						|
# Really a dev dependency, but dev dependencies can't be optional
 | 
						|
iai-callgrind = { version = "0.15.2", optional = true }
 | 
						|
 | 
						|
[dependencies.compiler_builtins]
 | 
						|
path = "../builtins-shim"
 | 
						|
default-features = false
 | 
						|
features = ["unstable-public-internals"]
 | 
						|
 | 
						|
[dev-dependencies]
 | 
						|
criterion = { version = "0.6.0", default-features = false, features = ["cargo_bench_support"] }
 | 
						|
paste = "1.0.15"
 | 
						|
 | 
						|
[target.'cfg(all(target_arch = "arm", not(any(target_env = "gnu", target_env = "musl")), target_os = "linux"))'.dev-dependencies]
 | 
						|
test = { git = "https://github.com/japaric/utest" }
 | 
						|
utest-cortex-m-qemu = { default-features = false, git = "https://github.com/japaric/utest" }
 | 
						|
utest-macros = { git = "https://github.com/japaric/utest" }
 | 
						|
 | 
						|
[features]
 | 
						|
default = ["mangled-names"]
 | 
						|
c = ["compiler_builtins/c"]
 | 
						|
no-asm = ["compiler_builtins/no-asm"]
 | 
						|
no-f16-f128 = ["compiler_builtins/no-f16-f128"]
 | 
						|
mem = ["compiler_builtins/mem"]
 | 
						|
mangled-names = ["compiler_builtins/mangled-names"]
 | 
						|
# Skip tests that rely on f128 symbols being available on the system
 | 
						|
no-sys-f128 = ["no-sys-f128-int-convert", "no-sys-f16-f128-convert"]
 | 
						|
# Some platforms have some f128 functions but everything except integer conversions
 | 
						|
no-sys-f128-int-convert = []
 | 
						|
no-sys-f16-f128-convert = []
 | 
						|
no-sys-f16-f64-convert = []
 | 
						|
# Skip tests that rely on f16 symbols being available on the system
 | 
						|
no-sys-f16 = ["no-sys-f16-f64-convert"]
 | 
						|
 | 
						|
# Enable icount benchmarks (requires iai-callgrind and valgrind)
 | 
						|
icount = ["dep:iai-callgrind"]
 | 
						|
 | 
						|
# Enable report generation without bringing in more dependencies by default
 | 
						|
benchmarking-reports = ["criterion/plotters", "criterion/html_reports"]
 | 
						|
 | 
						|
# NOTE: benchmarks must be run with `--no-default-features` or with
 | 
						|
# `-p builtins-test`, otherwise the default `compiler-builtins` feature
 | 
						|
# of the `compiler_builtins` crate gets activated, resulting in linker
 | 
						|
# errors.
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_add"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_sub"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_mul"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_div"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_cmp"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_conv"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_extend"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_trunc"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "float_pow"
 | 
						|
harness = false
 | 
						|
 | 
						|
[[bench]]
 | 
						|
name = "mem_icount"
 | 
						|
harness = false
 | 
						|
required-features = ["icount"]
 |