[llvm] 4800482 - [RISCV] Add test showing constant materialization using pli.h/pli.w+srli/slli. NFC (#192159)

via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 14 18:50:15 PDT 2026


Author: Craig Topper
Date: 2026-04-14T18:50:10-07:00
New Revision: 480048253f117cff5e93bb5bbced94a6ef24adc6

URL: https://github.com/llvm/llvm-project/commit/480048253f117cff5e93bb5bbced94a6ef24adc6
DIFF: https://github.com/llvm/llvm-project/commit/480048253f117cff5e93bb5bbced94a6ef24adc6.diff

LOG: [RISCV] Add test showing constant materialization using pli.h/pli.w+srli/slli. NFC (#192159)

Added: 
    

Modified: 
    llvm/test/CodeGen/RISCV/rv64p.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/RISCV/rv64p.ll b/llvm/test/CodeGen/RISCV/rv64p.ll
index b4f74a970c9c0..d4a5e054d312d 100644
--- a/llvm/test/CodeGen/RISCV/rv64p.ll
+++ b/llvm/test/CodeGen/RISCV/rv64p.ll
@@ -119,6 +119,24 @@ define i64 @pli_h_i64() {
   ret i64 u0x0123012301230123
 }
 
+define i64 @pli_h_slli_i64() {
+; CHECK-LABEL: pli_h_slli_i64:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    pli.h a0, 511
+; CHECK-NEXT:    slli a0, a0, 3
+; CHECK-NEXT:    ret
+  ret i64 u0x0ff80ff80ff80ff8
+}
+
+define i64 @pli_h_srli_i64() {
+; CHECK-LABEL: pli_h_srli_i64:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    pli.h a0, -240
+; CHECK-NEXT:    srli a0, a0, 4
+; CHECK-NEXT:    ret
+  ret i64 u0x0ff10ff10ff10ff1
+}
+
 define i64 @pli_w_i64() {
 ; CHECK-LABEL: pli_w_i64:
 ; CHECK:       # %bb.0:
@@ -127,6 +145,24 @@ define i64 @pli_w_i64() {
   ret i64 u0xfffffedcfffffedc
 }
 
+define i64 @pli_w_slli_i64() {
+; CHECK-LABEL: pli_w_slli_i64:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    pli.w a0, 511
+; CHECK-NEXT:    slli a0, a0, 7
+; CHECK-NEXT:    ret
+  ret i64 u0x0000ff800000ff80
+}
+
+define i64 @pli_w_srli_i64() {
+; CHECK-LABEL: pli_w_srli_i64:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    pli.w a0, -480
+; CHECK-NEXT:    srli a0, a0, 5
+; CHECK-NEXT:    ret
+  ret i64 u0x07fffff107fffff1
+}
+
 define void @pli_b_store_i32(ptr %p) {
 ; CHECK-LABEL: pli_b_store_i32:
 ; CHECK:       # %bb.0:


        


More information about the llvm-commits mailing list