Ian Lance Taylor wrote: > Paolo Bonzini <bonz...@gnu.org> writes: > >> This in turn means that the description given by SHIFT_COUNT_TRUNCATED >> must be exact. Right now !SHIFT_COUNT_TRUNCATED means "I don't know", >> I want it to mean "it is never truncated". > > You need to do more work to make that happen, as SHIFT_COUNT_TRUNCATED > applies to both the shift instructions and the bitfield instructions. > On some processors one or the other is truncated; SHIFT_COUNT_TRUNCATED > may currently only be set to 1 if both are truncated. (E.g., I believe > that m68k truncates shifts but not bitfield instructions.)
Yes, I've also split TARGET_SHIFT_TRUNCATION_MASK and TARGET_EXTRACT_TRUNCATION_MASK, but for the latter a conservative default can be used since it's used only in one optimization in combine. [trimmed CC list] Paolo