[PATCH] D111704: [RISCV][test] Add more tests of immediate materialisation

Ben Shi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 13 19:26:13 PDT 2021


This revision was automatically updated to reflect the committed changes.
Closed by commit rGc1d6ba54d360: [RISCV][test] Add more tests of immediate materialisation (authored by benshi001).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111704/new/

https://reviews.llvm.org/D111704

Files:
  llvm/test/CodeGen/RISCV/imm.ll
  llvm/test/MC/RISCV/rv64zba-aliases-valid.s


Index: llvm/test/MC/RISCV/rv64zba-aliases-valid.s
===================================================================
--- llvm/test/MC/RISCV/rv64zba-aliases-valid.s
+++ llvm/test/MC/RISCV/rv64zba-aliases-valid.s
@@ -32,3 +32,21 @@
 # CHECK-S-OBJ-NEXT: addiw t2, t2, -1366
 # CHECK-S-OBJ-NEXT: zext.w t2, t2
 li x7, 0xaaaaaaaa
+
+# CHECK-S-OBJ-NOALIAS: lui t0, 188
+# CHECK-S-OBJ-NOALIAS-NEXT: addiw t0, t0, -1093
+# CHECK-S-OBJ-NOALIAS-NEXT: slli t0, t0, 24
+# CHECK-S-OBJ-NOALIAS-NEXT: addi t0, t0, 1979
+# CHECK-S-OBJ: lui t0, 188
+# CHECK-S-OBJ-NEXT: addiw t0, t0, -1093
+# CHECK-S-OBJ-NEXT: slli t0, t0, 24
+# CHECK-S-OBJ-NEXT: addi t0, t0, 1979
+li x5, 0xbbbbb0007bb
+
+# CHECK-S-OBJ-NOALIAS: lui t0, 188
+# CHECK-S-OBJ-NOALIAS-NEXT: addiw t0, t0, -1093
+# CHECK-S-OBJ-NOALIAS-NEXT: slli t0, t0, 16
+# CHECK-S-OBJ: lui t0, 188
+# CHECK-S-OBJ-NEXT: addiw t0, t0, -1093
+# CHECK-S-OBJ-NEXT: slli t0, t0, 16
+li x5, 0xbbbbb0000
Index: llvm/test/CodeGen/RISCV/imm.ll
===================================================================
--- llvm/test/CodeGen/RISCV/imm.ll
+++ llvm/test/CodeGen/RISCV/imm.ll
@@ -1543,3 +1543,68 @@
 ; RV64IZBS-NEXT:    ret
   ret i64 -2147485013
 }
+
+define i64 @imm_12900924131259() {
+; RV32I-LABEL: imm_12900924131259:
+; RV32I:       # %bb.0:
+; RV32I-NEXT:    lui a0, 765952
+; RV32I-NEXT:    addi a0, a0, 1979
+; RV32I-NEXT:    lui a1, 1
+; RV32I-NEXT:    addi a1, a1, -1093
+; RV32I-NEXT:    ret
+;
+; RV64I-LABEL: imm_12900924131259:
+; RV64I:       # %bb.0:
+; RV64I-NEXT:    lui a0, 188
+; RV64I-NEXT:    addiw a0, a0, -1093
+; RV64I-NEXT:    slli a0, a0, 24
+; RV64I-NEXT:    addi a0, a0, 1979
+; RV64I-NEXT:    ret
+;
+; RV64IZBA-LABEL: imm_12900924131259:
+; RV64IZBA:       # %bb.0:
+; RV64IZBA-NEXT:    lui a0, 188
+; RV64IZBA-NEXT:    addiw a0, a0, -1093
+; RV64IZBA-NEXT:    slli a0, a0, 24
+; RV64IZBA-NEXT:    addi a0, a0, 1979
+; RV64IZBA-NEXT:    ret
+;
+; RV64IZBS-LABEL: imm_12900924131259:
+; RV64IZBS:       # %bb.0:
+; RV64IZBS-NEXT:    lui a0, 188
+; RV64IZBS-NEXT:    addiw a0, a0, -1093
+; RV64IZBS-NEXT:    slli a0, a0, 24
+; RV64IZBS-NEXT:    addi a0, a0, 1979
+; RV64IZBS-NEXT:    ret
+  ret i64 12900924131259
+}
+
+define i64 @imm_50394234880() {
+; RV32I-LABEL: imm_50394234880:
+; RV32I:       # %bb.0:
+; RV32I-NEXT:    lui a0, 768944
+; RV32I-NEXT:    addi a1, zero, 11
+; RV32I-NEXT:    ret
+;
+; RV64I-LABEL: imm_50394234880:
+; RV64I:       # %bb.0:
+; RV64I-NEXT:    lui a0, 188
+; RV64I-NEXT:    addiw a0, a0, -1093
+; RV64I-NEXT:    slli a0, a0, 16
+; RV64I-NEXT:    ret
+;
+; RV64IZBA-LABEL: imm_50394234880:
+; RV64IZBA:       # %bb.0:
+; RV64IZBA-NEXT:    lui a0, 188
+; RV64IZBA-NEXT:    addiw a0, a0, -1093
+; RV64IZBA-NEXT:    slli a0, a0, 16
+; RV64IZBA-NEXT:    ret
+;
+; RV64IZBS-LABEL: imm_50394234880:
+; RV64IZBS:       # %bb.0:
+; RV64IZBS-NEXT:    lui a0, 188
+; RV64IZBS-NEXT:    addiw a0, a0, -1093
+; RV64IZBS-NEXT:    slli a0, a0, 16
+; RV64IZBS-NEXT:    ret
+  ret i64 50394234880
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D111704.379583.patch
Type: text/x-patch
Size: 2979 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211014/a456b0b0/attachment.bin>


More information about the llvm-commits mailing list