 TCC performs a few optimizations, such as constant propagation for all operations, multiplications and divisions are optimized to shifts when appropriate, and comparison operators are specially optimized (by maintaining a special cache for the processor flags).It also does some simple register allocation, which prevents many extraneous save/load pairs inside a single statement.Here are two benchmark examples