[all-commits] [llvm/llvm-project] cefac9: Remove implicit conversion that promotes half to o...

Tsung-Chun Lin via All-commits all-commits at lists.llvm.org
Mon Dec 9 21:26:21 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cefac9dfaac9c806433ad88cca85bd2f3ba1edad
      https://github.com/llvm/llvm-project/commit/cefac9dfaac9c806433ad88cca85bd2f3ba1edad
  Author: Jim Lin <tclin914 at gmail.com>
  Date:   2019-12-10 (Tue, 10 Dec 2019)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins.c

  Log Message:
  -----------
  Remove implicit conversion that promotes half to other larger precision types for fp classification builtins

Summary:
It shouldn't promote half to double or any larger precision types for fp classification builtins.
Because fp classification builtins would get incorrect result with promoted argument.
For example, __builtin_isnormal with a subnormal half value should return false, but it is not.
That the subnormal half value is promoted to a normal double value.

Reviewers: aaron.ballman

Reviewed By: aaron.ballman

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D71049




More information about the All-commits mailing list