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