nv50/ir: add preliminary support for SHLADD
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 14 Sep 2016 14:42:45 +0000 (16:42 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 29 Sep 2016 19:20:30 +0000 (21:20 +0200)
commit85132c7453230960f34cfe7b7b7fcaaab158d79f
tree875384da56aa9026285da6d7a20bb8d99c38e195
parent652874754a0afd0aefa16dd65afcf85842885945
nv50/ir: add preliminary support for SHLADD

This instruction is available since SM20 (Fermi) and allow to do
(a << b) + c in one shot. In some situations, IMAD should be
replaced by SHLADD when b is a power of 2, and ADD+SHL should be
replaced by SHLADD as well.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir.h
src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_target_nv50.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_target_nvc0.cpp