{ FS_OPT_NOT_CMP, "algebraic simplification: !(a cmp b) = a !cmp b" },
{ FS_OPT_OR_SHFT_TO_ROT, "algebraic simplification: (x << c) | (x >> (bits - c)) == Rot(x, c)" },
{ FS_OPT_REASSOC_SHIFT, "algebraic simplification: (x SHF c1) SHF c2 = x SHF (c1+c2)" },
+ { FS_OPT_SHIFT_AND, "algebraic simplification: (a SHF c) AND (b SHF c) = (a AND b) SHF c" },
+ { FS_OPT_SHIFT_OR, "algebraic simplification: (a SHF c) OR (b SHF c) = (a OR b) SHF c" },
+ { FS_OPT_SHIFT_EOR, "algebraic simplification: (a SHF c) XOR (b SHF c) = (a XOR b) SHF c" },
{ FS_OPT_CONV, "algebraic simplification: Conv could be removed" },
{ FS_OPT_CAST, "algebraic simplification: a Cast could be removed" },
{ FS_OPT_MIN_MAX_EQ, "algebraic simplification: Min(a,a) = Max(a,a) = a" },
{ FS_OPT_MUX_TO_MAX, "algebraic simplification: Mux(a > b, a, b) = Max(a,b)" },
{ FS_OPT_MUX_TO_ABS, "algebraic simplification: Mux(a > b, a, b) = Abs(a,b)" },
{ FS_OPT_MUX_TO_SHR, "algebraic simplification: Mux(a > b, a, b) = a >> b" },
+ { FS_OPT_IDEM_UNARY, "algebraic simplification: Idempotent unary operation" },
+ { FS_OPT_MINUS_NOT, "algebraic simplification: -(~x) = x + 1" },
+ { FS_OPT_NOT_MINUS_1, "algebraic simplification: ~(x - 1) = -x" },
+ { FS_OPT_NOT_PLUS_1, "algebraic simplification: ~x + 1 = -x" },
+ { FS_OPT_FP_INV_MUL, "algebraic simplification: x / y = x * (1.0/y)" },
{ FS_OPT_CONST_PHI, "constant evaluation on Phi node" },
{ FS_BE_IA32_LEA, "ia32 Backend transformation: Lea was created" },
{ FS_BE_IA32_LOAD_LEA, "ia32 Backend transformation: Load merged with a Lea" },