Those who claim that there's not much difference between C and assembly language have never run into a true CISC machine--or perhaps they rely only on libraries someone else has written.
Writing a true global optimizing compiler that generates code as good as assembly is a nearly impossible task. When you are dealing with a target machine with a large CISC set, it's really tough. Speaking from experience, again. --Chuck