L'opzione -march specifica quale assembler deve essere utilizzato durante la compilazione a seconda dell'architettura su cui si intende eseguire il programma.
Erroneamente viene spesso chiamato "assembler", ma quest'ultimo termine identifica solo il programma "assemblatore" che converte il linguaggio assembly in linguaggio macchina.