nir: Remove series of unnecessary conversions
authorMatt Turner <mattst88@gmail.com>
Sat, 26 Aug 2017 03:15:24 +0000 (20:15 -0700)
committerMatt Turner <mattst88@gmail.com>
Tue, 29 Aug 2017 22:20:57 +0000 (15:20 -0700)
commit50e4099edff93b666325e4ba7e607eafc29d2e92
tree2bc9a8d425c0aa3bad9411db46c947d9f5e13412
parent02ba0d5a7bd514c7e84111854bb29de1b07eb8cd
nir: Remove series of unnecessary conversions

Clang warns:

warning: absolute value function 'fabsf' given an argument of type
'const float64_t' (aka 'const double') but has parameter of type 'float'
which may cause truncation of value [-Wabsolute-value]

            float64_t dst = bit_size == 64 ? fabs(src0) : fabsf(src0);

The type of the ternary expression will be the common type of fabs() and
fabsf(): double. So fabsf(src0) will be implicitly converted to double.
We may as well just convert src0 to double before a call to fabs() and
remove the needless complexity, à la

            float64_t dst = fabs(src0);

Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
src/compiler/nir/nir_opcodes.py