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