diff options
| author | Alex Bradbury <asb@lowrisc.org> | 2017-11-08 12:02:22 +0000 |
|---|---|---|
| committer | Alex Bradbury <asb@lowrisc.org> | 2017-11-08 12:02:22 +0000 |
| commit | 0f0e1b54f07bb63ca8da28399028e2d5387ce500 (patch) | |
| tree | 484cbe5f52e5d8922651e9e4cfa6eecb0619b08d /llvm/test/CodeGen/RISCV/imm.ll | |
| parent | d9f6f5f44d5806496dcc05dd086a15f71e4292e1 (diff) | |
| download | bcm5719-llvm-0f0e1b54f07bb63ca8da28399028e2d5387ce500.tar.gz bcm5719-llvm-0f0e1b54f07bb63ca8da28399028e2d5387ce500.zip | |
[RISCV] Codegen support for materializing constants
Differential Revision: https://reviews.llvm.org/D39101
llvm-svn: 317684
Diffstat (limited to 'llvm/test/CodeGen/RISCV/imm.ll')
| -rw-r--r-- | llvm/test/CodeGen/RISCV/imm.ll | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/RISCV/imm.ll b/llvm/test/CodeGen/RISCV/imm.ll new file mode 100644 index 00000000000..c52638da02e --- /dev/null +++ b/llvm/test/CodeGen/RISCV/imm.ll @@ -0,0 +1,47 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \ +; RUN: | FileCheck %s -check-prefix=RV32I + +; Materializing constants + +define i32 @zero() nounwind { +; RV32I-LABEL: zero: +; RV32I: # BB#0: +; RV32I-NEXT: addi a0, zero, 0 +; RV32I-NEXT: jalr zero, ra, 0 + ret i32 0 +} + +define i32 @pos_small() nounwind { +; RV32I-LABEL: pos_small: +; RV32I: # BB#0: +; RV32I-NEXT: addi a0, zero, 2047 +; RV32I-NEXT: jalr zero, ra, 0 + ret i32 2047 +} + +define i32 @neg_small() nounwind { +; RV32I-LABEL: neg_small: +; RV32I: # BB#0: +; RV32I-NEXT: addi a0, zero, -2048 +; RV32I-NEXT: jalr zero, ra, 0 + ret i32 -2048 +} + +define i32 @pos_i32() nounwind { +; RV32I-LABEL: pos_i32: +; RV32I: # BB#0: +; RV32I-NEXT: lui a0, 423811 +; RV32I-NEXT: addi a0, a0, -1297 +; RV32I-NEXT: jalr zero, ra, 0 + ret i32 1735928559 +} + +define i32 @neg_i32() nounwind { +; RV32I-LABEL: neg_i32: +; RV32I: # BB#0: +; RV32I-NEXT: lui a0, 912092 +; RV32I-NEXT: addi a0, a0, -273 +; RV32I-NEXT: jalr zero, ra, 0 + ret i32 -559038737 +} |

