[llvm] f9b05e6 - [RISCV] Pre-commit tests for D130931. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 1 12:57:46 PDT 2022


Author: Craig Topper
Date: 2022-08-01T12:57:09-07:00
New Revision: f9b05e6dad2d42c750118a1a6f3c3efc5a1bddb8

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

LOG: [RISCV] Pre-commit tests for D130931. NFC

Added: 
    

Modified: 
    llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll b/llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll
index 5f32533f7620..721fb87d5a81 100644
--- a/llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll
+++ b/llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll
@@ -332,6 +332,56 @@ define void @self_store() {
   ret void
 }
 
+define void @store_addi_addi() {
+; CHECK-LABEL: store_addi_addi:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    lui a0, %hi(bar+2047)
+; CHECK-NEXT:    addi a0, a0, %lo(bar+2047)
+; CHECK-NEXT:    li a1, 10
+; CHECK-NEXT:    sb a1, 1164(a0)
+; CHECK-NEXT:    ret
+  store i8 10, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @bar, i32 0, i64 3211)
+  ret void
+}
+
+define void @store_addi_addi_neg() {
+; CHECK-LABEL: store_addi_addi_neg:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    lui a0, %hi(bar-2048)
+; CHECK-NEXT:    addi a0, a0, %lo(bar-2048)
+; CHECK-NEXT:    li a1, 10
+; CHECK-NEXT:    sb a1, -1952(a0)
+; CHECK-NEXT:    ret
+  store i8 10, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @bar, i32 0, i64 -4000)
+  ret void
+}
+
+; With Zba the constant 6424 is created with LI+SH2ADD.
+define void @store_sh2add() {
+; CHECK-LABEL: store_sh2add:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    lui a0, %hi(bar+8192)
+; CHECK-NEXT:    addi a0, a0, %lo(bar+8192)
+; CHECK-NEXT:    li a1, 10
+; CHECK-NEXT:    sb a1, -1768(a0)
+; CHECK-NEXT:    ret
+  store i8 10, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @bar, i32 0, i64 6424)
+  ret void
+}
+
+; With Zba the constant 12848 is created with LI+SH3ADD.
+define void @store_sh3add() {
+; CHECK-LABEL: store_sh3add:
+; CHECK:       # %bb.0:
+; CHECK-NEXT:    lui a0, %hi(bar+12288)
+; CHECK-NEXT:    addi a0, a0, %lo(bar+12288)
+; CHECK-NEXT:    li a1, 10
+; CHECK-NEXT:    sb a1, 560(a0)
+; CHECK-NEXT:    ret
+  store i8 10, i8* getelementptr inbounds ([0 x i8], [0 x i8]* @bar, i32 0, i64 12848)
+  ret void
+}
+
 ;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
 ; RV32I: {{.*}}
 ; RV32ZBA: {{.*}}


        


More information about the llvm-commits mailing list