declare a class with 'class' instead of struct to avoid tag mismatch 
warnings, and don't shift by a bool.  Patch by Rizky Herucakra!

llvm-svn: 105886
diff --git a/llvm/include/llvm/Target/TargetInstrItineraries.h b/llvm/include/llvm/Target/TargetInstrItineraries.h
index 3dfa8bc..39648c2 100644
--- a/llvm/include/llvm/Target/TargetInstrItineraries.h
+++ b/llvm/include/llvm/Target/TargetInstrItineraries.h
@@ -106,7 +106,8 @@
 /// Instruction itinerary Data - Itinerary data supplied by a subtarget to be
 /// used by a target.
 ///
-struct InstrItineraryData {
+class InstrItineraryData {
+public:
   const InstrStage     *Stages;         ///< Array of stages selected
   const unsigned       *OperandCycles;  ///< Array of operand cycles selected
   const InstrItinerary *Itineratries;   ///< Array of itineraries selected
diff --git a/llvm/utils/TableGen/NeonEmitter.cpp b/llvm/utils/TableGen/NeonEmitter.cpp
index 3c7a9fe..6c5f862 100644
--- a/llvm/utils/TableGen/NeonEmitter.cpp
+++ b/llvm/utils/TableGen/NeonEmitter.cpp
@@ -669,7 +669,7 @@
     case 'h': nElts = 4; break;
     case 'f': nElts = 2; break;
   }
-  nElts <<= quad;
+  if (quad) nElts <<= 1;
 
   char arg = 'a';
   std::string s;