aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_vec4.h
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2020-04-18 01:20:42 -0700
committerMarge Bot <[email protected]>2020-04-21 21:42:21 +0000
commitb7c47c4f7cfd0513ee2b98179cc22f402e5b3817 (patch)
treefc201ae36ab246441040e12862501ae82d5002f9 /src/intel/compiler/brw_vec4.h
parentfdd0ce12ac88e433c7712acd5226fa07dc870057 (diff)
intel/compiler: Drop nir_lower_to_source_mods() and related handling.
I think we're unanimous in wanting to drop nir_lower_to_source_mods. It's a bit of complexity to handle in the backend, but perhaps more importantly, would be even more complexity to handle in nir_search. And, it turns out that since we made other compiler improvements in the last few years, they no longer appear to buy us anything of value. Summarizing the results from shader-db from this patch: - Icelake (scalar mode) Instruction counts: - 411 helped, 598 hurt (out of 139,470 shaders) - 99.2% of shaders remain unaffected. The average increase in instruction count in hurt programs is 1.78 instructions. - total instructions in shared programs: 17214951 -> 17215206 (<.01%) - instructions in affected programs: 1143879 -> 1144134 (0.02%) Cycles: - 1042 helped, 1357 hurt - total cycles in shared programs: 365613294 -> 365882263 (0.07%) - cycles in affected programs: 138155497 -> 138424466 (0.19%) - Haswell (both scalar and vector modes) Instruction counts: - 73 helped, 1680 hurt (out of 139,470 shaders) - 98.7% of shaders remain unaffected. The average increase in instruction count in hurt programs is 1.9 instructions. - total instructions in shared programs: 14199527 -> 14202262 (0.02%) - instructions in affected programs: 446499 -> 449234 (0.61%) Cycles: - 5253 helped, 5559 hurt - total cycles in shared programs: 359996545 -> 360038731 (0.01%) - cycles in affected programs: 155897127 -> 155939313 (0.03%) Given that ~99% of shader-db remains unaffected, and the affected programs are hurt by about 1-2 instructions - which are all cheap ALU instructions - this is unlikely to be measurable in terms of any real performance impact that would affect users. So, drop them and simplify the backend, and hopefully enable other future simplifications in NIR. Reviewed-by: Eric Anholt <[email protected]> [v1] Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4616>
Diffstat (limited to 'src/intel/compiler/brw_vec4.h')
-rw-r--r--src/intel/compiler/brw_vec4.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_vec4.h b/src/intel/compiler/brw_vec4.h
index ab1b87de38b..1f2d922b186 100644
--- a/src/intel/compiler/brw_vec4.h
+++ b/src/intel/compiler/brw_vec4.h
@@ -312,8 +312,8 @@ public:
bool optimize_predicate(nir_alu_instr *instr, enum brw_predicate *predicate);
- void emit_conversion_from_double(dst_reg dst, src_reg src, bool saturate);
- void emit_conversion_to_double(dst_reg dst, src_reg src, bool saturate);
+ void emit_conversion_from_double(dst_reg dst, src_reg src);
+ void emit_conversion_to_double(dst_reg dst, src_reg src);
vec4_instruction *shuffle_64bit_data(dst_reg dst, src_reg src,
bool for_write,