[all-commits] [llvm/llvm-project] da8c95: [LoongArch] Add codegen support for frint

Gong LingQin via All-commits all-commits at lists.llvm.org
Thu Sep 8 23:27:20 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: da8c9521eeb7daf26ca0ff72361644b7edfeecc9
      https://github.com/llvm/llvm-project/commit/da8c9521eeb7daf26ca0ff72361644b7edfeecc9
  Author: gonglingqin <gonglingqin at loongson.cn>
  Date:   2022-09-09 (Fri, 09 Sep 2022)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    A llvm/test/CodeGen/LoongArch/frint.ll

  Log Message:
  -----------
  [LoongArch] Add codegen support for frint

According to the revised description in `LoongArch Reference Manual v1.02`,
frint.[s/d] does not judge whether floating-point inexact exceptions are
allowed indicated by FCSR, i.e. always executes roundToIntegralExact(x).
What's more, the manual also specifically defines that frint.s/d is only
necessary to be defined in LA64. So ISD::FRINT is legal for LA64.

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




More information about the All-commits mailing list