Я предлагаю также использовать -fverbose-asm
, потому что тогда у сгенерированного ассемблера есть несколько сгенерированных комментариев, которые «объясняют» код.Например:
gcc -S -fverbose-asm -O2 foo.c
сгенерирует в foo.s
(с некоторыми комментариями) код ассемблера, созданный путем компиляции foo.c
. И понять, что делают оптимизации GCC, можно дажепопробуйте -fdump-tree-all
(но при этом получается сотни файлов!).