Rearranged inst encoding to support more PC options.
Added IF and a small test case