radv: enable lowering of fpow to fexp2 and flog2
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 2 Feb 2018 18:04:57 +0000 (19:04 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 22 Feb 2018 19:40:47 +0000 (20:40 +0100)
commit7aa008d1d7d2b7f9bcaf299546a8d23f59d79268
treec0874599a56fa0d699bcb2c7cff08f2bb020c79f
parent63fb30c6743a2d8dfb13f5fee18e0f950822e562
radv: enable lowering of fpow to fexp2 and flog2

There is no fpow in hardware, so it's always lowered somewhere,
but it appears that lowering at NIR level is better. Figured while
comparing compute shaders between RadeonSI and RADV.

Polaris10:
Totals from affected shaders:
SGPRS: 18936 -> 18904 (-0.17 %)
VGPRS: 12240 -> 12220 (-0.16 %)
Spilled SGPRs: 2809 -> 2809 (0.00 %)
Code Size: 718116 -> 719848 (0.24 %) bytes
Max Waves: 1409 -> 1410 (0.07 %)

Vega10:
Totals from affected shaders:
SGPRS: 18392 -> 18392 (0.00 %)
VGPRS: 12008 -> 11920 (-0.73 %)
Spilled SGPRs: 3001 -> 2981 (-0.67 %)
Code Size: 777444 -> 778788 (0.17 %) bytes
Max Waves: 1503 -> 1504 (0.07 %)

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_shader.c