Let's see what our compilers are compiling to.
- General compiler remarks
- GCC
- C
- hello_world.c
- Functions
- function_int_int_int.c
- return_struct.c
- switch
- switch3.c
- switch6.c
- switch6_spread.c
- switch6_very_spread.c
- Cast int to long
- Floating point
float_sum.c
float2int.c
sqrt.c
- Optimization
- for_empty.c
- while_infinite.c
- use_rax_return.c
- restrict.c
- builtin_no_side_effect.c
- builtin_inline.c
- CSE
- CSE function
- CSE large function
- Branch prediction
- __builtin_expect
- __builtin_expect off
- Precalculate loop
- Precalculate loop without init
- Bound simplficiation
- C++
- class
- template
- constexpr.cpp
- atomic.cpp
- this_method.cpp
- virtual.cpp
- libc
- memcmp.c
- ELF sections
- bss.c
- bss_static.c
- common.c
- data.c
TODO
- Optimizations
- Strength reduction, like multiplication to lea https://en.wikipedia.org/wiki/Strength_reduction