https://godbolt.org/g/hfpHz7
int isEven(int number) { return number & 1; }
isEven(int): mov eax, edi and eax, 1 ret
https://godbolt.org/g/7Khcg9
Anyways, you still prove my point. All those three are pretty close.
-O1 sete instruction is very slightly unoptimal, but even it is just a fractional clock cycle.
https://godbolt.org/g/hfpHz7
gcc 7.3, -O1, -O2 and -O3 (identical codegen for all optimization levels):