message: Fix inline asm codegen for empty template
diff: @@ -18,6 +18,7 @@ pub(crate) fn codegen_inline_asm<'tcx>(
  ) {
  // FIXME add .eh_frame unwind info directives
  + if !template.is_empty() {
  if template[0] == InlineAsmTemplatePiece::String("int $$0x29".to_string()) {
  let true_ = fx.bcx.ins().iconst(types::I32, 1);
  fx.bcx.ins().trapnz(true_, TrapCode::User(1));
  @@ -25,7 +26,11 @@ pub(crate) fn codegen_inline_asm<'tcx>(
  } else if template[0] == InlineAsmTemplatePiece::String("movq %rbx, ".to_string())
  && matches!(
  template[1],
  - InlineAsmTemplatePiece::Placeholder { operand_idx: 0, modifier: Some('r'), span: _ }
  + InlineAsmTemplatePiece::Placeholder {
  + operand_idx: 0,
  + modifier: Some('r'),
  + span: _
  + }
  )
  && template[2] == InlineAsmTemplatePiece::String("\n".to_string())
  && template[3] == InlineAsmTemplatePiece::String("cpuid".to_string())
  @@ -33,7 +38,11 @@ pub(crate) fn codegen_inline_asm<'tcx>(
  && template[5] == InlineAsmTemplatePiece::String("xchgq %rbx, ".to_string())
  && matches!(
  template[6],
  - InlineAsmTemplatePiece::Placeholder { operand_idx: 0, modifier: Some('r'), span: _ }
  + InlineAsmTemplatePiece::Placeholder {
  + operand_idx: 0,
  + modifier: Some('r'),
  + span: _
  + }
  )
  {
  assert_eq!(operands.len(), 4);
  @@ -99,6 +108,7 @@ pub(crate) fn codegen_inline_asm<'tcx>(
  } else if fx.tcx.symbol_name(fx.instance).name == "__alloca" {
  crate::trap::trap_unimplemented(fx, "Alloca is not supported");
  }
  + }
  let mut inputs = Vec::new();
  let mut outputs = Vec::new();
  