aboutsummaryrefslogtreecommitdiffstats
path: root/test/ExecutionEngine/test-loadstore.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/ExecutionEngine/test-loadstore.ll')
-rw-r--r--test/ExecutionEngine/test-loadstore.ll37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/ExecutionEngine/test-loadstore.ll b/test/ExecutionEngine/test-loadstore.ll
new file mode 100644
index 0000000..8a4b793
--- /dev/null
+++ b/test/ExecutionEngine/test-loadstore.ll
@@ -0,0 +1,37 @@
+; RUN: llvm-upgrade < %s | llvm-as -f -o %t.bc
+; RUN: lli %t.bc > /dev/null
+
+
+void %test(sbyte* %P, short* %P, int* %P, long* %P) {
+ %V = load sbyte* %P
+ store sbyte %V, sbyte* %P
+
+ %V = load short* %P
+ store short %V, short* %P
+
+ %V = load int* %P
+ store int %V, int* %P
+
+ %V = load long* %P
+ store long %V, long* %P
+
+ ret void
+}
+
+uint %varalloca(uint %Size) {
+ %X = alloca uint, uint %Size ;; Variable sized alloca
+ store uint %Size, uint* %X
+ %Y = load uint* %X
+ ret uint %Y
+}
+
+int %main() {
+ %A = alloca sbyte
+ %B = alloca short
+ %C = alloca int
+ %D = alloca long
+ call void %test(sbyte* %A, short* %B, int* %C, long* %D)
+ call uint %varalloca(uint 7)
+
+ ret int 0
+}