Thumb2 POP's don't allow the PC as an operand, and PUSH's don't allow the SP either.
[oota-llvm.git] / lib / AsmParser / LLToken.h
index f4c834ac235d024c908e45a9c657ea51cd44845e..d22ecf31bdaebbc1ea7b07c112ff5efe22e9a8b9 100644 (file)
@@ -110,6 +110,9 @@ namespace lltok {
     kw_uge, kw_oeq, kw_one, kw_olt, kw_ogt, kw_ole, kw_oge, kw_ord, kw_uno,
     kw_ueq, kw_une,
 
+    // atomicrmw operations that aren't also instruction keywords.
+    kw_xchg, kw_nand, kw_max, kw_min, kw_umax, kw_umin,
+
     // Instruction Opcodes (Opcode in UIntVal).
     kw_add,  kw_fadd, kw_sub,  kw_fsub, kw_mul,  kw_fmul,
     kw_udiv, kw_sdiv, kw_fdiv,
@@ -126,7 +129,8 @@ namespace lltok {
     kw_ret, kw_br, kw_switch, kw_indirectbr, kw_invoke, kw_unwind, kw_resume,
     kw_unreachable,
 
-    kw_alloca, kw_load, kw_store, kw_fence, kw_getelementptr,
+    kw_alloca, kw_load, kw_store, kw_fence, kw_cmpxchg, kw_atomicrmw,
+    kw_getelementptr,
 
     kw_extractelement, kw_insertelement, kw_shufflevector,
     kw_extractvalue, kw_insertvalue, kw_blockaddress,
@@ -145,8 +149,8 @@ namespace lltok {
     // Type valued tokens (TyVal).
     Type,
 
-    APFloat,           // APFloatVal
-    APSInt             // APSInt
+    APFloat,  // APFloatVal
+    APSInt // APSInt
   };
 } // end namespace lltok
 } // end namespace llvm