c88b8cbee3
This combines nicely with the previous isel change. Now GLSL like float(int_x >> 24) will generate a single machine instruction S8_TO_F32 int_x.b3 Noticed when debugging KHR-GLES31.core.shader_bitfield_operation.unpackSnorm4x8.0 ...but naturally no real workloads care. Helped shaders are from Android games that appear to have run through a translator, naturally. total instructions in shared programs: 2674831 -> 2674783 (<.01%) instructions in affected programs: 11493 -> 11445 (-0.42%) helped: 31 HURT: 0 helped stats (abs) min: 1.0 max: 3.0 x̄: 1.55 x̃: 1 helped stats (rel) min: 0.16% max: 2.90% x̄: 0.51% x̃: 0.41% 95% mean confidence interval for instructions value: -1.87 -1.22 95% mean confidence interval for instructions %-change: -0.69% -0.33% Instructions are helped. total cvt in shared programs: 14128.84 -> 14128.09 (<.01%) cvt in affected programs: 78.17 -> 77.42 (-0.96%) helped: 31 HURT: 0 helped stats (abs) min: 0.015625 max: 0.046875 x̄: 0.02 x̃: 0 helped stats (rel) min: 0.36% max: 4.26% x̄: 1.28% x̃: 1.20% 95% mean confidence interval for cvt value: -0.03 -0.02 95% mean confidence interval for cvt %-change: -1.62% -0.94% Cvt are helped. total quadwords in shared programs: 1449920 -> 1449840 (<.01%) quadwords in affected programs: 2184 -> 2104 (-3.66%) helped: 10 HURT: 0 helped stats (abs) min: 8.0 max: 8.0 x̄: 8.00 x̃: 8 helped stats (rel) min: 2.44% max: 5.88% x̄: 4.11% x̃: 4.76% 95% mean confidence interval for quadwords value: -8.00 -8.00 95% mean confidence interval for quadwords %-change: -5.11% -3.12% Quadwords are helped. Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17857>