mesa/src/amd/llvm
Rhys Perry 48578713b7 radv,aco,ac/llvm: use nir_op_f{sin,cos}_amd
This lets NIR optimize the multiplication, particularly sin/cos(a * #b).

fossil-db (Sienna Cichlid):
Totals from 12306 (7.58% of 162293) affected shaders:
MaxWaves: 224814 -> 224834 (+0.01%)
Instrs: 17365273 -> 17338758 (-0.15%); split: -0.16%, +0.00%
CodeSize: 93478488 -> 93354912 (-0.13%); split: -0.14%, +0.01%
VGPRs: 752080 -> 752072 (-0.00%); split: -0.00%, +0.00%
SpillSGPRs: 8440 -> 8410 (-0.36%)
Latency: 200402154 -> 200279405 (-0.06%); split: -0.06%, +0.00%
InvThroughput: 37588077 -> 37545545 (-0.11%); split: -0.11%, +0.00%
VClause: 293863 -> 293874 (+0.00%); split: -0.03%, +0.03%
SClause: 619539 -> 619064 (-0.08%); split: -0.09%, +0.01%
Copies: 1151591 -> 1151641 (+0.00%); split: -0.04%, +0.05%
Branches: 506434 -> 506437 (+0.00%); split: -0.00%, +0.00%
PreSGPRs: 877609 -> 877517 (-0.01%); split: -0.01%, +0.00%
PreVGPRs: 711938 -> 711940 (+0.00%); split: -0.00%, +0.00%

fossil-db (LLVM, Sienna Cichlid):
Totals from 4377 (3.59% of 121873) affected shaders:
SGPRs: 358960 -> 359176 (+0.06%); split: -0.18%, +0.25%
VGPRs: 319832 -> 319720 (-0.04%); split: -0.18%, +0.15%
SpillSGPRs: 46983 -> 47007 (+0.05%); split: -0.99%, +1.04%
CodeSize: 30872812 -> 30764512 (-0.35%); split: -0.39%, +0.04%
MaxWaves: 73814 -> 73904 (+0.12%); split: +0.25%, -0.13%

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10587>
2022-07-07 22:18:08 +00:00
..
ac_llvm_build.c ac/llvm: conditionally check wave id in gs sendmsg 2022-06-27 02:12:13 +00:00
ac_llvm_build.h ac,radeonsi: don't export null from PS if it has no effect on gfx10+ 2022-06-11 11:14:16 +00:00
ac_llvm_cull.c ac,radeonsi: cull small lines in the shader using the diamond exit rule 2021-11-16 02:11:46 +00:00
ac_llvm_cull.h
ac_llvm_helper.cpp ac: use ResetAllOptionOccurrences instead of ResetCommandLineParser 2022-06-07 10:29:56 +00:00
ac_llvm_util.c ac: use ResetAllOptionOccurrences instead of ResetCommandLineParser 2022-06-07 10:29:56 +00:00
ac_llvm_util.h ac: use ResetAllOptionOccurrences instead of ResetCommandLineParser 2022-06-07 10:29:56 +00:00
ac_nir_to_llvm.c radv,aco,ac/llvm: use nir_op_f{sin,cos}_amd 2022-07-07 22:18:08 +00:00
ac_nir_to_llvm.h ac/llvm: move the gfx6 optimization for TCS barriers into ac_build_s_barrier 2022-05-13 09:15:20 +00:00
ac_shader_abi.h radeonsi: replace llvm tcs output with nir lower pass 2022-06-27 02:38:21 +00:00
meson.build