Lines Matching refs:DataValue

8 use cranelift_codegen::data_value::{DataValue, DataValueCastFailure};
167 $( DataValue::$data_value_ty(a) => {
168 Ok(DataValue::$data_value_ty($return_value_ty::try_from(a.$op()).unwrap()))
175 $( DataValue::$data_value_ty(a) => { Ok(DataValue::$data_value_ty(a.$op())) } )*
183 …$( (DataValue::$data_value_ty(a), DataValue::$data_value_ty(b)) => { Ok(DataValue::$data_value_ty(…
189 …$( (DataValue::$data_value_ty(a), DataValue::$data_value_ty(b)) => { Ok(DataValue::$data_value_ty(…
195 …$( (DataValue::$data_value_ty(a), DataValue::$data_value_ty(b)) => { Ok((*a as $op_type).$op(*b as…
201 $( (DataValue::$data_value_ty(a), DataValue::$data_value_ty(b)) => {
203 Ok((DataValue::$data_value_ty(f as _), s))
210 …$( (DataValue::$data_value_ty(a), DataValue::$data_value_ty(b)) => { Ok(DataValue::$data_value_ty(…
216 …$( (DataValue::$data_value_ty(a), DataValue::$data_value_ty(b)) => { Ok(DataValue::$data_value_ty(…
222 …$( (DataValue::$data_value_ty(a), DataValue::$rhs(b)) => { Ok(DataValue::$data_value_ty((*a as $a_…
231 (DataValue::I8(a), DataValue::I8(b)) => DataValue::I8(a $op b),
232 (DataValue::I16(a), DataValue::I16(b)) => DataValue::I16(a $op b),
233 (DataValue::I32(a), DataValue::I32(b)) => DataValue::I32(a $op b),
234 (DataValue::I64(a), DataValue::I64(b)) => DataValue::I64(a $op b),
235 (DataValue::I128(a), DataValue::I128(b)) => DataValue::I128(a $op b),
236 (DataValue::F32(a), DataValue::F32(b)) => DataValue::F32(a $op b),
237 (DataValue::F64(a), DataValue::F64(b)) => DataValue::F64(a $op b),
238 (DataValue::V64(a), DataValue::V64(b)) => {
243 DataValue::V64(a2)
245 (DataValue::V128(a), DataValue::V128(b)) => {
250 DataValue::V128(a2)
257 impl DataValueExt for DataValue { implementation
263 8 | 16 => Ok(DataValue::read_from_slice_ne(&n.to_ne_bytes(), ty)), in int()
267 DataValue::from_integer(n, ty).map_err(|_| ValueError::InvalidValue(ty)) in int()
275 DataValue::I8(n) => Ok(n as i128), in into_int_signed()
276 DataValue::I16(n) => Ok(n as i128), in into_int_signed()
277 DataValue::I32(n) => Ok(n as i128), in into_int_signed()
278 DataValue::I64(n) => Ok(n as i128), in into_int_signed()
279 DataValue::I128(n) => Ok(n), in into_int_signed()
286 DataValue::I8(n) => Ok(n as u8 as u128), in into_int_unsigned()
287 DataValue::I16(n) => Ok(n as u16 as u128), in into_int_unsigned()
288 DataValue::I32(n) => Ok(n as u32 as u128), in into_int_unsigned()
289 DataValue::I64(n) => Ok(n as u64 as u128), in into_int_unsigned()
290 DataValue::I128(n) => Ok(n as u128), in into_int_unsigned()
297 types::F32 => Ok(DataValue::F32(Ieee32::with_bits(u32::try_from(bits)?))), in float()
298 types::F64 => Ok(DataValue::F64(Ieee64::with_bits(bits))), in float()
305 DataValue::F32(n) => Ok(n.as_f32() as f64), in into_float()
306 DataValue::F64(n) => Ok(n.as_f64()), in into_float()
313 DataValue::F16(_) | DataValue::F32(_) | DataValue::F64(_) | DataValue::F128(_) => true, in is_float()
320 DataValue::F32(f) => Ok(f.is_nan()), in is_nan()
321 DataValue::F64(f) => Ok(f.is_nan()), in is_nan()
330 Ok(DataValue::$ty(if b { in bool()
350 DataValue::I8(b) => Ok(b != 0), in into_bool()
351 DataValue::I16(b) => Ok(b != 0), in into_bool()
352 DataValue::I32(b) => Ok(b != 0), in into_bool()
353 DataValue::I64(b) => Ok(b != 0), in into_bool()
354 DataValue::I128(b) => Ok(b != 0), in into_bool()
362 16 => Ok(DataValue::V128(v)),
363 8 => Ok(DataValue::V64(v[..8].try_into().unwrap())),
364 4 => Ok(DataValue::V32(v[..4].try_into().unwrap())),
365 2 => Ok(DataValue::V16(v[..2].try_into().unwrap())),
372 DataValue::V128(v) => Ok(v),
373 DataValue::V64(v) => {
378 DataValue::V32(v) => {
383 DataValue::V16(v) => {
397 DataValue::from_integer(val.into_int_signed()?, ty)? in convert()
399 (DataValue::I16(n), types::F16) => DataValue::F16(Ieee16::with_bits(n as u16)), in convert()
400 (DataValue::I32(n), types::F32) => DataValue::F32(f32::from_bits(n as u32).into()), in convert()
401 (DataValue::I64(n), types::F64) => DataValue::F64(f64::from_bits(n as u64).into()), in convert()
402 (DataValue::I128(n), types::F128) => DataValue::F128(Ieee128::with_bits(n as u128)), in convert()
403 (DataValue::F16(n), types::I16) => DataValue::I16(n.bits() as i16), in convert()
404 (DataValue::F32(n), types::I32) => DataValue::I32(n.bits() as i32), in convert()
405 (DataValue::F64(n), types::I64) => DataValue::I64(n.bits() as i64), in convert()
406 (DataValue::F128(n), types::I128) => DataValue::I128(n.bits() as i128), in convert()
407 (DataValue::F32(n), types::F64) => DataValue::F64((n.as_f32() as f64).into()), in convert()
439 (DataValue::I8(n), types::I16) => DataValue::I16(n as i16), in convert()
440 (DataValue::I8(n), types::I32) => DataValue::I32(n as i32), in convert()
441 (DataValue::I8(n), types::I64) => DataValue::I64(n as i64), in convert()
442 (DataValue::I8(n), types::I128) => DataValue::I128(n as i128), in convert()
443 (DataValue::I16(n), types::I32) => DataValue::I32(n as i32), in convert()
444 (DataValue::I16(n), types::I64) => DataValue::I64(n as i64), in convert()
445 (DataValue::I16(n), types::I128) => DataValue::I128(n as i128), in convert()
446 (DataValue::I32(n), types::I64) => DataValue::I64(n as i64), in convert()
447 (DataValue::I32(n), types::I128) => DataValue::I128(n as i128), in convert()
448 (DataValue::I64(n), types::I128) => DataValue::I128(n as i128), in convert()
452 (DataValue::I8(n), types::I16) => DataValue::I16(n as u8 as i16), in convert()
453 (DataValue::I8(n), types::I32) => DataValue::I32(n as u8 as i32), in convert()
454 (DataValue::I8(n), types::I64) => DataValue::I64(n as u8 as i64), in convert()
455 (DataValue::I8(n), types::I128) => DataValue::I128(n as u8 as i128), in convert()
456 (DataValue::I16(n), types::I32) => DataValue::I32(n as u16 as i32), in convert()
457 (DataValue::I16(n), types::I64) => DataValue::I64(n as u16 as i64), in convert()
458 (DataValue::I16(n), types::I128) => DataValue::I128(n as u16 as i128), in convert()
459 (DataValue::I32(n), types::I64) => DataValue::I64(n as u32 as i64), in convert()
460 (DataValue::I32(n), types::I128) => DataValue::I128(n as u32 as i128), in convert()
461 (DataValue::I64(n), types::I128) => DataValue::I128(n as u64 as i128), in convert()
466 (DataValue::F64(n), types::F32) => DataValue::F32(Ieee32::from(n.as_f64() as f32)), in convert()
471 DataValue::I8(if self.into_int_signed()? != 0 { 1 } else { 0 }) in convert()
484 (DataValue::I64(lhs), DataValue::I64(rhs)) => Ok(DataValue::I128( in concat()
493 DataValue::F32(f) => Ok(f.is_negative()), in is_negative()
494 DataValue::F64(f) => Ok(f.is_negative()), in is_negative()
501 DataValue::I8(f) => Ok(*f == 0), in is_zero()
502 DataValue::I16(f) => Ok(*f == 0), in is_zero()
503 DataValue::I32(f) => Ok(*f == 0), in is_zero()
504 DataValue::I64(f) => Ok(*f == 0), in is_zero()
505 DataValue::I128(f) => Ok(*f == 0), in is_zero()
506 DataValue::F16(f) => Ok(f.is_zero()), in is_zero()
507 DataValue::F32(f) => Ok(f.is_zero()), in is_zero()
508 DataValue::F64(f) => Ok(f.is_zero()), in is_zero()
509 DataValue::F128(f) => Ok(f.is_zero()), in is_zero()
510 DataValue::V16(_) | DataValue::V32(_) | DataValue::V64(_) | DataValue::V128(_) => { in is_zero()
630 (DataValue::F32(a), DataValue::F32(b), DataValue::F32(c)) => { in fma()
643 Ok(DataValue::F32(res.into())) in fma()
645 (DataValue::F64(a), DataValue::F64(b), DataValue::F64(c)) => { in fma()
656 Ok(DataValue::F64(res.into())) in fma()
777 DataValue::I8(a) => DataValue::I8(!a), in not()
778 DataValue::I16(a) => DataValue::I16(!a), in not()
779 DataValue::I32(a) => DataValue::I32(!a), in not()
780 DataValue::I64(a) => DataValue::I64(!a), in not()
781 DataValue::I128(a) => DataValue::I128(!a), in not()
782 DataValue::F32(a) => DataValue::F32(!a), in not()
783 DataValue::F64(a) => DataValue::F64(!a), in not()
784 DataValue::V64(mut a) => { in not()
788 DataValue::V64(a) in not()
790 DataValue::V128(mut a) => { in not()
794 DataValue::V128(a) in not()
832 v: SimdVec<DataValue>,
837 fn new(dv: &DataValue, ty: Type) -> Result<Self, ValueError> { in new() argument
846 type Item = DataValue;
865 let dv = DataValue::V128([99, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]); in test_iterator_v128()
871 let dv = DataValue::V128([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]); in test_iterator_v128_empty()
877 let dv = DataValue::V128([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]); in test_iterator_v128_ones()
883 let dv = DataValue::V64([0, 0, 0, 0, 0, 0, 0, 0]); in test_iterator_v64_empty()
888 let dv = DataValue::V64([1, 1, 1, 1, 1, 1, 1, 1]); in test_iterator_v64_ones()
893 let dv = DataValue::V64([10, 20, 30, 40, 50, 60, 70, 80]); in test_iterator_v64()
897 fn simd_sum(dv: DataValue, ty: types::Type) -> i128 { in simd_sum() argument