// File: /workspace/github_c_makefile_star2_O0/mmcco[P]sljit/test_src/sljitTest.c
// Function: test25
static void test25(void)
{
#if (defined SLJIT_64BIT_ARCHITECTURE && SLJIT_64BIT_ARCHITECTURE)
	/* 64 bit loads. */
	executable_code code;
	struct sljit_compiler* compiler = sljit_create_compiler();
	long buf[14];

	if (verbose)
		printf("Run test25\n");

	FAILED(!compiler, "cannot create compiler\n");
	buf[0] = 7;
	buf[1] = 0;
	buf[2] = 0;
	buf[3] = 0;
	buf[4] = 0;
	buf[5] = 0;
	buf[6] = 0;
	buf[7] = 0;
	buf[8] = 0;
	buf[9] = 0;
	buf[10] = 0;
	buf[11] = 0;
	buf[12] = 0;
	buf[13] = 0;

	sljit_emit_enter(compiler, 0, 1, 3, 1, 0, 0, 0);

	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 0, SLJIT_IMM, 0);
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 1 * sizeof(long), SLJIT_IMM, 0x7fff);
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 2 * sizeof(long), SLJIT_IMM, -0x8000);
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 3 * sizeof(long), SLJIT_IMM, 0x7fffffff);
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 4 * sizeof(long), SLJIT_IMM, SLJIT_W(-0x80000000));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 5 * sizeof(long), SLJIT_IMM, SLJIT_W(0x1234567887654321));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 6 * sizeof(long), SLJIT_IMM, SLJIT_W(0xff80000000));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 7 * sizeof(long), SLJIT_IMM, SLJIT_W(0x3ff0000000));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 8 * sizeof(long), SLJIT_IMM, SLJIT_W(0xfffffff800100000));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 9 * sizeof(long), SLJIT_IMM, SLJIT_W(0xfffffff80010f000));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 10 * sizeof(long), SLJIT_IMM, SLJIT_W(0x07fff00000008001));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 11 * sizeof(long), SLJIT_IMM, SLJIT_W(0x07fff00080010000));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 12 * sizeof(long), SLJIT_IMM, SLJIT_W(0x07fff00080018001));
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 13 * sizeof(long), SLJIT_IMM, SLJIT_W(0x07fff00ffff00000));

	sljit_emit_return(compiler, SLJIT_UNUSED, 0, 0);

	code.code = sljit_generate_code(compiler);
	CHECK(compiler);
	sljit_free_compiler(compiler);

	code.func1((long)&buf);
	FAILED(buf[0] != 0, "test25 case 1 failed\n");
	FAILED(buf[1] != 0x7fff, "test25 case 2 failed\n");
	FAILED(buf[2] != -0x8000, "test25 case 3 failed\n");
	FAILED(buf[3] != 0x7fffffff, "test25 case 4 failed\n");
	FAILED(buf[4] != SLJIT_W(-0x80000000), "test25 case 5 failed\n");
	FAILED(buf[5] != SLJIT_W(0x1234567887654321), "test25 case 6 failed\n");
	FAILED(buf[6] != SLJIT_W(0xff80000000), "test25 case 7 failed\n");
	FAILED(buf[7] != SLJIT_W(0x3ff0000000), "test25 case 8 failed\n");
	FAILED((unsigned long)buf[8] != SLJIT_W(0xfffffff800100000), "test25 case 9 failed\n");
	FAILED((unsigned long)buf[9] != SLJIT_W(0xfffffff80010f000), "test25 case 10 failed\n");
	FAILED(buf[10] != SLJIT_W(0x07fff00000008001), "test25 case 11 failed\n");
	FAILED(buf[11] != SLJIT_W(0x07fff00080010000), "test25 case 12 failed\n");
	FAILED(buf[12] != SLJIT_W(0x07fff00080018001), "test25 case 13 failed\n");
	FAILED(buf[13] != SLJIT_W(0x07fff00ffff00000), "test25 case 14 failed\n");

	sljit_free_code(code.code);
#endif
	successful_tests++;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
callq 0x18ba0
movq %rax, -0x10(%rbp)
cmpl $0x0, 0x29119(%rip)     # 0x34354
je 0xb24b
leaq 0x23474(%rip), %rdi     # 0x2e6b8
movb $0x0, %al
callq 0x2070
cmpq $0x0, -0x10(%rbp)
jne 0xb265
leaq 0x2217a(%rip), %rdi     # 0x2d3d3
movb $0x0, %al
callq 0x2070
jmp 0xb757
movq $0x7, -0x80(%rbp)
movq $0x0, -0x78(%rbp)
movq $0x0, -0x70(%rbp)
movq $0x0, -0x68(%rbp)
movq $0x0, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x48(%rbp)
movq $0x0, -0x40(%rbp)
movq $0x0, -0x38(%rbp)
movq $0x0, -0x30(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x20(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x10(%rbp), %rdi
xorl %r9d, %r9d
movl $0x1, %r8d
movl $0x3, %ecx
movl %r9d, %esi
movl %r8d, %edx
movl $0x0, (%rsp)
movl $0x0, 0x8(%rsp)
callq 0x19b20
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
xorl %eax, %eax
movl %eax, %r9d
movl $0x40, %r8d
movq %r9, %rcx
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x8, %ecx
movl $0x40, %r8d
movl $0x7fff, %r9d           # imm = 0x7FFF
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x10, %ecx
movl $0x40, %r8d
movq $-0x8000, %r9           # imm = 0x8000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x18, %ecx
movl $0x40, %r8d
movl $0x7fffffff, %r9d       # imm = 0x7FFFFFFF
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x20, %ecx
movl $0x40, %r8d
movq $-0x80000000, %r9       # imm = 0x80000000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x28, %ecx
movl $0x40, %r8d
movabsq $0x1234567887654321, %r9 # imm = 0x1234567887654321
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x30, %ecx
movl $0x40, %r8d
movabsq $0xff80000000, %r9      # imm = 0xFF80000000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x38, %ecx
movl $0x40, %r8d
movabsq $0x3ff0000000, %r9      # imm = 0x3FF0000000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x40, %ecx
movl $0x40, %r8d
movabsq $-0x7fff00000, %r9      # imm = 0xFFFFFFF800100000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x48, %ecx
movl $0x40, %r8d
movabsq $-0x7ffef1000, %r9      # imm = 0xFFFFFFF80010F000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x50, %ecx
movl $0x40, %r8d
movabsq $0x7fff00000008001, %r9 # imm = 0x7FFF00000008001
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x58, %ecx
movl $0x40, %r8d
movabsq $0x7fff00080010000, %r9 # imm = 0x7FFF00080010000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x60, %ecx
movl $0x40, %r8d
movabsq $0x7fff00080018001, %r9 # imm = 0x7FFF00080018001
callq 0x1d3d0
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
movl $0x68, %ecx
movl $0x40, %r8d
movabsq $0x7fff00ffff00000, %r9 # imm = 0x7FFF00FFFF00000
callq 0x1d3d0
movq -0x10(%rbp), %rdi
xorl %edx, %edx
xorl %eax, %eax
movl %eax, %ecx
movl %edx, %esi
callq 0x1a7c0
movq -0x10(%rbp), %rdi
callq 0x19070
movq %rax, -0x8(%rbp)
movq -0x10(%rbp), %rdi
callq 0x18030
cmpl $0x1, %eax
je 0xb56f
movq -0x10(%rbp), %rdi
callq 0x18030
movl %eax, %esi
leaq 0x21ebe(%rip), %rdi     # 0x2d418
movb $0x0, %al
callq 0x2070
movq -0x10(%rbp), %rdi
callq 0x18d90
jmp 0xb757
movq -0x10(%rbp), %rdi
callq 0x18d90
movq -0x8(%rbp), %rax
leaq -0x80(%rbp), %rdi
callq *%rax
cmpq $0x0, -0x80(%rbp)
je 0xb59c
leaq 0x23134(%rip), %rdi     # 0x2e6c4
movb $0x0, %al
callq 0x2070
jmp 0xb757
cmpq $0x7fff, -0x78(%rbp)    # imm = 0x7FFF
je 0xb5b9
leaq 0x2312d(%rip), %rdi     # 0x2e6da
movb $0x0, %al
callq 0x2070
jmp 0xb757
cmpq $-0x8000, -0x70(%rbp)   # imm = 0x8000
je 0xb5d6
leaq 0x23126(%rip), %rdi     # 0x2e6f0
movb $0x0, %al
callq 0x2070
jmp 0xb757
cmpq $0x7fffffff, -0x68(%rbp) # imm = 0x7FFFFFFF
je 0xb5f3
leaq 0x2311f(%rip), %rdi     # 0x2e706
movb $0x0, %al
callq 0x2070
jmp 0xb757
cmpq $-0x80000000, -0x60(%rbp) # imm = 0x80000000
je 0xb610
leaq 0x23118(%rip), %rdi     # 0x2e71c
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0x1234567887654321, %rax # imm = 0x1234567887654321
cmpq %rax, -0x58(%rbp)
je 0xb633
leaq 0x2310b(%rip), %rdi     # 0x2e732
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0xff80000000, %rax     # imm = 0xFF80000000
cmpq %rax, -0x50(%rbp)
je 0xb656
leaq 0x230fe(%rip), %rdi     # 0x2e748
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0x3ff0000000, %rax     # imm = 0x3FF0000000
cmpq %rax, -0x48(%rbp)
je 0xb679
leaq 0x230f1(%rip), %rdi     # 0x2e75e
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $-0x7fff00000, %rax     # imm = 0xFFFFFFF800100000
cmpq %rax, -0x40(%rbp)
je 0xb69c
leaq 0x230e4(%rip), %rdi     # 0x2e774
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $-0x7ffef1000, %rax     # imm = 0xFFFFFFF80010F000
cmpq %rax, -0x38(%rbp)
je 0xb6bf
leaq 0x230d7(%rip), %rdi     # 0x2e78a
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0x7fff00000008001, %rax # imm = 0x7FFF00000008001
cmpq %rax, -0x30(%rbp)
je 0xb6df
leaq 0x230cb(%rip), %rdi     # 0x2e7a1
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0x7fff00080010000, %rax # imm = 0x7FFF00080010000
cmpq %rax, -0x28(%rbp)
je 0xb6ff
leaq 0x230c2(%rip), %rdi     # 0x2e7b8
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0x7fff00080018001, %rax # imm = 0x7FFF00080018001
cmpq %rax, -0x20(%rbp)
je 0xb71f
leaq 0x230b9(%rip), %rdi     # 0x2e7cf
movb $0x0, %al
callq 0x2070
jmp 0xb757
movabsq $0x7fff00ffff00000, %rax # imm = 0x7FFF00FFFF00000
cmpq %rax, -0x18(%rbp)
je 0xb73f
leaq 0x230b0(%rip), %rdi     # 0x2e7e6
movb $0x0, %al
callq 0x2070
jmp 0xb757
movq -0x8(%rbp), %rdi
callq 0x18e10
movl 0x28c0e(%rip), %eax     # 0x3435c
addl $0x1, %eax
movl %eax, 0x28c05(%rip)     # 0x3435c
addq $0x90, %rsp
popq %rbp
retq