diff --git a/test/CodeGen/Generic/select.ll b/test/CodeGen/Generic/select.ll
index 222fd369544..db713554697 100644
--- a/test/CodeGen/Generic/select.ll
+++ b/test/CodeGen/Generic/select.ll
@@ -1,5 +1,7 @@
 %AConst    = constant int 123
 
+%Domain = type { sbyte*, int, int*, int, int, int*, %Domain* }
+
 implementation
 
 ; Test setting values of different constants in registers.
@@ -193,3 +195,13 @@ begin
 
 	ret void
 end
+
+
+; Test case for folding getelementptr into a load/store
+;
+int "checkFoldGEP"(%Domain* %D, long %idx)
+begin
+        %reg841 = getelementptr %Domain* %D, long 0, ubyte 2, long %idx
+        %reg820 = load int* %reg841
+        ret int %reg820
+end
diff --git a/test/LLC/select.ll b/test/LLC/select.ll
index 222fd369544..db713554697 100644
--- a/test/LLC/select.ll
+++ b/test/LLC/select.ll
@@ -1,5 +1,7 @@
 %AConst    = constant int 123
 
+%Domain = type { sbyte*, int, int*, int, int, int*, %Domain* }
+
 implementation
 
 ; Test setting values of different constants in registers.
@@ -193,3 +195,13 @@ begin
 
 	ret void
 end
+
+
+; Test case for folding getelementptr into a load/store
+;
+int "checkFoldGEP"(%Domain* %D, long %idx)
+begin
+        %reg841 = getelementptr %Domain* %D, long 0, ubyte 2, long %idx
+        %reg820 = load int* %reg841
+        ret int %reg820
+end