// File: jstaursky[P]hutch/src/Sleigh/semantics.cc
// Function: ConstTpl::saveXml(std::ostream&) const
void ConstTpl::saveXml(ostream &s) const

{
  s << "<const_tpl type=\"";
  switch(type) {
  case real:
    s << "real\" val=\"0x" << hex << value_real << "\"/>";
    break;
  case handle:
    s << "handle\" val=\"" << dec << value.handle_index << "\" ";
    s << "s=\"";
    printHandleSelector(s,select);
    s << "\"";
    if (select == v_offset_plus)
      s << " plus=\"0x" << hex << value_real << "\"";
    s << "/>";
    break;
  case j_start:
    s << "start\"/>";
    break;
  case j_next:
    s << "next\"/>";
    break;
  case j_curspace:
    s << "curspace\"/>";
    break;
  case j_curspace_size:
    s << "curspace_size\"/>";
    break;
  case spaceid:
    s << "spaceid\" name=\"" << value.spaceid->getName() << "\"/>";
    break;
  case j_relative:
    s << "relative\" val=\"0x" << hex << value_real << "\"/>";
    break;
  case j_flowref:
    s << "flowref\"/>";
    break;
  case j_flowref_size:
    s << "flowref_size\"/>";
    break;
  case j_flowdest:
    s << "flowdest\"/>";
    break;
  case j_flowdest_size:
    s << "flowdest_size\"/>";
    break;
  }
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x18(%rsp), %rdi
leaq 0x7283a(%rip), %rsi     # 0x18820e
callq 0xd8300
movq 0x8(%rsp), %rax
movl (%rax), %eax
movq %rax, 0x10(%rsp)
subq $0xb, %rax
ja 0x115c47
movq 0x10(%rsp), %rax
leaq 0x72759(%rip), %rcx     # 0x188154
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x18(%rsp), %rdi
leaq 0x72810(%rip), %rsi     # 0x188220
callq 0xd8300
movq %rax, %rdi
movq 0xb25a9(%rip), %rsi     # 0x1c7fc8
callq 0xd1180
movq %rax, %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xd0050
movq %rax, %rdi
leaq 0x72823(%rip), %rsi     # 0x188262
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x727d9(%rip), %rsi     # 0x18822e
callq 0xd8300
movq %rax, %rdi
movq 0xb2334(%rip), %rsi     # 0x1c7d98
callq 0xd1180
movq %rax, %rdi
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
callq 0xe03e0
movq %rax, %rdi
leaq 0x727b9(%rip), %rsi     # 0x18823c
callq 0xd8300
movq 0x18(%rsp), %rdi
leaq 0x7293a(%rip), %rsi     # 0x1883ce
callq 0xd8300
movq 0x8(%rsp), %rax
movq 0x18(%rsp), %rdi
movl 0x18(%rax), %esi
callq 0xd6ac0
movq 0x18(%rsp), %rdi
leaq 0x739d5(%rip), %rsi     # 0x18948c
callq 0xd8300
movq 0x8(%rsp), %rax
cmpl $0x3, 0x18(%rax)
jne 0x115b07
movq 0x18(%rsp), %rdi
leaq 0x7276c(%rip), %rsi     # 0x18823f
callq 0xd8300
movq %rax, %rdi
movq 0xb24e6(%rip), %rsi     # 0x1c7fc8
callq 0xd1180
movq %rax, %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xd0050
movq %rax, %rdi
leaq 0x7398a(%rip), %rsi     # 0x18948c
callq 0xd8300
movq 0x18(%rsp), %rdi
leaq 0x72750(%rip), %rsi     # 0x188263
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x72720(%rip), %rsi     # 0x188249
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x72713(%rip), %rsi     # 0x188252
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x72705(%rip), %rsi     # 0x18825a
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x726fb(%rip), %rsi     # 0x188266
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x726f6(%rip), %rsi     # 0x188277
callq 0xd8300
movq %rax, %rcx
movq 0x8(%rsp), %rax
movq %rcx, (%rsp)
movq 0x8(%rax), %rdi
callq 0xd06f0
movq (%rsp), %rdi
movq %rax, %rsi
callq 0xd7350
movq %rax, %rdi
leaq 0x726b1(%rip), %rsi     # 0x188262
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x726c0(%rip), %rsi     # 0x188287
callq 0xd8300
movq %rax, %rdi
movq 0xb23f2(%rip), %rsi     # 0x1c7fc8
callq 0xd1180
movq %rax, %rdi
movq 0x8(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xd0050
movq %rax, %rdi
leaq 0x7266c(%rip), %rsi     # 0x188262
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x72690(%rip), %rsi     # 0x188299
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x72688(%rip), %rsi     # 0x1882a4
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x72685(%rip), %rsi     # 0x1882b4
callq 0xd8300
jmp 0x115c47
movq 0x18(%rsp), %rdi
leaq 0x7267e(%rip), %rsi     # 0x1882c0
callq 0xd8300
addq $0x28, %rsp
retq
nopl (%rax)