diff options
author | Alex Bradbury <asb@lowrisc.org> | 2017-11-21 08:11:03 +0000 |
---|---|---|
committer | Alex Bradbury <asb@lowrisc.org> | 2017-11-21 08:11:03 +0000 |
commit | ffc435e9c78e61f3ce7213840021300a06a984e7 (patch) | |
tree | ab53e03fa9004deaa7c6b191dc1886c6bbc887fa /llvm/lib/ExecutionEngine | |
parent | dca72fc4ea8121413b982c996850b2782d951835 (diff) | |
download | bcm5719-llvm-ffc435e9c78e61f3ce7213840021300a06a984e7.tar.gz bcm5719-llvm-ffc435e9c78e61f3ce7213840021300a06a984e7.zip |
[RISCV] Support and tests for a variety of additional LLVM IR constructs
Previous patches primarily ensured that codegen was possible for the standard
RISC-V instructions. However, there are a number of IR inputs that wouldn't be
appropriately lowered. This patch both adds test cases and supports lowering
for a number of these cases:
* Improved sext/zext/trunc support
* Support for setcc variants that don't map directly to RISC-V instructions
* Lowering mul, and hence support for external symbols
* addc, adde, subc, sube
* mulhs, srem, mulhu, urem, udiv, sdiv
* {srl,sra,shl}_parts
* brind
* br_jt
* bswap, ctlz, cttz, ctpop
* rotl, rotr
* BlockAddress operands
Differential Revision: https://reviews.llvm.org/D29938
llvm-svn: 318737
Diffstat (limited to 'llvm/lib/ExecutionEngine')
0 files changed, 0 insertions, 0 deletions