i965/fs: Add infrastructure for generating CSEL instructions.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 23 Nov 2015 04:12:17 +0000 (20:12 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 8 Mar 2018 23:26:26 +0000 (15:26 -0800)
commit70de61594dcf99f24eb31ebf98d62f13e1f44c2e
treea745f0a99d5626cad6545a0c2598c0d825ff608f
parent54e8d2268de37f320b2d206295d0b519f5be5ab7
i965/fs: Add infrastructure for generating CSEL instructions.

v2 (idr): Don't allow CSEL with a non-float src2.

v3 (idr): Add CSEL to fs_inst::flags_written.  Suggested by Matt.

v4 (idr): Only set BRW_ALIGN_16 on Gen < 10 (suggested by Matt).  Don't
reset the access mode afterwards (suggested by Samuel and Matt).  Add
support for CSEL not modifying the flags to more places (requested by
Matt).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> [v3]
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/intel/compiler/brw_disasm.c
src/intel/compiler/brw_eu.h
src/intel/compiler/brw_eu_emit.c
src/intel/compiler/brw_fs.cpp
src/intel/compiler/brw_fs_builder.h
src/intel/compiler/brw_fs_generator.cpp
src/intel/compiler/brw_ir_vec4.h
src/intel/compiler/brw_vec4.cpp