bswap implementation

Not sure if its correct to use large constant values while
creating constant expressions. Building code gives just a
warning " integer constant is so large that it is unsigned".

TODO: Test cases for bswap instruction.