It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/Generic/switch-lower-feature-2.ll b/test/CodeGen/Generic/switch-lower-feature-2.ll
new file mode 100644
index 0000000..6552cb1
--- /dev/null
+++ b/test/CodeGen/Generic/switch-lower-feature-2.ll
@@ -0,0 +1,50 @@
+; RUN: llvm-as < %s | llc -march=x86 -o %t -f
+; RUN: grep jb %t | wc -l | grep 1
+; RUN: grep \\\$6 %t | wc -l | grep 2 
+; RUN: grep 1024 %t | wc -l | grep 1 
+; RUN: grep 1023 %t | wc -l | grep 1 
+; RUN: grep 119  %t | wc -l | grep 1 
+; RUN: grep JTI %t | wc -l | grep 2 
+; RUN: grep jg %t | wc -l | grep 1 
+; RUN: grep ja %t | wc -l | grep 1 
+; RUN: grep js %t | wc -l | grep 1
+
+target triple = "i686-pc-linux-gnu"
+
+define i32 @main(i32 %tmp158) {
+entry:
+        switch i32 %tmp158, label %bb336 [
+	         i32 -2147483648, label %bb338
+		 i32 -2147483647, label %bb338
+		 i32 -2147483646, label %bb338
+	         i32 120, label %bb338
+	         i32 121, label %bb339
+                 i32 122, label %bb340
+                 i32 123, label %bb341
+                 i32 124, label %bb342
+                 i32 125, label %bb343
+                 i32 126, label %bb336
+		 i32 1024, label %bb338
+                 i32 0, label %bb338
+                 i32 1, label %bb338
+                 i32 2, label %bb338
+                 i32 3, label %bb338
+                 i32 4, label %bb338
+		 i32 5, label %bb338
+        ]
+bb336:
+  ret i32 10
+bb338:
+  ret i32 11
+bb339:
+  ret i32 12
+bb340:
+  ret i32 13
+bb341:
+  ret i32 14
+bb342:
+  ret i32 15
+bb343:
+  ret i32 18
+
+}