В ассемблере, думаю, вообще не имкют смысла практически никакие оптимизации, т.к. сама суть языка в том, чтобы дать максимальную свободу в плане грязных хаков по типу генерации кода на ходу или прыжков на метки, подсчитанные динамически. Транслятор не может эти хаки идентифицировать (теорема Райса) поэтому оптимизаций, которые могут их сломать, делать не имеет права.
Ассемблер это прежде всего контроль, а остальное это побочные эффекты.