| /wasmtime-44.0.1/cranelift/codegen/src/ir/ |
| H A D | condcodes.rs | 199 pub enum FloatCC { enum 234 impl FloatCC { impl 238 FloatCC::Ordered, in all() 240 FloatCC::Equal, in all() 256 impl CondCode for FloatCC { implementation 258 use self::FloatCC::*; in complement() 277 use self::FloatCC::*; in swap_args() 297 impl Display for FloatCC { implementation 299 use self::FloatCC::*; in fmt() 319 impl FromStr for FloatCC { implementation [all …]
|
| H A D | instructions.rs | 23 condcodes::{FloatCC, IntCC}, 522 pub fn fp_cond_code(&self) -> Option<FloatCC> { in fp_cond_code() argument
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/ |
| H A D | lower.rs | 11 use crate::ir::condcodes::{FloatCC, IntCC}; 79 FloatCC::Ordered => Cond::Vc, in lower_fp_condcode() 81 FloatCC::Unordered => Cond::Vs, in lower_fp_condcode() 83 FloatCC::Equal => Cond::Eq, in lower_fp_condcode() 85 FloatCC::NotEqual => Cond::Ne, in lower_fp_condcode() 91 FloatCC::LessThan => Cond::Mi, in lower_fp_condcode() 93 FloatCC::LessThanOrEqual => Cond::Ls, in lower_fp_condcode() 95 FloatCC::GreaterThan => Cond::Gt, in lower_fp_condcode() 97 FloatCC::GreaterThanOrEqual => Cond::Ge, in lower_fp_condcode() 99 FloatCC::UnorderedOrLessThan => Cond::Lt, in lower_fp_condcode() [all …]
|
| H A D | inst.isle | 4157 ;; Lower a FloatCC to a Cond. 4158 (decl fp_cond_code (FloatCC) Cond) 4174 (decl float_cc_cmp_zero_to_vec_misc_op (FloatCC) VecMisc2) 4177 (decl float_cc_cmp_zero_to_vec_misc_op_swap (FloatCC) VecMisc2) 4181 (decl fcmp_zero_cond (FloatCC) FloatCC) 4185 (decl fcmp_zero_cond_not_eq (FloatCC) FloatCC) 4189 (decl float_cmp_zero (FloatCC Reg VectorSize) Reg) 4194 (decl float_cmp_zero_swap (FloatCC Reg VectorSize) Reg)
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/inst/ |
| H A D | args.rs | 4 use crate::ir::condcodes::{FloatCC, IntCC}; 152 pub fn from_floatcc(cc: FloatCC) -> Cond { in from_floatcc() 154 FloatCC::Ordered => 8 | 4 | 2, in from_floatcc() 155 FloatCC::Unordered => 1, in from_floatcc() 156 FloatCC::Equal => 8, in from_floatcc() 157 FloatCC::NotEqual => 4 | 2 | 1, in from_floatcc() 158 FloatCC::OrderedNotEqual => 4 | 2, in from_floatcc() 159 FloatCC::UnorderedOrEqual => 8 | 1, in from_floatcc() 160 FloatCC::LessThan => 4, in from_floatcc() 161 FloatCC::LessThanOrEqual => 8 | 4, in from_floatcc() [all …]
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower/ |
| H A D | isle.rs | 514 fn fcmp_zero_cond(&mut self, cond: &FloatCC) -> Option<FloatCC> { in fcmp_zero_cond() argument 516 &FloatCC::Equal in fcmp_zero_cond() 517 | &FloatCC::GreaterThanOrEqual in fcmp_zero_cond() 518 | &FloatCC::GreaterThan in fcmp_zero_cond() 519 | &FloatCC::LessThanOrEqual in fcmp_zero_cond() 520 | &FloatCC::LessThan => Some(*cond), in fcmp_zero_cond() 525 fn fcmp_zero_cond_not_eq(&mut self, cond: &FloatCC) -> Option<FloatCC> { in fcmp_zero_cond_not_eq() argument 527 &FloatCC::NotEqual => Some(FloatCC::NotEqual), in fcmp_zero_cond_not_eq() 541 &FloatCC::Equal => VecMisc2::Fcmeq0, in float_cc_cmp_zero_to_vec_misc_op() 545 &FloatCC::LessThan => VecMisc2::Fcmlt0, in float_cc_cmp_zero_to_vec_misc_op() [all …]
|
| /wasmtime-44.0.1/cranelift/fuzzgen/src/passes/ |
| H A D | fcvt.rs | 75 let is_nan = pos.ins().fcmp(FloatCC::NotEqual, arg, arg); in insert_fcvt_sequence() 82 let underflows = pos.ins().fcmp(FloatCC::LessThanOrEqual, arg, min); in insert_fcvt_sequence() 83 let overflows = pos.ins().fcmp(FloatCC::GreaterThanOrEqual, arg, max); in insert_fcvt_sequence()
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst/ |
| H A D | args.rs | 5 use crate::ir::condcodes::{FloatCC, IntCC}; 976 impl From<FloatCC> for FcmpImm { 977 fn from(cond: FloatCC) -> Self { in from() 979 FloatCC::Equal => FcmpImm::Equal, in from() 980 FloatCC::LessThan => FcmpImm::LessThan, in from() 981 FloatCC::LessThanOrEqual => FcmpImm::LessThanOrEqual, in from() 982 FloatCC::Unordered => FcmpImm::Unordered, in from() 983 FloatCC::NotEqual => FcmpImm::NotEqual, in from() 984 FloatCC::UnorderedOrGreaterThanOrEqual => FcmpImm::UnorderedOrGreaterThanOrEqual, in from() 985 FloatCC::UnorderedOrGreaterThan => FcmpImm::UnorderedOrGreaterThan, in from() [all …]
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/ |
| H A D | inst_vector.isle | 1741 ;; FloatCC.Equal 1752 ;; FloatCC.NotEqual 1764 ;; FloatCC.LessThan 1775 ;; FloatCC.LessThanOrEqual 1786 ;; FloatCC.GreaterThan 1797 ;; FloatCC.GreaterThanOrEqual 1808 ;; FloatCC.Ordered 1816 ;; FloatCC.Unordered 1824 ;; FloatCC.OrderedNotEqual 1832 ;; FloatCC.UnorderedOrEqual [all …]
|
| H A D | inst.isle | 3230 (decl rec fcmp_to_float_compare (FloatCC Type FReg FReg) FloatCompare) 3240 (rule 1 (fcmp_to_float_compare (FloatCC.Ordered) ty a b) 3247 (rule 1 (fcmp_to_float_compare (FloatCC.Equal) ty a b) 3252 (rule 1 (fcmp_to_float_compare (FloatCC.NotEqual) ty a b) 3256 (rule 1 (fcmp_to_float_compare (FloatCC.OrderedNotEqual) ty a b) 3260 (rule 1 (fcmp_to_float_compare (FloatCC.LessThan) ty a b) 3264 (rule 1 (fcmp_to_float_compare (FloatCC.LessThanOrEqual) ty a b) 3268 (rule 1 (fcmp_to_float_compare (FloatCC.GreaterThan) ty a b) 3272 (rule 1 (fcmp_to_float_compare (FloatCC.GreaterThanOrEqual) ty a b)
|
| /wasmtime-44.0.1/cranelift/codegen/src/ |
| H A D | isle_prelude.rs | 732 fn floatcc_swap_args(&mut self, cc: &FloatCC) -> FloatCC { 737 fn floatcc_complement(&mut self, cc: &FloatCC) -> FloatCC { 741 fn floatcc_unordered(&mut self, cc: &FloatCC) -> bool { 743 FloatCC::Unordered 744 | FloatCC::UnorderedOrEqual 745 | FloatCC::UnorderedOrLessThan 746 | FloatCC::UnorderedOrLessThanOrEqual 747 | FloatCC::UnorderedOrGreaterThan 748 | FloatCC::UnorderedOrGreaterThanOrEqual => true,
|
| H A D | nan_canonicalization.rs | 6 use crate::ir::condcodes::FloatCC; 67 let comparison = FloatCC::Unordered; in add_nan_canon_seq()
|
| H A D | prelude.isle | 337 ;; Swap args of a FloatCC flag. 338 (decl floatcc_swap_args (FloatCC) FloatCC) 341 ;; Complement a FloatCC flag. 342 (decl floatcc_complement (FloatCC) FloatCC) 345 ;; True when this FloatCC involves an unordered comparison. 346 (decl pure floatcc_unordered (FloatCC) bool)
|
| H A D | opts.rs | 6 pub use crate::ir::condcodes::{FloatCC, IntCC};
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/ |
| H A D | lower.isle | 3829 (floatcc_as_cond (FloatCC.Equal)))) 3944 (floatcc_as_cond (FloatCC.Equal)))) 3950 (floatcc_as_cond (FloatCC.Equal)))) 3956 (floatcc_as_cond (FloatCC.Equal)))) 3962 (floatcc_as_cond (FloatCC.Equal)))) 3968 (floatcc_as_cond (FloatCC.Equal)))) 3976 (floatcc_as_cond (FloatCC.Equal)))) 3982 (floatcc_as_cond (FloatCC.Equal)))) 3988 (floatcc_as_cond (FloatCC.Equal)))) 3994 (floatcc_as_cond (FloatCC.Equal)))) [all …]
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/pulley_shared/ |
| H A D | lower.isle | 914 (rule (lower_fcmp ty (FloatCC.Ordered) a b) 915 (pulley_xband32 (lower_fcmp ty (FloatCC.Equal) a a) (lower_fcmp ty (FloatCC.Equal) b b))) 919 (pulley_xbor32 (lower_fcmp ty (FloatCC.LessThan) a b) (lower_fcmp ty (FloatCC.GreaterThan) a b))) 923 (rule (lower_fcmp ty (FloatCC.GreaterThan) a b) 924 (lower_fcmp ty (FloatCC.LessThan) b a)) 926 (lower_fcmp ty (FloatCC.LessThanOrEqual) b a)) 946 (rule (lower_vfcmp ty (FloatCC.Unordered) a b) 948 (lower_vfcmp ty (FloatCC.NotEqual) a a) 949 (lower_vfcmp ty (FloatCC.NotEqual) b b))) 956 (rule (lower_vfcmp ty (FloatCC.GreaterThan) a b) [all …]
|
| /wasmtime-44.0.1/cranelift/interpreter/src/ |
| H A D | step.rs | 9 use cranelift_codegen::ir::condcodes::{FloatCC, IntCC}; 1473 fn fcmp(code: FloatCC, left: &DataValue, right: &DataValue) -> ValueResult<bool> { in fcmp() argument 1475 FloatCC::Ordered => left == right || left < right || left > right, in fcmp() 1476 FloatCC::Unordered => DataValueExt::uno(left, right)?, in fcmp() 1477 FloatCC::Equal => left == right, in fcmp() 1479 FloatCC::OrderedNotEqual => left < right || left > right, in fcmp() 1480 FloatCC::UnorderedOrEqual => left == right || DataValueExt::uno(left, right)?, in fcmp() 1481 FloatCC::LessThan => left < right, in fcmp() 1482 FloatCC::LessThanOrEqual => left <= right, in fcmp() 1483 FloatCC::GreaterThan => left > right, in fcmp() [all …]
|
| /wasmtime-44.0.1/cranelift/umbrella/src/ |
| H A D | lib.rs | 26 pub use crate::codegen::ir::condcodes::{FloatCC, IntCC};
|
| /wasmtime-44.0.1/cranelift/fuzzgen/src/ |
| H A D | function_generator.rs | 20 ExtFuncData, FloatCC, InstBuilder, IntCC, JumpTableData, MemFlags, StackSlotData, StackSlotKind, 192 let cc = *fgen.u.choose(FloatCC::all())?; in insert_cmp() 200 (Architecture::Aarch64(_), FloatCC::OrderedNotEqual) => true, in insert_cmp() 201 (Architecture::Aarch64(_), FloatCC::UnorderedOrEqual) => true, in insert_cmp() 204 (Architecture::Aarch64(_), FloatCC::UnorderedOrLessThan) in insert_cmp() 205 | (Architecture::Aarch64(_), FloatCC::UnorderedOrLessThanOrEqual) in insert_cmp() 206 | (Architecture::Aarch64(_), FloatCC::UnorderedOrGreaterThan) in insert_cmp() 207 | (Architecture::Aarch64(_), FloatCC::UnorderedOrGreaterThanOrEqual) => { in insert_cmp() 212 (Architecture::X86_64, FloatCC::UnorderedOrEqual | FloatCC::OrderedNotEqual) => { in insert_cmp()
|
| /wasmtime-44.0.1/crates/cranelift/src/translate/ |
| H A D | code_translator.rs | 84 use cranelift_codegen::ir::condcodes::{FloatCC, IntCC}; 1343 translate_fcmp(FloatCC::GreaterThanOrEqual, builder, environ) in translate_operator() 1347 translate_fcmp(FloatCC::LessThanOrEqual, builder, environ) in translate_operator() 2029 translate_vector_fcmp(FloatCC::Equal, type_of(op), builder, environ) in translate_operator() 2032 translate_vector_fcmp(FloatCC::NotEqual, type_of(op), builder, environ) in translate_operator() 2035 translate_vector_fcmp(FloatCC::LessThan, type_of(op), builder, environ) in translate_operator() 2079 let cmp = builder.ins().fcmp(FloatCC::LessThan, a, b); in translate_operator() 2091 let cmp = builder.ins().fcmp(FloatCC::LessThan, b, a); in translate_operator() 2440 let cmp = builder.ins().fcmp(FloatCC::LessThan, a, b); in translate_operator() 2459 let cmp = builder.ins().fcmp(FloatCC::LessThan, b, a); in translate_operator() [all …]
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/x64/ |
| H A D | lower.isle | 2149 (rule (lower (fcmp _ (FloatCC.Equal) a @ (value_type (ty_vec128 ty)) b)) 2151 (rule (lower (fcmp _ (FloatCC.NotEqual) a @ (value_type (ty_vec128 ty)) b)) 2153 (rule (lower (fcmp _ (FloatCC.LessThan) a @ (value_type (ty_vec128 ty)) b)) 2155 (rule (lower (fcmp _ (FloatCC.LessThanOrEqual) a @ (value_type (ty_vec128 ty)) b)) 2157 (rule (lower (fcmp _ (FloatCC.Ordered) a @ (value_type (ty_vec128 ty)) b)) 2159 (rule (lower (fcmp _ (FloatCC.Unordered) a @ (value_type (ty_vec128 ty)) b)) 2169 (rule (lower (fcmp _ (FloatCC.GreaterThan) a @ (value_type (ty_vec128 ty)) b)) 2171 (rule (lower (fcmp _ (FloatCC.GreaterThanOrEqual) a @ (value_type (ty_vec128 ty)) b)) 2173 (rule (lower (fcmp _ (FloatCC.UnorderedOrLessThan) a @ (value_type (ty_vec128 ty)) b)) 2179 ;; - FloatCC::OrderedNotEqual [all …]
|
| H A D | inst.isle | 3593 (decl emit_fcmp (FloatCC Value Value) CondResult) 3595 (rule (emit_fcmp (FloatCC.Equal) a @ (value_type (ty_scalar_float ty)) b) 3598 (rule (emit_fcmp (FloatCC.NotEqual) a @ (value_type (ty_scalar_float ty)) b) 3603 (rule (emit_fcmp (FloatCC.Ordered) a @ (value_type (ty_scalar_float ty)) b) 3605 (rule (emit_fcmp (FloatCC.Unordered) a @ (value_type (ty_scalar_float ty)) b) 3607 (rule (emit_fcmp (FloatCC.OrderedNotEqual) a @ (value_type (ty_scalar_float ty)) b) 3609 (rule (emit_fcmp (FloatCC.UnorderedOrEqual) a @ (value_type (ty_scalar_float ty)) b) 3611 (rule (emit_fcmp (FloatCC.GreaterThan) a @ (value_type (ty_scalar_float ty)) b) 3613 (rule (emit_fcmp (FloatCC.GreaterThanOrEqual) a @ (value_type (ty_scalar_float ty)) b) 3623 (rule (emit_fcmp (FloatCC.LessThan) a @ (value_type (ty_scalar_float ty)) b) [all …]
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/lower/ |
| H A D | isle.rs | 596 fn floatcc_as_cond(&mut self, cc: &FloatCC) -> Cond { in floatcc_as_cond()
|
| /wasmtime-44.0.1/crates/cranelift/src/ |
| H A D | func_environ.rs | 12 use cranelift_codegen::ir::condcodes::{FloatCC, IntCC}; 1014 let isnan = builder.ins().fcmp(FloatCC::NotEqual, val, val); in guard_fcvt_to_int() 1021 .fcmp(FloatCC::LessThanOrEqual, val, lower_bound); in guard_fcvt_to_int() 1026 .fcmp(FloatCC::GreaterThanOrEqual, val, upper_bound); in guard_fcvt_to_int()
|
| /wasmtime-44.0.1/cranelift/codegen/src/isa/x64/lower/ |
| H A D | isle.rs | 11 use crate::ir::condcodes::{FloatCC, IntCC};
|