On Mon, Feb 3, 2014 at 3:14 PM, Yury Gribov <y.gri...@samsung.com> wrote: >> Additionally I'm not really sure >> why there is an additional load from the constant pool here - what is >> the constant in this case ? >> Given it is atmost a 16 bit constant >> surely that should be loaded with a single mov(w) instruction >> in armv7 land. > > I've made some investigations with 4.8. > > The problematic RTL is > > (insn 1191 1190 1192 142 (set (reg:SI 1 r1) > (zero_extend:SI (subreg:HI (reg:SI 2606) 0))) svga_tgsi_emit.h:165 165 > {*arm_zero_extendhisi2_v6} > (nil)) > > where RHS expression gets replaced with equivalent constant: > > (const_int 1 [0x1])
Uggh - what a mess. Surely that zero_extend:SI (const_int 1) should be replaced by a move somewhere. Ramana