Support for intrinsics ctlz,ctpop,cttz and bswap

Please add type checking to the parser that checks that the bswap is of one of the types we support.