I know that the push instruction in x86_64 can push the value of various source operands onto the stack. So far I've compiled a lot of different C programs and then inspected the executables. None of them uses the push instructions other than for "pushq %rbp".
Why is that ?