Thanks for setting this out clearly, I've seen most of it (from Andi, I think) in bits, and one of the scheduler folk had a comment relevant to scheduling which I can't find now, but this is both technical and historical, and thus a nice thing to hand to someone with a related question.As far as I can work out, an x86_32 kernel will use "int 0x80" and "sysenter" for system calls. 64-bit kernel will use just "syscall" for 64-bit processes (though you can use "int 0x80" to access the 32-bit syscall interface from a 64-bit process), but will allow "sysenter", "syscall" or "int 0x80" for 32-on-64 processes.
That is correct, with the caveats below.