Index: tests_lit/llvm2ice_tests/store.ll |
diff --git a/tests_lit/llvm2ice_tests/store.ll b/tests_lit/llvm2ice_tests/store.ll |
new file mode 100644 |
index 0000000000000000000000000000000000000000..edf2ff254403d2c904b059de013a15b334356bf0 |
--- /dev/null |
+++ b/tests_lit/llvm2ice_tests/store.ll |
@@ -0,0 +1,50 @@ |
+; RUIN: %llvm2ice %s -verbose inst | FileCheck %s |
+; RUIN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
+; RUN: %szdiff --llvm2ice=%llvm2ice %s | FileCheck --check-prefix=DUMP %s |
+ |
+define void @store_i64(i32 %addr_arg) { |
+entry: |
+ %ptr64 = inttoptr i32 %addr_arg to i64* |
+ store i64 1, i64* %ptr64, align 1 |
+ ret void |
+ |
+; CHECK: %ptr64 = i32 %addr_arg |
+; CHECK-NEXT: store i64 1, {{.*}}, align 1 |
+; CHECK-NEXT: ret void |
+} |
+ |
+define void @store_i32(i32 %addr_arg) { |
+entry: |
+ %ptr32 = inttoptr i32 %addr_arg to i32* |
+ store i32 1, i32* %ptr32, align 1 |
+ ret void |
+ |
+; CHECK: %ptr32 = i32 %addr_arg |
+; CHECK-NEXT: store i32 1, {{.*}}, align 1 |
+; CHECK-NEXT: ret void |
+} |
+ |
+define void @store_i16(i32 %addr_arg) { |
+entry: |
+ %ptr16 = inttoptr i32 %addr_arg to i16* |
+ store i16 1, i16* %ptr16, align 1 |
+ ret void |
+ |
+; CHECK: %ptr16 = i32 %addr_arg |
+; CHECK-NEXT: store i16 1, {{.*}}, align 1 |
+; CHECK-NEXT: ret void |
+} |
+ |
+define void @store_i8(i32 %addr_arg) { |
+entry: |
+ %ptr8 = inttoptr i32 %addr_arg to i8* |
+ store i8 1, i8* %ptr8, align 1 |
+ ret void |
+ |
+; CHECK: %ptr8 = i32 %addr_arg |
+; CHECK-NEXT: store i8 1, {{.*}}, align 1 |
+; CHECK-NEXT: ret void |
+} |
+ |
+; ERRORS-NOT: ICE translation error |
+; DUMP-NOT: SZ |