[all-commits] [llvm/llvm-project] 7ee479: [RISCV] Fix passing two floating-point values in c...

Tsung-Chun Lin via All-commits all-commits at lists.llvm.org
Sun May 17 22:14:25 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 7ee479a760e0a4402b4eb7fb6168768a44f66945
      https://github.com/llvm/llvm-project/commit/7ee479a760e0a4402b4eb7fb6168768a44f66945
  Author: Jim Lin <tclin914 at gmail.com>
  Date:   2020-05-18 (Mon, 18 May 2020)

  Changed paths:
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/test/CodeGen/riscv64-lp64-abi.c
    M clang/test/CodeGen/riscv64-lp64f-lp64d-abi.c

  Log Message:
  -----------
  [RISCV] Fix passing two floating-point values in complex separately by two GPRs on RV64

Summary:
This patch fixed the error of counting the remaining FPRs. Complex floating-point
values should be passed by two FPRs for the hard-float ABI. If no two FPRs are
available, it should be passed via a 64-bit GPR (fp+fp). `ArgFPRsLeft` is only
decreased one while the type is complex floating-point. It causes two floating-point
values in the complex are passed separately by two GPRs.

Reviewers: asb, luismarques, lenary

Reviewed By: asb

Subscribers: rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, s.egerton, pzheng, sameer.abuasal, apazos, evandro, cfe-commits

Tags: #clang

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




More information about the All-commits mailing list