Support codegen for unary ops
Add test of sign extending