Architekturu Core2 Duo neznam, ale na predchozich cipech to bylo tak, ze LEA byla vykonavana v AGU, zatimco ADD v ALU, takze ne ze by LEA byla nejak extra rychlejsi, ale vypocet se dokazal provest uz v decode fazi a navic bez zatizeni ALU (+cekani na vysledek). Ale dneska uz to asi chce benchmark, chovani modernich cipu je slozite :)
Ono je to slozitejsi. Napriklad ve zdrojacich GCC je "...it is ok to optimize an ADD operation to LEA operation to avoid flag register consumation. For most processors, ADD is faster than LEA. For the processors like ATOM, if the destination register of LEA holds an actual address which will be used soon, LEA is better and otherwise ADD is better." Vzhledem k tomu, ze u patche je podepsan clovek @intel.com asi bych to bral jako docela duveryhodnou informaci.
GCC jeste dela to, ze se diva, jestli AGU bude nebo nebude pouzivat jina instrukce a pripadne pouzije LEA nebo ADD. Hrozna alchymie.