mesa/src/intel/compiler
Jason Ekstrand 762a6333f2 nir: Rework conversion opcodes
The NIR story on conversion opcodes is a mess.  We've had way too many
of them, naming is inconsistent, and which ones have explicit sizes was
sort-of random.  This commit re-organizes things and makes them all
consistent:

 - All non-bool conversion opcodes now have the explicit size in the
   destination and are named <src_type>2<dst_type><size>.

 - Integer <-> integer conversion opcodes now only come in i2i and u2u
   forms (i2u and u2i have been removed) since the only difference
   between the different integer conversions is whether or not they
   sign-extend when up-converting.

 - Boolean conversion opcodes all have the explicit size on the bool and
   are named <src_type>2<dst_type>.

Making things consistent also allows nir_type_conversion_op to be moved
to nir_opcodes.c and auto-generated using mako.  This will make adding
int8, int16, and float16 versions much easier when the time comes.

Reviewed-by: Eric Anholt <eric@anholt.net>
2017-03-14 07:36:40 -07:00
..
.gitignore i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_cfg.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_cfg.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_compiler.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_compiler.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_dead_control_flow.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_dead_control_flow.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_disasm.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_eu.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_eu.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_eu_compact.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_eu_defines.h intel: fix compiler build 2017-03-13 13:09:24 +01:00
brw_eu_emit.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_eu_util.c intel/compiler: whitespace cleanups 2017-03-13 11:16:35 +00:00
brw_eu_validate.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_builder.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_cmod_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_combine_constants.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_copy_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_cse.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_dead_code_eliminate.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_generator.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_live_variables.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_live_variables.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_lower_d2x.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_lower_pack.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_nir.cpp nir: Rework conversion opcodes 2017-03-14 07:36:40 -07:00
brw_fs_reg_allocate.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_register_coalesce.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_saturate_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_sel_peephole.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_surface_builder.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_surface_builder.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_validate.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_fs_visitor.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_inst.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_interpolation_map.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_ir_allocator.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_ir_fs.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_ir_vec4.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir_analyze_boolean_resolves.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir_attribute_workarounds.c nir: Rework conversion opcodes 2017-03-14 07:36:40 -07:00
brw_nir_intrinsics.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir_opt_peephole_ffma.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir_tcs_workarounds.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_nir_trig_workarounds.py i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_packed_float.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_predicated_break.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_reg.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_schedule_instructions.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_shader.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_shader.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4.h i965/vec4: Get rid of the type parameter from to/from_double 2017-03-14 07:36:40 -07:00
brw_vec4_builder.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_cmod_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_copy_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_cse.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_dead_code_eliminate.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_generator.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_gs_nir.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_gs_visitor.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_gs_visitor.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_live_variables.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_live_variables.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_nir.cpp nir: Rework conversion opcodes 2017-03-14 07:36:40 -07:00
brw_vec4_reg_allocate.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_surface_builder.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_surface_builder.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_tcs.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_tcs.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_tes.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_tes.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_visitor.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_vs.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vec4_vs_visitor.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_vue_map.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
brw_wm_iz.cpp intel/compiler: whitespace cleanups 2017-03-13 11:16:35 +00:00
gen6_gs_visitor.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
gen6_gs_visitor.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
intel_asm_annotation.c i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
intel_asm_annotation.h i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_eu_compact.cpp intel/compiler: link all tests again gtest, even test_eu_compact" 2017-03-13 11:16:35 +00:00
test_eu_validate.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_fs_cmod_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_fs_copy_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_fs_saturate_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_vec4_cmod_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_vec4_copy_propagation.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_vec4_register_coalesce.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00
test_vf_float_conversions.cpp i965: Move the back-end compiler to src/intel/compiler 2017-03-13 11:16:34 +00:00