| Index: lib/CodeGen/CGExprScalar.cpp
 | 
| ===================================================================
 | 
| --- lib/CodeGen/CGExprScalar.cpp	(revision 138929)
 | 
| +++ lib/CodeGen/CGExprScalar.cpp	(working copy)
 | 
| @@ -2072,6 +2072,7 @@
 | 
|                                          BuiltinType::Kind ElemKind) {
 | 
|    switch (ElemKind) {
 | 
|    default: assert(0 && "unexpected element type");
 | 
| +#if 0
 | 
|    case BuiltinType::Char_U:
 | 
|    case BuiltinType::UChar:
 | 
|      return (IT == VCMPEQ) ? llvm::Intrinsic::ppc_altivec_vcmpequb_p :
 | 
| @@ -2104,6 +2105,7 @@
 | 
|      return (IT == VCMPEQ) ? llvm::Intrinsic::ppc_altivec_vcmpeqfp_p :
 | 
|                              llvm::Intrinsic::ppc_altivec_vcmpgtfp_p;
 | 
|      break;
 | 
| +#endif
 | 
|    }
 | 
|    return llvm::Intrinsic::not_intrinsic;
 | 
|  }
 | 
| @@ -2162,8 +2164,13 @@
 | 
|        case BO_LE:
 | 
|          if (ElementKind == BuiltinType::Float) {
 | 
|            CR6 = CR6_LT;
 | 
| +#if defined(TARGET_ENABLED_POWERPC)
 | 
|            ID = llvm::Intrinsic::ppc_altivec_vcmpgefp_p;
 | 
|            std::swap(FirstVecArg, SecondVecArg);
 | 
| +#else
 | 
| +          llvm_unreachable("Using Intrinsic::ppc_altivec_vcmpgefp_p w/out"
 | 
| +                           " TARGET_ENABLED_POWERPC defined!");
 | 
| +#endif  // TARGET_ENABLED_POWERPC
 | 
|          }
 | 
|          else {
 | 
|            CR6 = CR6_EQ;
 | 
| @@ -2173,7 +2180,12 @@
 | 
|        case BO_GE:
 | 
|          if (ElementKind == BuiltinType::Float) {
 | 
|            CR6 = CR6_LT;
 | 
| +#if defined(TARGET_ENABLED_POWERPC)
 | 
|            ID = llvm::Intrinsic::ppc_altivec_vcmpgefp_p;
 | 
| +#else
 | 
| +          llvm_unreachable("Using Intrinsic::ppc_altivec_vcmpgefp_p w/out"
 | 
| +                           " TARGET_ENABLED_POWERPC defined!");
 | 
| +#endif  // TARGET_ENABLED_POWERPC
 | 
|          }
 | 
|          else {
 | 
|            CR6 = CR6_EQ;
 | 
| 
 |