AMD make a few critical errors.
1) They HAD a chip which would have been a perfect way to get into the smartphone market, and sold it off.
2) They misinterpreted the server market by focusing on multiple cores, with multithreading as the core aspect of server applications. Yet, ignored single thread applications. The AMD cores can do multithread applications exceptionally well, but their single cores do not have the proper cache levels (L1, L2) to not have major delays due to pre-fetch calculation misses.
3) They also went too far multithread for desktop/laptop market. Having 8 cores is grand. Yet, 90+% of all the programs, games, and applications use 2 cores or less. The OS (Microsoft) is still not capable of properly, and efficiently, forcing multiple threads on programs.
4) They paid way too much, with way too high interest rates on loans, for ATI.