GBE: optimize scalar data type conversion.
authorZhigang Gong <zhigang.gong@intel.com>
Thu, 29 May 2014 01:26:39 +0000 (09:26 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Thu, 29 May 2014 06:48:54 +0000 (14:48 +0800)
commit80b2acab298377da1e0f53dcfed8ec758c6aa53d
tree10ddb208338ba03e1ccd5ff33f2592cb7f417f55
parent1b8042620e32b05334f6bbbd87bde7ee4b4a8a03
GBE: optimize scalar data type conversion.

If the dst is scalar, the register region restrication is relaxed.
we can save one instruction as below:

    (12      )  mov.sat(1)      g127.24<4>:B    g1.3<0,1,0>:D              { align1 WE_all };
    (14      )  mov(1)          g127.28<1>:B    g127.24<0,1,4>:D           { align1 WE_all };

Optimized to:

    (12      )  mov.sat(1)      g128.28<4>:B    g1.3<0,1,0>:D              { align1 WE_all };

No need to create a temporary register g127.24.

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
Reviewed-by: "Song, Ruiling" <ruiling.song@intel.com>
backend/src/backend/gen_insn_selection.cpp