The compilation phase takes the preprocessed code and translates it into assembly language

Most compilers also perform heavy optimization in this phase, typically configurable as an optimization level through command line switches such as options -O0 through -O3 in gcc

You can do this using the -S flag (.s is a conventional extension for assembly files).

You also pass the option -masm=intel to gcc so that it emits assembly in Intel syntax rather than the default AT&T syntax.