como um código ASM pode ser menos eficiente que um código ASM?
Isso é simples, é só escrever um código ineficiente em ASM. Não é o fato da linguagem rodar no metal que ela vai ser sempre eficiente, se o programador não for experiente, ele consegue escrever um código em ASM que pode ser muito menos eficiente que um gerado pelo compilador.
A questão é que, como havia citado, quando pensamos em ASM para um processador mais simples, como um PIC16, por exemplo, com suas 35 instruções, é difícil imaginar que um compilador consiga fazer um código mais eficiente que uma pessoa. Mas se você pegar um processador mais atual, como um ARM recente, ou um MIPS, ou um X86, vai se perder no meio de tanta instrução e de condicionais de instrução. E como essas coisas mudam o tempo todo, se uma pessoa se especializa num modelo exato de set de instruções de um processador, o profissional fica obsoleto rapidamente porque no dia seguinte saiu no mercado um novo modelo de processador com outro set de instruções.
Associado a isso, os compiladores C carregam nas costas décadas de experiência, e estruturas de código que são muito utilizadas (como for's, switch's, if's, etc) possuem algoritmos e macetes de geração de código, que muitas vezes é difícil do programador ASM conhecer a todos.
Por estes motivos, o artigo mostrava que EM MUITOS CASOS os códigos gerados pelo compilador conseguiam ser mais eficientes que os feitos por uma pessoa, devido à complexidade dos sets de instruções dos processadores atuais.
O que o artigo defende é que, generalizando a coisa, é mais adequado o programador se especializar em escrever código em C que vai gerar um resultado eficiente, do que se especializar em programas em ASM prá gerar um código mais eficiente que o compilador. E que vale mais a pena prá empresa que contrata programadores, que ofereça ferramentas de compilação otimizados e contrate programadores que saibam gerar código eficiente usando a ferramenta de compilação. O artigo defende que a probabilidade de se obter melhores resultados assim é maior. Obviamente, quando se trata de probabilidade, não afirma que é uma certeza, muito menos que se aplica a toda e qualquer situação.
98% das vezes estou certo, e não estou nem aí pros outros 3%.