Here is a list of all the instructions: http://ref.x86asm.net
As x86(_64) is a CISC processor, it has a big instruction set, but the compilers, unless you are optimizing, only use a "small" subset of it. You can check that disassembling binaries with objdump or your preferred disassembler.