-march = core2 deve ser o correto. você sempre pode comparar o código com cada um. Além disso, você pode achar que o compilador open64 pode ser melhor para otimizar seu código. O gcc é ótimo porque funciona em muitas plataformas, mas não é o mais poderoso quando se trata de produzir código super otimizado. Eu estou supondo que é realmente o que você está indo, caso contrário, você iria apenas usar o i686 para o arco.