// File: /workspace/github_cpp_makefile_star2_O3/besm6[P]pascal-re/pascompl.cc
// Function: initTables::initInsnTemplates()
void initInsnTemplates() {
        Insn l3var1z;
        Operator l3var2z;

        for (l3var1z = ATX; l3var1z <= JADDM; succ(l3var1z))
            InsnTemp[l3var1z] = l3var1z * 010000;
        InsnTemp[ELFUN] = 0500000;
        jdx = KUTC;
        for (l3var1z = UTC; l3var1z <= VJM; succ(l3var1z)) {
            InsnTemp[l3var1z] = jdx;
            jdx = (jdx + 0100000);
        }
        for (idx=1; idx <= 15; ++idx)
            indexreg[idx] = idx * frameRegTemplate;
        jumpType = InsnTemp[UJ];
        for (l3var2z = MUL; l3var2z<=ASSIGNOP; succ(l3var2z)) {
            opFlags[l3var2z] = opfCOMM;
            opToInsn[l3var2z] = 0;
            if (Bits(MUL, RDIVOP, PLUSOP, MINUSOP).has(l3var2z)) {
                opToMode[l3var2z] = 3;
            } else if (Bits(IDIVOP, IMODOP).has(l3var2z)) {
                opToMode[l3var2z] = 2;
            } else if (Bits(IMULOP, INTPLUS, INTMINUS, badop27).has(l3var2z)) {
                opToMode[l3var2z] = 1;
            } else if (Bits(IDIVROP, badop30, badop31).has(l3var2z)) {
                opToMode[l3var2z] = 4;
            } else {
                opToMode[l3var2z] = 0;
            }
        }
        opToInsn[MUL] = InsnTemp[AMULX];
        opToInsn[RDIVOP] = InsnTemp[ADIVX];
        opToInsn[IDIVOP] = 17; /* P/DI */
        opToInsn[IMODOP] = 11; /* P/MD */
        opToInsn[PLUSOP] = InsnTemp[ADD];
        opToInsn[MINUSOP] = InsnTemp[SUB];
        opToInsn[IMULOP] = InsnTemp[AMULX];
        opToInsn[SETAND] = InsnTemp[AAX];
        opToInsn[SETXOR] = InsnTemp[AEX];
        opToInsn[SETOR] = InsnTemp[AOX];
        opToInsn[INTPLUS] = InsnTemp[ADD];
        opToInsn[INTMINUS] = InsnTemp[SUB];
        opToInsn[IDIVROP] = 67; /* P/IS */
        opToInsn[badop27] = 22; /* P/II unused, undefined */
        opToInsn[badop30] = 23; /* P/RR */
        opToInsn[badop31] = 24; /* P/RI */
        opToInsn[MKRANGE] = 61; /* P/PI */
        opToInsn[SETSUB] = InsnTemp[AAX];
        opFlags[AMPERS] = opfAND;
        opFlags[IDIVOP] = opfDIV;
        opFlags[OROP] = opfOR;
        opFlags[IMULOP] = opfMULMSK;
        opFlags[IMODOP] = opfMOD;
        opFlags[badop27] = opfHELP;
        opFlags[badop30] = opfHELP;
        opFlags[badop31] = opfHELP;
        opFlags[MKRANGE] = opfHELP;
        opFlags[IDIVROP] = opfHELP;
        opFlags[ASSIGNOP] = opfASSN;
        opFlags[SETSUB] = opfINV;
        for (jdx = 0; jdx <= 6; ++jdx) {
            funcInsn[jdx] = (0500000 + jdx);
        }
    }

// Assembly:
movdqa 0x13d0(%rip), %xmm0     # 0x1c010
xorl %ecx, %ecx
leaq 0x4e727(%rip), %rax     # 0x69370
movdqa 0x13ff(%rip), %xmm1     # 0x1c050
movdqa %xmm0, %xmm2
psllq $0xc, %xmm2
movdqa %xmm2, (%rcx,%rax)
paddq %xmm1, %xmm0
addq $0x10, %rcx
cmpq $0x130, %rcx            # imm = 0x130
jne 0x1ac51
movq $0x28000, 0x4e825(%rip) # imm = 0x28000
movq $0x90000, 0x8(%rdi)     # imm = 0x90000
movl $0x90000, %edx          # imm = 0x90000
xorl %ecx, %ecx
movl $0x8000, %esi           # imm = 0x8000
movq %rdx, 0x138(%rax,%rcx,8)
movq 0x8(%rdi), %rdx
addq %rsi, %rdx
movq %rdx, 0x8(%rdi)
incq %rcx
cmpq $0x8, %rcx
jne 0x1ac8f
movq 0x95c6(%rip), %rax      # 0x24278
movq $0x1, (%rdi)
movl $0x1, %edx
leaq 0x4e1ab(%rip), %rcx     # 0x68e70
movq %rax, %rsi
imulq %rdx, %rsi
movq %rsi, (%rcx,%rdx,8)
movq (%rdi), %rsi
leaq 0x1(%rsi), %rdx
movq %rdx, (%rdi)
cmpq $0xf, %rsi
jl 0x1acc5
pushq %rbx
movq 0x4e7f0(%rip), %rax     # 0x694d8
movq %rax, 0x49b11(%rip)     # 0x64800
leaq 0x4e4fa(%rip), %rax     # 0x691f0
movl $0x2f, %ecx
xorl %edx, %edx
leaq 0x4e1ec(%rip), %rsi     # 0x68ef0
movabsq $0xc60000000000, %r8    # imm = 0xC60000000000
movabsq $0x180000000000, %r9    # imm = 0x180000000000
movabsq $0x107000000, %r10      # imm = 0x107000000
leaq 0x4e347(%rip), %r11     # 0x69070
movl $0x0, (%rax)
movq $0x0, (%rdx,%rsi)
movl $0x1, %ebx
shlq %cl, %rbx
btq %rcx, %r8
jae 0x1ad4f
movq $0x3, (%rdx,%r11)
jmp 0x1ad87
testq %r9, %rbx
je 0x1ad5e
movq $0x2, (%rdx,%r11)
jmp 0x1ad87
testq %r10, %rbx
je 0x1ad6d
movq $0x1, (%rdx,%r11)
jmp 0x1ad87
testl $0x80c00000, %ebx       # imm = 0x80C00000
je 0x1ad7f
movq $0x4, (%rdx,%r11)
jmp 0x1ad87
movq $0x0, (%rdx,%r11)
addq $0x4, %rax
addq $0x8, %rdx
decq %rcx
cmpq $0x13, %rcx
jne 0x1ad29
movq 0x4e649(%rip), %rax     # 0x693e8
movq %rax, 0x4e14a(%rip)     # 0x68ef0
movq 0x4e633(%rip), %rcx     # 0x693e0
movq %rcx, 0x4e144(%rip)     # 0x68ef8
movq $0x11, 0x4e149(%rip) # 0x68f08
movq $0xb, 0x4e146(%rip) # 0x68f10
movq 0x4e5bf(%rip), %rcx     # 0x69390
movq %rcx, 0x4e140(%rip)     # 0x68f18
movq 0x4e5b9(%rip), %rdx     # 0x69398
movq %rdx, 0x4e13a(%rip)     # 0x68f20
movq %rax, 0x4e17b(%rip)     # 0x68f68
movups 0x4e5c4(%rip), %xmm0    # 0x693b8
movups %xmm0, 0x4e17d(%rip)    # 0x68f78
movq 0x4e5d6(%rip), %rax     # 0x693d8
movq %rax, 0x4e17f(%rip)     # 0x68f88
movq %rcx, 0x4e188(%rip)     # 0x68f98
movq %rdx, 0x4e189(%rip)     # 0x68fa0
movq $0x43, 0x4e14e(%rip) # 0x68f70
movq $0x16, 0x4e17b(%rip) # 0x68fa8
movq $0x17, 0x4e178(%rip) # 0x68fb0
movq $0x18, 0x4e175(%rip) # 0x68fb8
movq $0x3d, 0x4e172(%rip) # 0x68fc0
movlps %xmm0, 0x4e13b(%rip)    # 0x68f90
movabsq $0x400000002, %rax      # imm = 0x400000002
movq %rax, 0x4e392(%rip)     # 0x691f8
movl $0x3, 0x4e39c(%rip)     # 0x6920c
movabsq $0x100000006, %rax      # imm = 0x100000006
movq %rax, 0x4e3ab(%rip)     # 0x6922c
movl $0x5, 0x4e375(%rip)     # 0x69200
movaps 0x128e(%rip), %xmm0     # 0x1c120
movups %xmm0, 0x4e3b3(%rip)    # 0x6924c
movl $0x7, 0x4e3b9(%rip)     # 0x6925c
movl $0x8, 0x4e393(%rip)     # 0x69240
movq $0x0, 0x8(%rdi)
xorl %ecx, %ecx
leaq 0x4e3f2(%rip), %rax     # 0x692b0
popq %rbx
leaq 0x28000(%rcx), %rdx
movq %rdx, (%rax,%rcx,8)
movq 0x8(%rdi), %rdx
leaq 0x1(%rdx), %rcx
movq %rcx, 0x8(%rdi)
cmpq $0x6, %rdx
jl 0x1aebf
retq
nop