------- Additional Comments From jakub at gcc dot gnu dot org 2005-02-18 17:33 ------- I think the reason why this paradoxical subreg of memory survived post reload is that the subreg is hardcoded in the llgt_sidi/llgt_sidi_split patterns. All other patterns have explicit subreg only around register_operands, these are the only two that use it for memory_operand, though I see arm and h8300 also use this in their machine descriptions.
Wouldn't it be better to describe llgt_sidi as (zero_extend:DI (and:SI (match_operand:SI "memory_operand") (0x7fffffff))) instead? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20054