Hi, Paolo,

Your suggestion was right !
I have made an additional  define_insn with two SImode destination
 registers and now the lower_subreg pass is able to substitute
 the subregs,  and re-recognize the obtained instruction.

One small modification to your proposal  is that
I create the original superload pattern, with two destination SI subregs of DI,
manually in TARGET_EXPAND_BUILTIN function.
Using define_expand is not applicable as superload is not a standard
RTL insn name.

Thank you for your help,

Dmitry

Reply via email to