Merge 128016 from trunk into Morbo.  <rdar://problem/9156771>

llvm-svn: 128089
diff --git a/llvm-gcc-4.2/gcc/config/i386/llvm-i386.cpp b/llvm-gcc-4.2/gcc/config/i386/llvm-i386.cpp
index 6953cf1..77adca1 100644
--- a/llvm-gcc-4.2/gcc/config/i386/llvm-i386.cpp
+++ b/llvm-gcc-4.2/gcc/config/i386/llvm-i386.cpp
@@ -1232,14 +1232,8 @@
                               (int) GET_MODE_SIZE(Mode);
         if (Bytes==8 && Class[0] == X86_64_POINTER_CLASS)
           return Type::getInt8PtrTy(Context);
-        if (Bytes>4)
-          return Type::getInt64Ty(Context);
-        else if (Bytes>2)
-          return Type::getInt32Ty(Context);
-        else if (Bytes>1)
-          return Type::getInt16Ty(Context);
-        else
-          return Type::getInt8Ty(Context);
+        assert (Bytes <= 8 && "Unexpected type!");
+        return Type::getIntNTy(Context, Bytes*8);
       }
       assert(0 && "Unexpected type!"); 
     }