mesa/src/intel/compiler
Kenneth Graunke 534f0019d7 intel/brw: Don't mix types for unary extended math instructions
We were generating odd instructions like:

   math inv(8) g93<1>HF g85<8,8,1>HF null<8,8,1>F { align1 1Q @7 $4 };

It's unclear whether the type of the null operand matters, but sometimes
these things don't get ignored properly.  Out of caution, retype the
null source to match the actual operand's type.  It'll at least look
less surprising in assembly dumps.

Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30193>
2024-07-18 03:25:06 +00:00
..
elk intel/elk: Convert missing uses of ralloc to linear in fs_live_variables 2024-07-16 23:53:45 +00:00
tests intel/brw: Remove assembler tests for Gfx8- 2024-02-24 02:10:56 +00:00
brw_asm.c intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
brw_asm.h intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
brw_asm_internal.h intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
brw_asm_tool.c intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
brw_cfg.cpp intel/brw: Use fs_inst in cfg_t 2024-02-29 20:47:48 -08:00
brw_cfg.h intel/brw: Add a idom_tree::dominates(a, b) helper. 2024-06-08 02:18:56 -07:00
brw_compile_gs.cpp intel/brw: fix subgroup size of geometry stages for lnl+ 2024-05-14 23:13:37 +00:00
brw_compile_tcs.cpp intel/brw: fix subgroup size of geometry stages for lnl+ 2024-05-14 23:13:37 +00:00
brw_compile_vs.cpp intel/brw: fix subgroup size of geometry stages for lnl+ 2024-05-14 23:13:37 +00:00
brw_compiler.c nir: introduce discard_is_demote compiler option 2024-06-17 19:37:15 +00:00
brw_compiler.h anv,intel/compiler/xe2: fill MESH_CONTROL.VPandRTAIndexAutostripEnable 2024-06-10 15:21:34 +00:00
brw_dead_control_flow.cpp intel/brw: Do not create empty basic blocks when removing instructions 2024-04-30 17:16:39 -07:00
brw_debug_recompile.c intel/brw: Delete brw_wm_prog_key::line_aa 2024-02-29 18:00:14 +00:00
brw_def_analysis.cpp intel/brw: Track the number of uses of each def in def_analysis 2024-06-18 09:02:25 +00:00
brw_device_sha1_gen_c.py intel/compiler: drop unused ray-tracing fields from cache hash 2024-03-22 00:01:28 +00:00
brw_disasm.c intel/disasm: Fix cache load/store disassembly for URB messages 2024-05-09 19:45:18 +00:00
brw_disasm.h intel/compiler: Merge intel_disasm.[ch] into corresponding brw files 2024-02-15 09:26:46 +00:00
brw_disasm_info.cpp intel/brw: Use fs_inst in disasm_annotate() 2024-02-29 21:14:13 -08:00
brw_disasm_info.h intel/brw: Use fs_inst in disasm_annotate() 2024-02-29 21:14:13 -08:00
brw_disasm_tool.c intel/brw: Remove Gfx8- code from disassembler 2024-02-28 05:45:38 +00:00
brw_eu.c intel/brw: Delete SAD2 and SADA2 opcodes 2024-06-10 16:47:50 -07:00
brw_eu.h intel/nir: add reloc delta to load_reloc_const_intel intrinsic 2024-05-15 13:13:38 +00:00
brw_eu_compact.c intel/brw: Stop using long BRW_REGISTER_TYPE enum names 2024-04-25 11:41:48 +00:00
brw_eu_defines.h intel/brw: Make gl_SubgroupInvocation lane index loading SSA 2024-06-18 09:02:25 +00:00
brw_eu_emit.c intel/fs/gfx20+: Fix surface state address on extended descriptors for NIR scratch intrinsics. 2024-06-21 01:49:43 +00:00
brw_eu_validate.c intel/brw: Add a lower_csel pass and allow building it for all types 2024-07-01 19:06:31 +00:00
brw_fs.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs.h intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_bank_conflicts.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_builder.h intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_cmod_propagation.cpp intel/brw: Replace type_sz and brw_reg_type_to_size with brw_type_size_* 2024-04-25 11:41:48 +00:00
brw_fs_combine_constants.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_copy_propagation.cpp intel/brw: Rename fs_reg_* helpers to brw_reg_* 2024-07-03 02:53:19 +00:00
brw_fs_cse.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_dead_code_eliminate.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_generator.cpp intel/brw: Don't mix types for unary extended math instructions 2024-07-18 03:25:06 +00:00
brw_fs_live_variables.cpp intel/brw: Convert missing uses of ralloc to linear in fs_live_variables 2024-07-16 23:53:45 +00:00
brw_fs_live_variables.h intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_lower.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_lower_dpas.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_lower_integer_multiplication.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_lower_pack.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_lower_regioning.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_lower_simd_width.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_nir.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_opt.cpp intel/brw: Replace some fs_reg constructors with functions 2024-07-03 02:53:18 +00:00
brw_fs_opt_algebraic.cpp intel/brw: Rename fs_reg_* helpers to brw_reg_* 2024-07-03 02:53:19 +00:00
brw_fs_opt_virtual_grfs.cpp intel/brw: allocate large table in the heap instead of the stack 2024-07-03 12:10:28 +00:00
brw_fs_reg_allocate.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_register_coalesce.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_saturate_propagation.cpp intel/brw: Rename fs_reg_* helpers to brw_reg_* 2024-07-03 02:53:19 +00:00
brw_fs_scoreboard.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_sel_peephole.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_thread_payload.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_validate.cpp intel/brw: Remove conversion from fs_reg to brw_reg 2024-07-03 02:53:18 +00:00
brw_fs_visitor.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_fs_workaround.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_gram.y intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
brw_inst.h intel/brw: Rename brw_reg_type_to_hw_type to brw_type_encode 2024-04-25 11:41:48 +00:00
brw_ir.h intel/brw: Fold backend_reg into fs_reg 2024-03-01 17:52:09 +00:00
brw_ir_allocator.h intel/compiler,intel/blorp,intel/vulkan: decouple vulkan driver and compiler from gallium 2023-08-03 22:00:15 +00:00
brw_ir_analysis.h
brw_ir_fs.h intel/brw: Move brw_reg helpers into brw_reg.h 2024-07-03 02:53:19 +00:00
brw_ir_performance.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_ir_performance.h intel/brw: Fold backend_shader into fs_visitor 2024-02-29 19:28:05 +00:00
brw_isa_info.h
brw_kernel.c treewide: use nir_def_replace sometimes 2024-06-21 15:36:56 +00:00
brw_kernel.h intel-clc: Use correct set of nir_options when building for Gfx8 2024-02-24 00:24:32 +00:00
brw_lex.l intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
brw_lower_logical_sends.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_mesh.cpp treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
brw_nir.c nir: add filter parameter to nir_lower_array_deref_of_vec 2024-07-03 02:06:56 +00:00
brw_nir.h intel/nir: add printf lowering 2024-05-15 13:13:38 +00:00
brw_nir_analyze_ubo_ranges.c intel/brw/xe2: Update brw_nir_analyze_ubo_ranges to account for 512b physical registers 2024-04-01 00:00:03 +00:00
brw_nir_lower_alpha_to_coverage.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
brw_nir_lower_cooperative_matrix.c intel/brw/xe2+: Allow vec16 for cooperative matrix 2024-06-25 14:17:47 -07:00
brw_nir_lower_cs_intrinsics.c intel/brw: Reorganize lowering of LocalID/Index to handle Mesh/Task 2024-06-28 16:30:38 +00:00
brw_nir_lower_fsign.py intel/brw: Use range analysis to optimize fsign 2024-05-14 01:28:21 +00:00
brw_nir_lower_intersection_shader.c treewide: use nir_def_replace sometimes 2024-06-21 15:36:56 +00:00
brw_nir_lower_ray_queries.c intel/nir: only consider ray query variables in lowering 2024-02-24 12:56:30 +00:00
brw_nir_lower_rt_intrinsics.c treewide: use nir_def_replace sometimes 2024-06-21 15:36:56 +00:00
brw_nir_lower_shader_calls.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
brw_nir_lower_storage_image.c intel/brw: Remove Gfx8- code from lower storage image pass 2024-02-28 05:45:38 +00:00
brw_nir_rt.c treewide: use nir_def_replace sometimes 2024-06-21 15:36:56 +00:00
brw_nir_rt.h anv: support VK_PIPELINE_CREATE_RAY_TRACING_SKIP_* 2022-10-20 00:03:55 +00:00
brw_nir_rt_builder.h nir: Drop "SSA" from NIR language 2023-08-12 16:44:41 -04:00
brw_nir_trig_workarounds.py
brw_packed_float.c
brw_predicated_break.cpp intel/brw: Use fs_inst explicitly in various passes 2024-02-29 20:47:48 -08:00
brw_prim.h
brw_private.h intel/brw: fix subgroup size of geometry stages for lnl+ 2024-05-14 23:13:37 +00:00
brw_reg.h intel/brw: Move brw_reg helpers into brw_reg.h 2024-07-03 02:53:19 +00:00
brw_reg_type.c intel/brw: Rename brw_reg_type_to_hw_type to brw_type_encode 2024-04-25 11:41:48 +00:00
brw_reg_type.h intel/brw: Make a helper for finding the largest of two types 2024-04-29 07:51:45 +00:00
brw_rt.h intel: Use ALIGN_POT instead of ALIGN inside macro define 2024-01-03 12:46:10 +00:00
brw_schedule_instructions.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
brw_shader.cpp intel/brw: Rename fs_reg_* helpers to brw_reg_* 2024-07-03 02:53:19 +00:00
brw_simd_selection.cpp intel/brw: fix subgroup size of geometry stages for lnl+ 2024-05-14 23:13:37 +00:00
brw_vue_map.c intel/brw: Remove Gfx8- code from VUE map 2024-02-28 05:45:38 +00:00
intel_clc.c intel/dev: Silence INTEL_FORCE_PROBE warning for intel_clc 2024-05-30 22:28:50 +00:00
intel_gfx_ver_enum.h intel/compiler: Rename brw_gfx_ver_enum.h to intel_gfx_ver_enum.h 2024-02-16 22:35:05 +00:00
intel_nir.c intel/compiler: Rename the passes and files related to intel_nir.h 2024-02-16 22:35:05 +00:00
intel_nir.h intel/nir: add printf lowering 2024-05-15 13:13:38 +00:00
intel_nir_blockify_uniform_loads.c brw: blockify load_global_const_block_intel 2024-06-21 08:29:44 +00:00
intel_nir_clamp_image_1d_2d_array_sizes.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_clamp_per_vertex_loads.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_conversions.c intel/nir: Don't needlessly split u2f16 for nir_type_uint32 2024-07-11 02:37:05 -07:00
intel_nir_lower_non_uniform_barycentric_at_sample.c intel/compiler: Ensure load_barycentric_at_sample and load_interpolated_input remain together 2024-04-04 23:42:27 +00:00
intel_nir_lower_non_uniform_resource_intel.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_printf.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_shading_rate_output.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_sparse.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_lower_texture.c intel/compiler: Pack texture LOD and offset to a single 32-bit value 2024-02-27 00:22:46 +00:00
intel_nir_opt_peephole_ffma.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_opt_peephole_imul32x16.c treewide: use nir_metadata_control_flow 2024-06-17 16:28:14 -04:00
intel_nir_tcs_workarounds.c intel/nir: Set src_type on TCS quads workaround store_output 2024-05-02 13:58:21 -07:00
intel_shader_enums.h intel/compiler: Use "intel" prefix for walk_order enum 2024-02-21 00:38:35 +00:00
meson.build intel/brw: Split off assembler logic into library 2024-07-12 19:34:23 +00:00
test_eu_compact.cpp intel/brw: Stop using long BRW_REGISTER_TYPE enum names 2024-04-25 11:41:48 +00:00
test_eu_validate.cpp intel/brw: Rename brw_reg_type_to_hw_type to brw_type_encode 2024-04-25 11:41:48 +00:00
test_fs_cmod_propagation.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_fs_combine_constants.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_fs_copy_propagation.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_fs_cse.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_fs_saturate_propagation.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_fs_scoreboard.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_predicated_break.cpp intel/brw: Replace uses of fs_reg with brw_reg 2024-07-03 02:53:19 +00:00
test_simd_selection.cpp intel: Remove brw_ prefix from process debug function 2024-02-16 22:35:05 +00:00
test_vf_float_conversions.cpp