Home
last modified time | relevance | path

Searched refs:FloatCC (Results 1 – 25 of 28) sorted by relevance

12

/wasmtime-44.0.1/cranelift/codegen/src/ir/
H A Dcondcodes.rs199 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 Dinstructions.rs23 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 Dlower.rs11 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 Dinst.isle4157 ;; 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 Dargs.rs4 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 Disle.rs514 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 Dfcvt.rs75 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 Dargs.rs5 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 Dinst_vector.isle1741 ;; 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 Dinst.isle3230 (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 Disle_prelude.rs732 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 Dnan_canonicalization.rs6 use crate::ir::condcodes::FloatCC;
67 let comparison = FloatCC::Unordered; in add_nan_canon_seq()
H A Dprelude.isle337 ;; 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 Dopts.rs6 pub use crate::ir::condcodes::{FloatCC, IntCC};
/wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/
H A Dlower.isle3829 (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 Dlower.isle914 (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 Dstep.rs9 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 Dlib.rs26 pub use crate::codegen::ir::condcodes::{FloatCC, IntCC};
/wasmtime-44.0.1/cranelift/fuzzgen/src/
H A Dfunction_generator.rs20 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 Dcode_translator.rs84 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 Dlower.isle2149 (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 Dinst.isle3593 (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 Disle.rs596 fn floatcc_as_cond(&mut self, cc: &FloatCC) -> Cond { in floatcc_as_cond()
/wasmtime-44.0.1/crates/cranelift/src/
H A Dfunc_environ.rs12 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 Disle.rs11 use crate::ir::condcodes::{FloatCC, IntCC};

12