i965/fs: Lower integer multiplication after optimizations.
authorMatt Turner <mattst88@gmail.com>
Mon, 11 May 2015 16:29:56 +0000 (09:29 -0700)
committerMatt Turner <mattst88@gmail.com>
Mon, 18 May 2015 17:11:36 +0000 (10:11 -0700)
commit1e4e17fbd9296cc5064aabdb351a894d10190cb6
tree6bf569a6938dc4330ad9d12d012394504c0e416f
parentae405d429ff62e279cb4bb84d29581d4f7467b52
i965/fs: Lower integer multiplication after optimizations.

32-bit x 32-bit integer multiplication requires multiple instructions
until Broadwell. This patch just lets us treat the MUL instruction in
the FS backend like it operates on Broadwell, and after optimizations
we lower it into a sequence of instructions on older platforms.

Doing this will allow us to some extra optimization on integer
multiplies.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_fs_nir.cpp
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp