Add TargetLowering::prepareVolatileOrAtomicLoad
[oota-llvm.git] / lib / Target / SystemZ / SystemZAsmPrinter.cpp
index 75cbda4958a221f1b2a2f5b394981a78bcacb93e..0960b0dbe7afa89459246f37ca349149ac0d615c 100644 (file)
@@ -151,6 +151,15 @@ void SystemZAsmPrinter::EmitInstruction(const MachineInstr *MI) {
 
 #undef LOWER_HIGH
 
+  case SystemZ::Serialize:
+    if (Subtarget->hasFastSerialization())
+      LoweredMI = MCInstBuilder(SystemZ::AsmBCR)
+        .addImm(14).addReg(SystemZ::R0D);
+    else
+      LoweredMI = MCInstBuilder(SystemZ::AsmBCR)
+        .addImm(15).addReg(SystemZ::R0D);
+    break;
+
   default:
     Lower.lower(MI, LoweredMI);
     break;