> That is correct. In RTL constants are always sign-extended from their > precision to HOST_BITS_PER_WIDE_INT, regardless if it is "signed" or > "unsigned" constant. Whether you treat the low precision bits of the > constant as signed or unsigned is something encoded in the operation on it. > > Jakub > Euhm, but then surely we must get rid of the is_sign_extended parameter altogether?
Right now if you call that function for the same example, but with is_sign_extended set to true, the value will __NOT__ be sign extended.