TTom Stellardlibclc: Fix rounding during type conversion
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
libclc: Add Mesa/SPIR-V target Add targets to emit SPIR-V targeted to Mesa's OpenCL support, using SPIR-V 1.1. Substantially based on Dave Airlie's earlier work. libclc: spirv: remove step/smoothstep apis not defined for SPIR-V libclc: disable inlines for SPIR-V builds Reviewed By: jvesely, tstellar, jenatali Differential Revision: https://reviews.llvm.org/D77589 | 5 年前 | |
libclc: Fix rounding during type conversion The rounding during type conversion uses multiple conversions, selecting between them to try to discover if rounding occurred. This appears to not have been tested, since it would generate code of the form: float convert_float_rtp(char x) { float r = convert_float(x); char y = convert_char(y); [...] } which will access uninitialised data. The idea appears to have been to have done a char -> float -> char roundtrip in order to discover the rounding, so do this. Discovered by inspection. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed By: jvesely Differential Revision: https://reviews.llvm.org/D81999 | 4 年前 |