Home
last modified time | relevance | path

Searched refs:float (Results 1 – 25 of 29) sorted by relevance

12

/wasmtime-44.0.1/winch/codegen/src/isa/
H A Dmod.rs256 float: Option<RegClassEnv>, field
260 fn with_limits_per_class(int: u8, float: u8) -> Self { in with_limits_per_class()
266 let float = RegClassEnv { in with_limits_per_class() localVariable
267 limit: float, in with_limits_per_class()
273 float: Some(float), in with_limits_per_class()
280 Self { int, float: None } in with_absolute_limit()
292 if let Some(f) = self.float.as_mut() { in next_fpr()
H A Dreg.rs43 pub fn float(enc: usize) -> Self { in float() method
/wasmtime-44.0.1/winch/codegen/src/
H A Dregset.rs64 pub fn float(allocatable: u64, non_allocatable: u64, max: usize) -> Self { in float() method
155 let zero = RegBitSet::float(0, 0, MAX); in test_any_gpr()
173 let zero = RegBitSet::float(0, 0, MAX); in test_gpr()
188 let zero = RegBitSet::float(0, 0, MAX); in test_free_reg()
/wasmtime-44.0.1/winch/codegen/src/isa/aarch64/
H A Dregs.rs178 RegBitSet::float( in fpr_bit_set()
196 RegBitSet::float( in scratch_fpr_bitset()
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/lower/
H A Disle.rs666 fn fcvt_smin_bound(&mut self, float: Type, int: Type, saturating: bool) -> u64 { in fcvt_smin_bound()
667 match (int, float) { in fcvt_smin_bound()
686 fn fcvt_smax_bound(&mut self, float: Type, int: Type, saturating: bool) -> u64 { in fcvt_smax_bound()
688 match (int, float) { in fcvt_smax_bound()
700 fn fcvt_umax_bound(&mut self, float: Type, int: Type, saturating: bool) -> u64 { in fcvt_umax_bound()
702 match (int, float) { in fcvt_umax_bound()
714 fn fcvt_umin_bound(&mut self, float: Type, saturating: bool) -> u64 { in fcvt_umin_bound()
716 match float { in fcvt_umin_bound()
/wasmtime-44.0.1/winch/codegen/src/isa/x64/
H A Dregs.rs196 RegBitSet::float( in fpr_bit_set()
214 RegBitSet::float( in scratch_fpr_bitset()
/wasmtime-44.0.1/crates/wasmtime/src/runtime/func/
H A Dtyped.rs420 ($($float:ident/$int:ident/$get_float:ident => $ty:ident)*) => ($(
421 unsafe impl WasmTy for $float {
436 ptr.write(ValRaw::$float(self.to_bits()));
441 $float::from_bits(ptr.$get_float())
/wasmtime-44.0.1/cranelift/codegen/src/opts/
H A Dvector.isle4 ;; NB: for int-to-float conversion op this simplification is also
5 ;; required for the x64 backend because it doesn't fully implement int-to-float
H A Dcprop.isle298 ;; Constant fold int-to-float conversions.
332 ;; Constant fold float operations
H A Darithmetic.isle217 ;; the chance to convert from the smallest integral type to the float. This
218 ;; can help lowerings on x64 for example which has a less efficient u64-to-float
/wasmtime-44.0.1/docs/
H A Dstability-tiers.md32 | WebAssembly Proposal | [`nontrapping-float-to-int-conversion`] |
56 [`nontrapping-float-to-int-conversion`]: https://github.com/WebAssembly/spec/blob/master/proposals/…
219 | [`nontrapping-float-to-int-conversion`] | ✅ | ✅ |
244 | [`nontrapping-float-to-int-conversion`] | ✅ | ✅ |
269 | [`nontrapping-float-to-int-conversion`] | ✅ | ❌ |
294 | [`nontrapping-float-to-int-conversion`] | ✅ | ❌ |
324 | [`nontrapping-float-to-int-conversion`] | ✅ | ❌ |
H A Dstability-wasm-proposals.md98 …`]: https://github.com/WebAssembly/spec/blob/master/proposals/nontrapping-float-to-int-conversion/…
H A Dexamples-pulley.md123 * 32 "F" float registers each of which are 64-bits large. (`FReg`)
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/riscv64/
H A Dbitops-float.clif7 ;; integer instructions (`orn`) to implement a float operation
/wasmtime-44.0.1/crates/wasmtime/src/runtime/component/func/
H A Dtyped.rs1191 ($($float:ident/$get_float:ident = $ty:ident with abi:$abi:ident)*) => ($(const _: () = {
1192 unsafe impl ComponentType for $float {
1205 unsafe impl Lower for $float {
1214 dst.write(ValRaw::$float(self.to_bits()));
1266 unsafe impl Lift for $float {
1270 Ok($float::from_bits(src.$get_float()))
1277 Ok($float::from_le_bytes(bytes.try_into().unwrap()))
1296 .map(|i| $float::from_le_bytes(i.try_into().unwrap()))
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/
H A Dinst_vector.isle1027 ;; This instruction converts a float to an unsigned integer.
1033 ;; This instruction converts a float to a signed integer.
1039 ;; This instruction converts a float to an unsigned integer
1047 ;; This instruction converts a float to a signed integer.
1055 ;; This instruction converts a unsigned integer to a float.
1061 ;; This instruction converts a signed integer to a float.
1067 ;; Convert single-width float to double-width float.
1073 ;; Convert double-width float to single-width float.
1879 ;; Returns the maximum value integer value that can be represented by a float
1900 ;; The rounding is performed by converting from float to integer, with the
H A Dinst.isle1877 ;; Recursion: bounded since either float cases are reduced to integers, or the
2632 ;; float rounding mode.
2820 ;;; some float binary operation
3006 ;; Recursion: only recursive rule matches on vec-to-float, and emits vec-to-int
3007 ;; and int-to-float bitcasts, so this can only recurse once.
3022 ;; Smaller float types are NaN-boxed inside of larger floating point types on RISC-V, meaning the
3023 ;; smaller float is stored in the lower bits of the larger float and all the other bits are set to …
3025 ;; here when using a 32-bit `fmv` for a 16-bit float.
H A Dlower.isle1795 ;;;;; Rules for for float arithmetic
2431 ;; RISC-V float-to-integer conversion does not trap, but Cranelift semantics are
2475 ;; float is clamped before the conversion.
2490 ;; RISC-V float-to-int conversions generate the same output for NaN and +Inf,
2492 ;; translates these semantics by taking the float being converted (with the type
2494 ;; will be zeroed out if the float is NaN.
2496 ;; This is done by comparing the float to itself, generating 0 if it's NaN. This
2518 ;; float is clamped before the conversion.
2820 ;; Similar to above, but using the float variants of the instructions.
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/
H A Dlower.isle3668 ;; Note that the `cvtsi2s{s,d}` instruction is not just an int-to-float
3680 ;; between consecutive int-to-float operations but that's not easy
3750 ;; decimal of the float, basically:
3771 ;; Algorithm uses unpcklps to help create a float that is equivalent
3791 ;; converting packed signed integers to float (cvtdq2ps). In
3806 ;; -> Convert(Al) // Convert int to float
3851 ;; Sets tmp to zero if float is NaN
3855 ;; Sets top bit of tmp if float is positive
3856 ;; Setting up to set top bit on negative float values
3859 ;; Convert the packed float to packed doubleword.
[all …]
/wasmtime-44.0.1/cranelift/interpreter/src/
H A Dvalue.rs22 fn float(n: u64, ty: Type) -> ValueResult<Self>; in float() method
295 fn float(bits: u64, ty: Type) -> ValueResult<Self> { in float() method
H A Dstep.rs1198 .map(|x| DataValue::float(bits(x)?, ctrl_ty.lane_type())) in step()
1234 x.push(DataValue::float(0, out_ty.lane_type())?); in step()
1524 DataValueExt::float(lane as u64, lane_type)? in extractlanes()
/wasmtime-44.0.1/cranelift/filetests/filetests/isa/x64/
H A Dvery-carefully-sink-loads-in-float-compares.clif5 ;; into float comparison operations. When a single `fcmp` is used multiple times
H A Dstack_switch.clif324 ;; Test clobbering of all 16 float registers
/wasmtime-44.0.1/cranelift/docs/
H A Dir.md31 float average(const float *array, size_t count)
/wasmtime-44.0.1/cranelift/codegen/src/
H A Dprelude.isle433 ;; An extractor that only matches scalar types, float or int or ref's.

12