The CPU has no opcodes to handle signed values greater than 8 bit. So sign extension, test of signedness etc. has to be done by hand. The code to handle signed operations is usually a bit slower than the same code for unsigned types.