ARM test cases contributed by Apple.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33354 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/ARM/ldr_ext.ll b/test/CodeGen/ARM/ldr_ext.ll
new file mode 100644
index 0000000..767f035
--- /dev/null
+++ b/test/CodeGen/ARM/ldr_ext.ll
@@ -0,0 +1,29 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldrb"  | wc -l | grep 1 &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldrsb" | wc -l | grep 1 &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldrh"  | wc -l | grep 1 &&
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "ldrsh" | wc -l | grep 1
+
+int %test1(ubyte* %v) {
+	%tmp = load ubyte* %v
+	%tmp1 = cast ubyte %tmp to int
+	ret int %tmp1
+}
+
+int %test2(ushort* %v) {
+	%tmp = load ushort* %v
+	%tmp1 = cast ushort %tmp to int
+	ret int %tmp1
+}
+
+int %test3(sbyte* %v) {
+	%tmp = load sbyte* %v
+	%tmp1 = cast sbyte %tmp to int
+	ret int %tmp1
+}
+
+int %test4(short* %v) {
+	%tmp = load short* %v
+	%tmp1 = cast short %tmp to int
+	ret int %tmp1
+}