I tried to perform vzeroupper emitting after reload as additional pass of mode switching. I sow one problem that I don't know haw to overcome. After 'pro_and_epilogue', there can be no flow edge to exit block and pre_exit block is not created in this case (see rotine create_pre_exit). Without that I cannot properly perform vzeroupper insertion at rotine exit.
Regards, Vladimir 2012/9/18 Uros Bizjak <ubiz...@gmail.com>: > Hello! > >> You are right I no need the changes in mode-switchig.c at all. After I >> remove additional argument from EMIT_MODE_SET and run 'make check' I >> found no differences with make check result of previous run. So I no >> need in any changes in the middle end part. > > Vladimir, can you please investigate, how to emit vzeroupper insns > after reload? Vzeroupper emits hard registers, and reload moves the > insn around even when declared with unspec_volatile. > > Uros.