+class Cast(Unop):
+ mode = "get_irn_mode(irn_op)"
+ flags = [ "highlevel" ]
+ attrs = [
+ dict(
+ type = "ir_type*",
+ name = "type"
+ )
+ ]
+ attr_struct = "cast_attr"
+ init = "assert(is_atomic_type(type));"
+
+class Cmp(Binop):
+ outs = [
+ ("False", "always false"),
+ ("Eq", "equal"),
+ ("Lt", "less"),
+ ("Le", "less or equal"),
+ ("Gt", "greater"),
+ ("Ge", "greater or equal"),
+ ("Lg", "less or greater"),
+ ("Leg", "less, equal or greater ('not equal' for integer numbers)"),
+ ("Uo", "unordered"),
+ ("Ue", "unordered or equal"),
+ ("Ul", "unordered or less"),
+ ("Ule", "unordered, less or equal"),
+ ("Ug", "unordered or greater"),
+ ("Uge", "onordered, greater or equal"),
+ ("Ne", "unordered, less, greater or equal ('not equal' for floatingpoint numbers)"),
+ ("True", "always true"),
+ ]
+ flags = []