mesa/src/intel/compiler
Faith Ekstrand ce75c3c3fe intel: Switch to intrinsic-based registers
Results on HSW (vec4 only):

    total instructions in shared programs: 2978400 -> 2974135 (-0.14%)
    instructions in affected programs: 77870 -> 73605 (-5.48%)
    helped: 143
    HURT: 48
    helped stats (abs) min: 1 max: 100 x̄: 30.22 x̃: 9
    helped stats (rel) min: 0.03% max: 30.49% x̄: 8.02% x̃: 6.39%
    HURT stats (abs)   min: 1 max: 4 x̄: 1.19 x̃: 1
    HURT stats (rel)   min: 0.08% max: 16.67% x̄: 3.71% x̃: 3.23%
    95% mean confidence interval for instructions value: -26.69 -17.97
    95% mean confidence interval for instructions %-change: -6.24% -3.90%
    Instructions are helped.

    total cycles in shared programs: 45345924 -> 44742666 (-1.33%)
    cycles in affected programs: 29083466 -> 28480208 (-2.07%)
    helped: 4785
    HURT: 3879
    helped stats (abs) min: 2 max: 8072 x̄: 276.00 x̃: 24
    helped stats (rel) min: 0.02% max: 54.43% x̄: 7.78% x̃: 1.95%
    HURT stats (abs)   min: 2 max: 14736 x̄: 184.95 x̃: 20
    HURT stats (rel)   min: 0.02% max: 97.00% x̄: 7.69% x̃: 1.53%
    95% mean confidence interval for cycles value: -83.49 -55.77
    95% mean confidence interval for cycles %-change: -1.16% -0.55%
    Cycles are helped.

    total spills in shared programs: 1093 -> 539 (-50.69%)
    spills in affected programs: 772 -> 218 (-71.76%)
    helped: 74
    HURT: 0

    total fills in shared programs: 760 -> 757 (-0.39%)
    fills in affected programs: 66 -> 63 (-4.55%)
    helped: 3
    HURT: 0

Results on TGL (all stages):

    total instructions in shared programs: 21486982 -> 21488266 (<.01%)
    instructions in affected programs: 2245938 -> 2247222 (0.06%)
    helped: 1288
    HURT: 1385
    helped stats (abs) min: 1 max: 93 x̄: 4.05 x̃: 2
    helped stats (rel) min: 0.02% max: 3.82% x̄: 0.61% x̃: 0.46%
    HURT stats (abs)   min: 1 max: 134 x̄: 4.69 x̃: 2
    HURT stats (rel)   min: <.01% max: 5.59% x̄: 0.65% x̃: 0.44%
    95% mean confidence interval for instructions value: 0.13 0.83
    95% mean confidence interval for instructions %-change: <.01% 0.08%
    Instructions are HURT.

    total cycles in shared programs: 809326677 -> 809475669 (0.02%)
    cycles in affected programs: 447781659 -> 447930651 (0.03%)
    helped: 1924
    HURT: 1994
    helped stats (abs) min: 1 max: 74567 x̄: 1217.49 x̃: 10
    helped stats (rel) min: <.01% max: 38.44% x̄: 1.09% x̃: 0.17%
    HURT stats (abs)   min: 1 max: 76426 x̄: 1249.47 x̃: 8
    HURT stats (rel)   min: <.01% max: 137.11% x̄: 1.64% x̃: 0.17%
    95% mean confidence interval for cycles value: -125.61 201.67
    95% mean confidence interval for cycles %-change: 0.12% 0.48%
    Inconclusive result (value mean confidence interval includes 0).

    LOST:   4
    GAINED: 4

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24104>
2023-07-19 02:11:57 +00:00
..
brw_cfg.cpp intel/fs: Add physical fall-through CFG edge for unconditional BREAK instruction. 2021-12-21 00:43:29 +00:00
brw_cfg.h
brw_clip.h
brw_clip_line.c intel/compiler: Split 3DPRIM_* defines out to a separate header. 2022-06-30 23:46:35 +00:00
brw_clip_point.c
brw_clip_tri.c intel/compiler: Split 3DPRIM_* defines out to a separate header. 2022-06-30 23:46:35 +00:00
brw_clip_unfilled.c intel/compiler: Split 3DPRIM_* defines out to a separate header. 2022-06-30 23:46:35 +00:00
brw_clip_util.c
brw_compile_clip.c compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim 2023-06-03 03:29:03 +00:00
brw_compile_ff_gs.c intel/compiler: Introduce a new brw_isa_info structure 2022-06-30 23:46:35 +00:00
brw_compile_sf.c intel/compiler: Introduce a new brw_isa_info structure 2022-06-30 23:46:35 +00:00
brw_compiler.c nir: rename has_txs to has_texture_scaling 2023-07-12 10:03:06 +00:00
brw_compiler.h intel/compiler: Remove unused functions and declarations 2023-06-09 20:09:51 +00:00
brw_dead_control_flow.cpp
brw_dead_control_flow.h
brw_debug_recompile.c intel/compiler: Delete sampler key handling for planar format stuff 2022-12-09 10:18:25 +00:00
brw_disasm.c intel/fs: enable extended bindless surface offset 2023-05-30 06:36:37 +00:00
brw_disasm_info.c intel/eu: Handle compaction when inserting validation errors 2022-07-28 21:31:45 +00:00
brw_disasm_info.h intel/eu: Handle compaction when inserting validation errors 2022-07-28 21:31:45 +00:00
brw_eu.c intel/compiler: export brw_num_sources_from_inst 2022-12-10 03:59:19 +00:00
brw_eu.h intel/fs: enable extended bindless surface offset 2023-05-30 06:36:37 +00:00
brw_eu_compact.c intel/compiler: don't allocate compaction arrays on the stack 2022-10-28 07:10:58 +00:00
brw_eu_defines.h util: reinstate ENUM_PACKED 2023-06-21 21:51:59 +00:00
brw_eu_emit.c intel/fs: enable extended bindless surface offset 2023-05-30 06:36:37 +00:00
brw_eu_util.c
brw_eu_validate.c intel/eu/validate: Add some validation of ADD3 2023-06-06 06:10:53 +00:00
brw_fs.cpp intel/compiler: remove NV_mesh_shader support 2023-07-14 08:27:14 +00:00
brw_fs.h intel/fs: fix bindless/shared surface mistake 2023-06-14 07:42:57 +00:00
brw_fs_bank_conflicts.cpp intel/compiler: Introduce a new brw_isa_info structure 2022-06-30 23:46:35 +00:00
brw_fs_builder.h intel/compiler: Remove unused functions and declarations 2023-06-09 20:09:51 +00:00
brw_fs_cmod_propagation.cpp intel/fs: avoid cmod optimization on instruction with different write_mask 2023-01-24 07:35:42 +00:00
brw_fs_combine_constants.cpp intel/fs: Allow HF const in MAD on Gfx12.5 if all sources are HF 2023-06-06 06:10:53 +00:00
brw_fs_copy_propagation.cpp intel/fs: Constant propagate into SHADER_OPCODE_SHUFFLE 2023-06-21 17:16:57 +00:00
brw_fs_cse.cpp intel/compiler: Implement nir_intrinsic_last_invocation 2022-03-26 00:28:19 +00:00
brw_fs_dead_code_eliminate.cpp intel/compiler: Eliminate SHADER_OPCODE_UNTYPED_ATOMIC_FLOAT 2023-01-19 08:42:22 +00:00
brw_fs_generator.cpp intel/fs: fix pull-constant-load prior to gfx7 2023-06-06 14:47:41 +00:00
brw_fs_live_variables.cpp intel/fs: White space fixes 2023-04-06 19:07:50 +00:00
brw_fs_live_variables.h
brw_fs_lower_pack.cpp intel/fs: Move packHalf2x16 handling to lower_pack() 2023-03-09 23:26:17 +00:00
brw_fs_lower_regioning.cpp intel/compiler/gfx12.5+: Lower 64-bit cluster_broadcast with 32-bit ops 2023-04-20 11:41:10 -07:00
brw_fs_nir.cpp intel: Switch to intrinsic-based registers 2023-07-19 02:11:57 +00:00
brw_fs_reg_allocate.cpp intel/fs: put scratch surface in the surface state heap 2022-11-19 14:58:58 +00:00
brw_fs_register_coalesce.cpp intel/fs: Fix register coalesce in presence of force_writemask_all copy source writes. 2023-03-17 03:05:24 -07:00
brw_fs_saturate_propagation.cpp brw: fix saturate propagation region overlap range 2022-12-09 00:39:05 +00:00
brw_fs_scoreboard.cpp Revert "intel/fs: Fix inferred_sync_pipe for F16TO32 opcodes" 2023-03-09 23:26:17 +00:00
brw_fs_sel_peephole.cpp
brw_fs_thread_payload.cpp intel/fs: make tcs input_vertices dynamic 2023-05-24 18:32:07 +00:00
brw_fs_validate.cpp intel/compiler: add more validation for acc register usage 2023-06-21 08:15:59 +00:00
brw_fs_visitor.cpp anv: fix incorrect asserts when combining CPS and per sample interpolation 2023-05-31 19:26:59 +00:00
brw_gfx_ver_enum.h intel/compiler: Fix brw_gfx_ver_enum.h to be a proper header file 2022-06-30 23:46:35 +00:00
brw_inst.h intel/fs: enable extended bindless surface offset 2023-05-30 06:36:37 +00:00
brw_interpolation_map.c
brw_ir.h intel/fs: print identation for control flow 2023-06-14 12:04:05 +00:00
brw_ir_allocator.h
brw_ir_analysis.h
brw_ir_fs.h intel/compiler: Micro optimize regions_overlap 2023-04-06 19:07:50 +00:00
brw_ir_performance.cpp intel/compiler: Use SHADER_OPCODE_SEND for PI messages 2023-02-06 09:12:17 +00:00
brw_ir_performance.h
brw_ir_vec4.h intel: fix typos found by codespell 2022-06-27 10:20:55 +00:00
brw_isa_info.h intel/compiler: Remove use of thread_local for opcode tables 2022-06-30 23:46:35 +00:00
brw_kernel.c treewide: Remove all usage of nir_builder_init with nir_builder_create and nir_builder_at 2023-07-10 19:20:17 +00:00
brw_kernel.h intel/compiler: fix singleton pointer coverity warning 2022-04-19 12:36:10 +03:00
brw_lower_logical_sends.cpp intel/compiler: Look at 2 register worth of data instead of 4 2023-07-14 21:17:19 +00:00
brw_mesh.cpp intel/compiler: remove NV_mesh_shader support 2023-07-14 08:27:14 +00:00
brw_nir.c intel: Switch to intrinsic-based registers 2023-07-19 02:11:57 +00:00
brw_nir.h intel/fs: disable coarse pixel shader with interpolater messages at sample 2023-07-06 12:48:52 +00:00
brw_nir_analyze_boolean_resolves.c intel/compiler: Switch to use nir_foreach_function_impl 2023-06-29 11:29:54 +00:00
brw_nir_analyze_ubo_ranges.c intel/compiler: Switch to use nir_foreach_function_impl 2023-06-29 11:29:54 +00:00
brw_nir_attribute_workarounds.c nir: use more nir_fmul_imm 2023-05-25 06:59:24 +00:00
brw_nir_blockify_uniform_loads.c intel/fs: handle load_global_constant_uniform_block_intel 2023-06-14 12:04:05 +00:00
brw_nir_clamp_image_1d_2d_array_sizes.c
brw_nir_clamp_per_vertex_loads.c intel/fs: make tcs input_vertices dynamic 2023-05-24 18:32:07 +00:00
brw_nir_lower_alpha_to_coverage.c intel: Use nir_builder_at 2023-07-03 15:21:38 +00:00
brw_nir_lower_conversions.c intel/fs: Use nir_type_convert instead of nir_type_conversion_op 2022-12-14 06:23:21 +00:00
brw_nir_lower_cs_intrinsics.c intel/compiler: Switch to use nir_foreach_function_impl 2023-06-29 11:29:54 +00:00
brw_nir_lower_intersection_shader.c intel: Use nir_builder_at 2023-07-03 15:21:38 +00:00
brw_nir_lower_non_uniform_resource_intel.c intel/fs: make use of load_ubo_uniform_block_intel 2023-06-14 12:04:05 +00:00
brw_nir_lower_ray_queries.c intel: Use nir_builder_at 2023-07-03 15:21:38 +00:00
brw_nir_lower_rt_intrinsics.c intel: Use nir_builder_at 2023-07-03 15:21:38 +00:00
brw_nir_lower_shader_calls.c intel/compiler: Switch to use nir_foreach_function_impl 2023-06-29 11:29:54 +00:00
brw_nir_lower_shading_rate_output.c intel: fix typos found by codespell 2022-06-27 10:20:55 +00:00
brw_nir_lower_storage_image.c nir: use new immediate comparison helpers 2023-06-15 13:33:58 +02:00
brw_nir_opt_peephole_ffma.c nir: Drop unused name from nir_ssa_dest_init 2023-05-17 23:46:16 +00:00
brw_nir_opt_peephole_imul32x16.c nir: Drop unused name from nir_ssa_dest_init 2023-05-17 23:46:16 +00:00
brw_nir_rt.c intel: Use nir_builder_at 2023-07-03 15:21:38 +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 intel: Use nir_ instead of nir_build_ helpers 2023-06-27 17:37:54 +00:00
brw_nir_tcs_workarounds.c nir: Use nir_builder_create 2023-06-27 18:13:02 +00:00
brw_nir_trig_workarounds.py driconf: Add a limit_trig_input_range option 2022-05-13 06:47:53 +00:00
brw_packed_float.c
brw_predicated_break.cpp intel/compiler: Don't predicate a WHILE if there is a CONT 2021-12-08 14:56:32 -08:00
brw_prim.h intel/compiler: Split 3DPRIM_* defines out to a separate header. 2022-06-30 23:46:35 +00:00
brw_private.h intel/compiler: Respect NIR_DEBUG_PRINT_INTERNAL flag 2023-06-21 00:01:10 +00:00
brw_reg.h intel/compiler: simplify reading of gl_NumWorkGroups in task/mesh 2023-07-04 09:15:08 +00:00
brw_reg_type.c
brw_reg_type.h
brw_rt.h intel/rt: Fix L3 bank performance bottlenecks due to SW stack stride alignment. 2023-02-26 11:48:33 -08:00
brw_schedule_instructions.cpp intel: Reduce cost of resetting last_grf_write. 2023-06-14 16:16:56 +00:00
brw_shader.cpp intel/compiler: Respect NIR_DEBUG_PRINT_INTERNAL flag 2023-06-21 00:01:10 +00:00
brw_shader.h intel/compiler: Remove unused functions and declarations 2023-06-09 20:09:51 +00:00
brw_simd_selection.cpp intel/compiler: fine-grained control of dispatch widths 2023-01-27 11:00:41 +00:00
brw_vec4.cpp intel/compiler: Respect NIR_DEBUG_PRINT_INTERNAL flag 2023-06-21 00:01:10 +00:00
brw_vec4.h intel/compiler: Refactor dump_instruction(s) 2023-06-08 22:00:21 +00:00
brw_vec4_builder.h
brw_vec4_cmod_propagation.cpp intel: fixes -Werror,-Wunused-but-set-variable for clang-15 2022-11-17 23:17:40 +00:00
brw_vec4_copy_propagation.cpp intel/compiler: Introduce a new brw_isa_info structure 2022-06-30 23:46:35 +00:00
brw_vec4_cse.cpp intel/compiler: Rename vec4 state URB opcodes to have VEC4_ prefix 2022-07-08 19:45:34 +00:00
brw_vec4_dead_code_eliminate.cpp
brw_vec4_generator.cpp intel/compiler: report max dispatch width statistic 2023-03-21 11:53:04 +00:00
brw_vec4_gs_nir.cpp intel/compiler: Remove unused functions and declarations 2023-06-09 20:09:51 +00:00
brw_vec4_gs_visitor.cpp intel/compiler: Respect NIR_DEBUG_PRINT_INTERNAL flag 2023-06-21 00:01:10 +00:00
brw_vec4_gs_visitor.h intel/compiler: Remove unused functions and declarations 2023-06-09 20:09:51 +00:00
brw_vec4_live_variables.cpp
brw_vec4_live_variables.h
brw_vec4_nir.cpp intel/vec4: Add support for new-style registers 2023-07-19 02:11:57 +00:00
brw_vec4_reg_allocate.cpp intel/compiler: Don't create vec4 reg-set for gen8+ 2022-07-14 17:49:01 +00:00
brw_vec4_surface_builder.cpp
brw_vec4_surface_builder.h
brw_vec4_tcs.cpp intel/compiler: Respect NIR_DEBUG_PRINT_INTERNAL flag 2023-06-21 00:01:10 +00:00
brw_vec4_tcs.h intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
brw_vec4_tes.cpp intel/compiler: Rename vec4 state URB opcodes to have VEC4_ prefix 2022-07-08 19:45:34 +00:00
brw_vec4_tes.h intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
brw_vec4_visitor.cpp intel/vec4: force exec_all on float control instruction 2023-04-14 10:54:01 +00:00
brw_vec4_vs.h intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
brw_vec4_vs_visitor.cpp intel/compiler: Rename vec4 state URB opcodes to have VEC4_ prefix 2022-07-08 19:45:34 +00:00
brw_vue_map.c intel/compiler: Store the number of position slots in the VUE map 2022-08-31 02:00:18 +00:00
gfx6_gs_visitor.cpp intel/compiler: Rename vec4 state URB opcodes to have VEC4_ prefix 2022-07-08 19:45:34 +00:00
gfx6_gs_visitor.h intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
intel_clc.c clc: rework optional subgroup feature 2023-07-07 12:27:35 +00:00
meson.build compiler: Move spirv into a module of its own 2023-06-20 16:18:08 +00:00
test_eu_compact.cpp intel/compiler: Fixes [-Wdeprecated-declarations] in test_eu_compact.cpp 2022-08-23 15:19:16 +00:00
test_eu_validate.cpp intel/eu/validate: Add some validation of ADD3 2023-06-06 06:10:53 +00:00
test_fs_cmod_propagation.cpp intel/fs: report max register pressure in shader stats 2023-03-08 13:37:07 +00:00
test_fs_copy_propagation.cpp intel/fs: Don't copy propagate from saturate to sel 2023-03-29 23:48:19 +00:00
test_fs_saturate_propagation.cpp intel/fs: report max register pressure in shader stats 2023-03-08 13:37:07 +00:00
test_fs_scoreboard.cpp intel/fs: report max register pressure in shader stats 2023-03-08 13:37:07 +00:00
test_simd_selection.cpp intel/compiler: fine-grained control of dispatch widths 2023-01-27 11:00:41 +00:00
test_vec4_cmod_propagation.cpp intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
test_vec4_copy_propagation.cpp intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
test_vec4_dead_code_eliminate.cpp intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
test_vec4_register_coalesce.cpp intel/fs,vec4: Drop support for shader time 2021-12-10 21:20:47 +00:00
test_vf_float_conversions.cpp