The output is going to vary from compiler to compiler, including from one gcc version to another from one gcc on one distro to another, or on the same machine. Basically the answer is yes, the output can and will vary widely. Saying that you may not find the difference at first depending on the code and depending on your compiler options, but the more different machines you try, 32 bit machines and 64 bit, subtle update differences in the same distro, etc. A common misunderstanding is that the C source code is the end of it, the program is done, performance is complete, etc. The reality is there are significant number of variations left going from C to binary even on the same machine with the same compiler, each variation has features and problems, debuggable or not, performance or not, bugs from the compiler or not. with a big enough program it is easy to demonstrate several times performance increase by using different switches on the compiler or using a better compiler.
It does not matter if you are compiling to asm or an object (which depending on the compiler can and will stop at a temporary asm file that is assembled and then the intermediate files discarded), the order and choice of instructions will vary. Even a somewhat simple program try with or without the debug stuff (-g I think it is, I NEVER use it), and the various optimization levels -O0, -O1, -O2, -O3. 8 combinations right there, you should get a few different results, particularly from no optimization to some optimization.