[all-commits] [llvm/llvm-project] f02d6d: Fix floating point builtins to not promote float->...

Erich Keane via All-commits all-commits at lists.llvm.org
Mon Dec 16 07:20:46 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f02d6dd6c7afc08f871a623c0411f2d77ed6acf8
      https://github.com/llvm/llvm-project/commit/f02d6dd6c7afc08f871a623c0411f2d77ed6acf8
  Author: Erich Keane <erich.keane at intel.com>
  Date:   2019-12-16 (Mon, 16 Dec 2019)

  Changed paths:
    M clang/include/clang/Basic/Builtins.def
    M clang/test/CodeGen/arm-float-helpers.c
    A clang/test/CodeGen/builtin_float.c

  Log Message:
  -----------
  Fix floating point builtins to not promote float->double

As brought up in D71467, a group of floating point builtins
automatically promoted floats to doubles because they used the variadic
builtin tag to support an overload set. The result is that the
parameters were treated as a variadic pack, which always promots
float->double.

This resulted in the wrong answer being given in cases with certain
values of NaN.




More information about the All-commits mailing list