mesa/src/intel/compiler
Alejandro Piñeiro 2f8d6bd578 i965: expose BRW_OPCODE_[F32TO16/F16TO32] name on gen8+
Technically those hw operations are only available on gen7, as gen8+
support the conversion on the MOV. But, when using the builder to
implement nir operations (example: nir_op_fquantize2f16), it is not
needed to do the gen check. This check is done later, on the final
emission at brw_F32TO16 (brw_eu_emit), choosing between the MOV or the
specific operation accordingly.

So in the middle, during optimization phases those hw operations can
be around for gen8+ too.

Without this patch, several (at least 95) vulkan-cts quantize tests
crashes when using INTEL_DEBUG=optimizer. For example:
dEQP-VK.spirv_assembly.instruction.graphics.opquantize.too_small_vert

v2: simplify the code using GEN_GE (Ilia Mirkin)
v3: tweak brw_instruction_name instead of changing opcode_descs
    table, that is used for validation (Matt Turner)

Reviewed-by: Matt Turner <mattst88@gmail.com>
2017-03-29 17:34:15 +02: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 intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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 anv/pipeline: make FragCoord include sample positions when sample shading 2017-03-24 08:11:53 +01: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 intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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/fs: Return progress from demote_sample_qualifiers(). 2017-03-23 14:34:44 -07:00
brw_fs.h intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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 intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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/fs: Don't emit SEL instructions for type-converting MOVs. 2017-03-27 10:59:42 -07: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: Replace OPT_V() with OPT(). 2017-03-23 14:34:44 -07:00
brw_nir.h intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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: expose BRW_OPCODE_[F32TO16/F16TO32] name on gen8+ 2017-03-29 17:34:15 +02:00
brw_shader.h intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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 intel/compiler: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +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