Home
last modified time | relevance | path

Searched refs:IntCC (Results 1 – 25 of 53) sorted by relevance

123

/wasmtime-44.0.1/cranelift/codegen/src/ir/
H A Dcondcodes.rs37 pub enum IntCC { enum
60 impl CondCode for IntCC { implementation
62 use self::IntCC::*; in complement()
78 use self::IntCC::*; in swap_args()
94 impl IntCC { implementation
98 IntCC::Equal, in all()
114 use self::IntCC::*; in without_equal()
127 use self::IntCC::*; in unsigned()
139 use self::IntCC::*; in to_static_str()
155 impl Display for IntCC { implementation
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/
H A Dlower.rs11 use crate::ir::condcodes::{FloatCC, IntCC};
54 pub(crate) fn lower_condcode(cc: IntCC) -> Cond { in lower_condcode()
56 IntCC::Equal => Cond::Eq, in lower_condcode()
57 IntCC::NotEqual => Cond::Ne, in lower_condcode()
58 IntCC::SignedGreaterThanOrEqual => Cond::Ge, in lower_condcode()
59 IntCC::SignedGreaterThan => Cond::Gt, in lower_condcode()
60 IntCC::SignedLessThanOrEqual => Cond::Le, in lower_condcode()
61 IntCC::SignedLessThan => Cond::Lt, in lower_condcode()
63 IntCC::UnsignedGreaterThan => Cond::Hi, in lower_condcode()
64 IntCC::UnsignedLessThanOrEqual => Cond::Ls, in lower_condcode()
[all …]
H A Dinst.isle4164 (decl cond_code (IntCC) Cond)
4211 (decl icmp_zero_cond (IntCC) IntCC)
4215 (decl icmp_zero_cond_not_eq (IntCC) IntCC)
4656 (= cc (IntCC.Equal))
4657 (= cc (IntCC.NotEqual))
4730 (= c (IntCC.Equal))
4731 (= c (IntCC.NotEqual))
4770 (= c (IntCC.Equal))
4771 (= c (IntCC.NotEqual))
4813 (= c (IntCC.Equal))
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/inst/
H A Dargs.rs4 use crate::ir::condcodes::{FloatCC, IntCC};
136 pub fn from_intcc(cc: IntCC) -> Cond { in from_intcc()
138 IntCC::Equal => 8, in from_intcc()
139 IntCC::NotEqual => 4 | 2, in from_intcc()
140 IntCC::SignedGreaterThanOrEqual => 8 | 2, in from_intcc()
141 IntCC::SignedGreaterThan => 2, in from_intcc()
142 IntCC::SignedLessThanOrEqual => 8 | 4, in from_intcc()
143 IntCC::SignedLessThan => 4, in from_intcc()
145 IntCC::UnsignedGreaterThan => 2, in from_intcc()
146 IntCC::UnsignedLessThanOrEqual => 8 | 4, in from_intcc()
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/
H A Dinst_specs.isle3 (model IntCC (enum
61 (= c (IntCC.Equal))
62 (= c (IntCC.NotEqual))
63 (= c (IntCC.UnsignedGreaterThanOrEqual))
64 (= c (IntCC.UnsignedGreaterThan))
65 (= c (IntCC.UnsignedLessThanOrEqual))
66 (= c (IntCC.UnsignedLessThan))
67 (= c (IntCC.SignedGreaterThanOrEqual))
68 (= c (IntCC.SignedGreaterThan))
69 (= c (IntCC.SignedLessThanOrEqual))
[all …]
H A Disle_prelude.rs200 IntCC::Equal => ux == uy,
201 IntCC::NotEqual => ux != uy,
696 fn intcc_unsigned(&mut self, x: &IntCC) -> IntCC {
701 fn signed_cond_code(&mut self, cc: &IntCC) -> Option<IntCC> {
703 IntCC::Equal
707 | IntCC::UnsignedLessThan
708 | IntCC::NotEqual => None,
710 | IntCC::SignedGreaterThan
717 fn intcc_swap_args(&mut self, cc: &IntCC) -> IntCC {
722 fn intcc_complement(&mut self, cc: &IntCC) -> IntCC {
[all …]
H A Dprelude_opt.isle39 (rule (eq ty x y) (icmp ty (IntCC.Equal) x y))
40 (rule (ne ty x y) (icmp ty (IntCC.NotEqual) x y))
41 (rule (ult ty x y) (icmp ty (IntCC.UnsignedLessThan) x y))
42 (rule (ule ty x y) (icmp ty (IntCC.UnsignedLessThanOrEqual) x y))
43 (rule (ugt ty x y) (icmp ty (IntCC.UnsignedGreaterThan) x y))
45 (rule (slt ty x y) (icmp ty (IntCC.SignedLessThan) x y))
46 (rule (sle ty x y) (icmp ty (IntCC.SignedLessThanOrEqual) x y))
47 (rule (sgt ty x y) (icmp ty (IntCC.SignedGreaterThan) x y))
190 (extractor (eq ty x y) (icmp ty (IntCC.Equal) x y))
193 (extractor (ne ty x y) (icmp ty (IntCC.NotEqual) x y))
[all …]
H A Dprelude.isle105 (decl pure imm64_icmp (Type IntCC Imm64 Imm64) Imm64)
323 ;; Swap args of an IntCC flag.
324 (decl intcc_swap_args (IntCC) IntCC)
327 ;; Complement an IntCC flag.
328 (decl intcc_complement (IntCC) IntCC)
331 ;; This is a direct import of `IntCC::without_equal`.
332 ;; Get the corresponding IntCC with the equal component removed.
334 (decl pure intcc_without_eq (IntCC) IntCC)
566 ;; This is a direct import of `IntCC::unsigned`.
569 (decl pure intcc_unsigned (IntCC) IntCC)
[all …]
H A Dsouper_harvest.rs438 ir::condcodes::IntCC::Equal => ast::Instruction::Eq { a, b }.into(), in harvest_candidate_lhs()
439 ir::condcodes::IntCC::NotEqual => ast::Instruction::Ne { a, b }.into(), in harvest_candidate_lhs()
440 ir::condcodes::IntCC::UnsignedLessThan => { in harvest_candidate_lhs()
443 ir::condcodes::IntCC::SignedLessThan => { in harvest_candidate_lhs()
446 ir::condcodes::IntCC::UnsignedLessThanOrEqual => { in harvest_candidate_lhs()
449 ir::condcodes::IntCC::SignedLessThanOrEqual => { in harvest_candidate_lhs()
/wasmtime-44.0.1/cranelift/codegen/src/isa/aarch64/lower/
H A Disle.rs503 fn icmp_zero_cond(&mut self, cond: &IntCC) -> Option<IntCC> { in icmp_zero_cond() argument
505 &IntCC::Equal in icmp_zero_cond()
506 | &IntCC::SignedGreaterThanOrEqual in icmp_zero_cond()
507 | &IntCC::SignedGreaterThan in icmp_zero_cond()
508 | &IntCC::SignedLessThanOrEqual in icmp_zero_cond()
509 | &IntCC::SignedLessThan => Some(*cond), in icmp_zero_cond()
532 fn icmp_zero_cond_not_eq(&mut self, cond: &IntCC) -> Option<IntCC> { in icmp_zero_cond_not_eq() argument
534 &IntCC::NotEqual => Some(IntCC::NotEqual), in icmp_zero_cond_not_eq()
552 &IntCC::Equal => VecMisc2::Cmeq0, in int_cc_cmp_zero_to_vec_misc_op()
556 &IntCC::SignedLessThan => VecMisc2::Cmlt0, in int_cc_cmp_zero_to_vec_misc_op()
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/opts/
H A Dicmp.isle211 (decl pure partial intcc_comparable (IntCC IntCC) bool)
216 (decl pure decompose_intcc (IntCC) u64)
217 (rule (decompose_intcc (IntCC.Equal)) 1)
219 (rule (decompose_intcc (IntCC.SignedLessThan)) 2)
226 (rule (decompose_intcc (IntCC.NotEqual)) 6)
242 (decl pure intcc_class (IntCC) u64)
243 (rule (intcc_class (IntCC.UnsignedLessThan)) 1)
247 (rule (intcc_class (IntCC.SignedLessThan)) 2)
249 (rule (intcc_class (IntCC.SignedGreaterThan)) 2)
251 (rule (intcc_class (IntCC.Equal)) 3)
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/isa/pulley_shared/
H A Dlower.isle28 (decl lower_cond_icmp32 (IntCC Value Value) Cond)
62 (decl lower_cond_icmp64 (IntCC Value Value) Cond)
745 (decl rec lower_icmp (Type IntCC Value Value) XReg)
747 (rule (lower_icmp $I64 (IntCC.Equal) a b)
750 (rule (lower_icmp $I64 (IntCC.NotEqual) a b)
753 (rule (lower_icmp $I64 (IntCC.SignedLessThan) a b)
785 (rule (lower_icmp ty (IntCC.SignedGreaterThan) a b)
786 (lower_icmp ty (IntCC.SignedLessThan) b a))
803 (rule (lower_icmp $I128 (IntCC.Equal) x y)
807 (rule (lower_icmp $I128 (IntCC.NotEqual) x y)
[all …]
/wasmtime-44.0.1/cranelift/fuzzgen/src/passes/
H A Dint_divz.rs5 use cranelift::prelude::{InstBuilder, IntCC};
50 let denominator_is_zero = pos.ins().icmp(IntCC::Equal, rhs, zero); in insert_int_divz_sequence()
62 let lhs_check = pos.ins().icmp(IntCC::Equal, lhs, int_min); in insert_int_divz_sequence()
63 let rhs_check = pos.ins().icmp(IntCC::Equal, rhs, neg_one); in insert_int_divz_sequence()
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/inst/
H A Dargs.rs216 pub(crate) kind: IntCC,
257 IntCC::Equal => (BranchFunct3::Eq, false), in funct3()
276 IntCC::Equal => "beq", in op_name()
277 IntCC::NotEqual => "bne", in op_name()
278 IntCC::SignedLessThan => "blt", in op_name()
279 IntCC::SignedGreaterThanOrEqual => "bge", in op_name()
280 IntCC::SignedGreaterThan => "bgt", in op_name()
281 IntCC::SignedLessThanOrEqual => "ble", in op_name()
282 IntCC::UnsignedLessThan => "bltu", in op_name()
284 IntCC::UnsignedGreaterThan => "bgtu", in op_name()
[all …]
H A Demit.rs1463 kind: IntCC::UnsignedLessThan, in emit_uncompressed()
1762 kind: IntCC::NotEqual, in emit_uncompressed()
1799 kind: IntCC::NotEqual, in emit_uncompressed()
2004 kind: IntCC::NotEqual, in emit_uncompressed()
2271 kind: IntCC::SignedLessThanOrEqual, in emit_uncompressed()
2291 kind: IntCC::Equal, in emit_uncompressed()
2357 kind: IntCC::SignedLessThanOrEqual, in emit_uncompressed()
2376 kind: IntCC::NotEqual, in emit_uncompressed()
2450 kind: IntCC::SignedLessThanOrEqual, in emit_uncompressed()
2470 kind: IntCC::Equal, in emit_uncompressed()
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/isa/s390x/lower/
H A Disle.rs921 fn condcode_is_signed(cc: IntCC) -> bool { in condcode_is_signed()
923 IntCC::Equal => false, in condcode_is_signed()
924 IntCC::NotEqual => false, in condcode_is_signed()
925 IntCC::SignedGreaterThanOrEqual => true, in condcode_is_signed()
926 IntCC::SignedGreaterThan => true, in condcode_is_signed()
927 IntCC::SignedLessThanOrEqual => true, in condcode_is_signed()
928 IntCC::SignedLessThan => true, in condcode_is_signed()
929 IntCC::UnsignedGreaterThanOrEqual => false, in condcode_is_signed()
930 IntCC::UnsignedGreaterThan => false, in condcode_is_signed()
931 IntCC::UnsignedLessThanOrEqual => false, in condcode_is_signed()
[all …]
/wasmtime-44.0.1/cranelift/codegen/src/isa/x64/inst/
H A Dargs.rs5 use crate::ir::condcodes::{FloatCC, IntCC};
869 pub(crate) fn from_intcc(intcc: IntCC) -> Self { in from_intcc()
871 IntCC::Equal => CC::Z, in from_intcc()
872 IntCC::NotEqual => CC::NZ, in from_intcc()
873 IntCC::SignedGreaterThanOrEqual => CC::NL, in from_intcc()
874 IntCC::SignedGreaterThan => CC::NLE, in from_intcc()
875 IntCC::SignedLessThanOrEqual => CC::LE, in from_intcc()
876 IntCC::SignedLessThan => CC::L, in from_intcc()
878 IntCC::UnsignedGreaterThan => CC::NBE, in from_intcc()
879 IntCC::UnsignedLessThanOrEqual => CC::BE, in from_intcc()
[all …]
/wasmtime-44.0.1/crates/cranelift/src/
H A Dbounds_checks.rs31 ir::{self, InstBuilder, RelSourceLoc, condcodes::IntCC},
222 |builder: &mut FunctionBuilder, compare_kind: IntCC, lhs: ir::Value, rhs: ir::Value| { in bounds_check_field_access()
360 IntCC::UnsignedGreaterThan, in bounds_check_field_access()
388 let oob = make_compare(builder, IntCC::UnsignedGreaterThanOrEqual, index, bound); in bounds_check_field_access()
428 let oob = make_compare(builder, IntCC::UnsignedGreaterThan, index, bound); in bounds_check_field_access()
453 let oob = make_compare(builder, IntCC::UnsignedGreaterThan, index, adjusted_bound); in bounds_check_field_access()
478 let oob = make_compare(builder, IntCC::UnsignedGreaterThan, adjusted_index, bound); in bounds_check_field_access()
H A Dtrap.rs4 use cranelift_codegen::ir::condcodes::IntCC;
61 let cmp = builder.ins().icmp(IntCC::Equal, value, zero); in trapz()
72 let cmp = builder.ins().icmp(IntCC::NotEqual, value, zero); in trapnz()
/wasmtime-44.0.1/cranelift/frontend/src/
H A Dswitch.rs4 use cranelift_codegen::ir::condcodes::IntCC;
140 icmp_imm_u128(bx, IntCC::UnsignedGreaterThanOrEqual, val, first_index); in build_search_tree()
177 let is_good_val = icmp_imm_u128(bx, IntCC::Equal, val, range.first_index); in build_search_branches()
182 IntCC::UnsignedGreaterThanOrEqual, in build_search_branches()
244 .icmp_imm(IntCC::UnsignedGreaterThan, discr, u32::MAX as i64); in build_jump_table()
281 fn icmp_imm_u128(bx: &mut FunctionBuilder, cond: IntCC, x: Value, y: u128) -> Value { in icmp_imm_u128() argument
/wasmtime-44.0.1/cranelift/codegen/src/isa/riscv64/
H A Dinst_vector.isle1585 (decl gen_icmp_mask (Type IntCC Value Value) VReg)
1587 ;; IntCC.Equal
1606 ;; IntCC.NotEqual
1625 ;; IntCC.UnsignedLessThan
1640 ;; IntCC.SignedLessThan
1655 ;; IntCC.UnsignedLessThanOrEqual
1667 ;; IntCC.SignedLessThanOrEqual
1679 ;; IntCC.UnsignedGreaterThan
1694 ;; IntCC.SignedGreaterThan
1709 ;; IntCC.UnsignedGreaterThanOrEqual
[all …]
H A Dinst.isle130 (cc IntCC)
2675 (if-let (IntCC.UnsignedLessThan) (intcc_without_eq cc))
2680 (if-let (IntCC.SignedLessThan) (intcc_without_eq cc))
2690 (if-let (IntCC.SignedGreaterThan) (intcc_without_eq cc))
2859 (decl int_compare (IntCC XReg XReg) IntegerCompare)
2956 ;; using `IntCC`.
2960 (decl put_value_in_reg_for_icmp (IntCC Value) XReg)
3073 (decl gen_trapif (IntCC XReg XReg TrapCode) InstOutput)
3085 (gen_trapif (IntCC.Equal) test (zero_reg) trap_code))
3093 (decl zero_cond_to_cc (ZeroCond) IntCC)
[all …]
/wasmtime-44.0.1/crates/cranelift/src/translate/
H A Dtable.rs4 use cranelift_codegen::ir::{self, InstBuilder, condcodes::IntCC, immediates::Imm64};
79 .icmp(IntCC::UnsignedGreaterThanOrEqual, index, bound); in prepare_table_addr()
/wasmtime-44.0.1/cranelift/interpreter/src/
H A Dstep.rs9 use cranelift_codegen::ir::condcodes::{FloatCC, IntCC};
1424 code: IntCC, in icmp() argument
1429 code: IntCC, in icmp()
1435 IntCC::Equal => left == right, in icmp()
1436 IntCC::NotEqual => left != right, in icmp()
1437 IntCC::SignedGreaterThan => left > right, in icmp()
1439 IntCC::SignedLessThan => left < right, in icmp()
1441 IntCC::UnsignedGreaterThan => { in icmp()
1444 IntCC::UnsignedGreaterThanOrEqual => { in icmp()
1447 IntCC::UnsignedLessThan => { in icmp()
[all …]
/wasmtime-44.0.1/cranelift/umbrella/src/
H A Dlib.rs26 pub use crate::codegen::ir::condcodes::{FloatCC, IntCC};

123