[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