Skip to main content

luaur_code_gen/functions/
get_condition_int_64.rs

1use crate::enums::condition_a_64::ConditionA64;
2use crate::enums::ir_condition::IrCondition;
3
4#[inline]
5pub fn get_condition_int_64(cond: IrCondition) -> ConditionA64 {
6    match cond {
7        IrCondition::Equal => ConditionA64::Equal,
8        IrCondition::NotEqual => ConditionA64::NotEqual,
9        IrCondition::Less => ConditionA64::Less,
10        IrCondition::NotLess => ConditionA64::GreaterEqual,
11        IrCondition::LessEqual => ConditionA64::LessEqual,
12        IrCondition::NotLessEqual => ConditionA64::Greater,
13        IrCondition::Greater => ConditionA64::Greater,
14        IrCondition::NotGreater => ConditionA64::LessEqual,
15        IrCondition::GreaterEqual => ConditionA64::GreaterEqual,
16        IrCondition::NotGreaterEqual => ConditionA64::Less,
17        IrCondition::UnsignedLess => ConditionA64::CarryClear,
18        IrCondition::UnsignedLessEqual => ConditionA64::UnsignedLessEqual,
19        IrCondition::UnsignedGreater => ConditionA64::UnsignedGreater,
20        IrCondition::UnsignedGreaterEqual => ConditionA64::CarrySet,
21        _ => {
22            debug_assert!(false, "Unexpected condition code");
23            ConditionA64::Always
24        }
25    }
26}