Hi, > > Try zero_extend or sign_extend patterns that also allow memory operands. > I assumed already that this RTL-template is not ok. My Problem is only with registers. For all instructions that write a result into a register smaller than the width of the register, there are two variants of that instruction. One that does zero-extend and one that does sign-extend to the full width of the register. I must choose one of it. The question is then, how to decide which one is right. The prefered is the same signedness as the type is. I expected to get this information by using SUBREG_PROMOTED_UNSIGNED_P in the output template. May be that this information is not avalable there. Or I did it wrong. Regards Peter Kuschnerus