// File: /workspace/github_cpp_makefile_star2_O2/jstaursky[P]hutch/src/Sleigh/slgh_compile.cc
// Function: ConsistencyChecker::printOpError(OpTpl*, Constructor*, int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
void ConsistencyChecker::printOpError(OpTpl *op,Constructor *ct,int4 err1,int4 err2,const string &msg)

{
  SubtableSymbol *sym = ct->getParent();
  OperandSymbol *op1,*op2;

  op1 = getOperandSymbol(err1,op,ct);
  if (err2 != err1)
    op2 = getOperandSymbol(err2,op,ct);
  else
    op2 = (OperandSymbol *)0;
  cerr << "Size restriction error in table \"" << sym->getName() << "\"" << endl;
  cerr << "  in constructor starting at line " << dec << ct->getLineno() << endl;
  if ((op1 != (OperandSymbol *)0)&&(op2 != (OperandSymbol *)0)) {
    cerr << "  Problem with \"" << op1->getName();
    cerr << "\" and \"" << op2->getName() << "\"";
  }
  else if (op1 != (OperandSymbol *)0)
    cerr << "  Problem with \"" << op1->getName() << "\"";
  else if (op2 != (OperandSymbol *)0)
    cerr << "  Problem with \"" << op2->getName() << "\"";
  else
    cerr << "  Problem";
  cerr << " in ";
  printOpName(cerr,op);
  cerr << " operator" << endl << "  " << msg << endl;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %r9, (%rsp)
movl %r8d, %r15d
movl %ecx, %ebx
movq %rdx, %r13
movq %rsi, %r14
movq 0x8(%rdx), %rbp
movl %ecx, %esi
movq %r14, %rdx
movq %r13, %rcx
callq 0x28148
movq %rax, %r12
cmpl %ebx, %r15d
jne 0x27fb0
xorl %r15d, %r15d
jmp 0x27fc1
movl %r15d, %esi
movq %r14, %rdx
movq %r13, %rcx
callq 0x28148
movq %rax, %r15
movq 0x60028(%rip), %rbx     # 0x87ff0
leaq 0x2ef10(%rip), %rsi     # 0x56edf
movq %rbx, %rdi
callq 0xf350
addq $0x8, %rbp
movq %rax, %rdi
movq %rbp, %rsi
callq 0xf320
leaq 0x2ef4e(%rip), %rsi     # 0x56f3b
movq %rax, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1c0
leaq 0x2eefd(%rip), %rsi     # 0x56f01
movq %rbx, %rdi
callq 0xf350
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0x90(%r13), %esi
movq %rax, %rdi
callq 0xf6a0
movq %rax, %rdi
callq 0xf1c0
testq %r12, %r12
sete %al
testq %r15, %r15
sete %cl
orb %al, %cl
jne 0x28088
movq 0x5ffa1(%rip), %rbx     # 0x87ff0
leaq 0x2eece(%rip), %rsi     # 0x56f24
movq %rbx, %rdi
callq 0xf350
addq $0x8, %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0xf320
leaq 0x2eec1(%rip), %rsi     # 0x56f35
movq %rbx, %rdi
callq 0xf350
addq $0x8, %r15
movq %rax, %rdi
movq %r15, %rsi
jmp 0x280ae
movq 0x5ff61(%rip), %rdi     # 0x87ff0
testq %r12, %r12
je 0x2812b
leaq 0x2ee85(%rip), %rsi     # 0x56f24
callq 0xf350
addq $0x8, %r12
movq %rax, %rdi
movq %r12, %rsi
callq 0xf320
leaq 0x2ee81(%rip), %rsi     # 0x56f3b
movq %rax, %rdi
callq 0xf350
movq 0x5ff27(%rip), %rbx     # 0x87ff0
leaq 0x2fb48(%rip), %rsi     # 0x57c18
movq %rbx, %rdi
callq 0xf350
movq %rbx, %rsi
movq %r14, %rdx
callq 0x26ea2
leaq 0x36489(%rip), %rsi     # 0x5e573
movq %rbx, %rdi
callq 0xf350
movq %rax, %rdi
callq 0xf1c0
leaq 0x36fe7(%rip), %rsi     # 0x5f0e8
movq %rax, %rdi
callq 0xf350
movq %rax, %rdi
movq (%rsp), %rsi
callq 0xf320
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xf1c0
testq %r15, %r15
je 0x2813c
leaq 0x2eded(%rip), %rsi     # 0x56f24
jmp 0x28077
leaq 0x2edfa(%rip), %rsi     # 0x56f3d
jmp 0x280bd