diff options
author | Craig Topper <craig.topper@sifive.com> | 2023-04-12 13:15:59 -0700 |
---|---|---|
committer | Craig Topper <craig.topper@sifive.com> | 2023-04-12 13:15:59 -0700 |
commit | d7c97e9129096048f08d4232e5a76ac5853ce74e (patch) | |
tree | 5c98e54ef291ed9ba48043e35407448dfb69642d /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp | |
parent | da68d2164efcc1f5e57f090e2ae2219056b120a0 (diff) | |
download | llvm-d7c97e9129096048f08d4232e5a76ac5853ce74e.zip llvm-d7c97e9129096048f08d4232e5a76ac5853ce74e.tar.gz llvm-d7c97e9129096048f08d4232e5a76ac5853ce74e.tar.bz2 |
[RISCV] Support llvm.lround intrinsics with i32 return type on RV64.
It seems that flang uses this for "nint" and expects this i32
to work. On the C side we think lround should only work for "long"
which is i64 on rv64.
It's easy for us to support i32 when we have native FP instructions.
I fell back to i64 and truncated the result otherwise. The
documentation for lround says it returns an unspecified value if
doesn't fit in the integer type. I have no idea what flang is
expecting. I really only did the libcall to avoid forking a test.
Reviewed By: asb
Differential Revision: https://reviews.llvm.org/D147195
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
0 files changed, 0 insertions, 0 deletions