// File: /workspace/github_c_makefile_star2_O0/mmcco[P]sljit/test_src/sljitTest.c
// Function: test53
static void test53(void)
{
	/* Check SLJIT_DOUBLE_ALIGNMENT. */
	executable_code code;
	struct sljit_compiler* compiler = sljit_create_compiler();
	long buf[1];

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

	FAILED(!compiler, "cannot create compiler\n");
	buf[0] = -1;

	sljit_emit_enter(compiler, SLJIT_DOUBLE_ALIGNMENT, 1, 1, 1, 0, 0, 2 * sizeof(long));

	sljit_get_local_base(compiler, SLJIT_R0, 0, 0);
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 0, SLJIT_R0, 0);

	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] & (sizeof(double) - 1)) != 0, "test53 case 1 failed\n");

	sljit_free_code(code.code);

	/* Next test. */

	compiler = sljit_create_compiler();
	FAILED(!compiler, "cannot create compiler\n");
	buf[0] = -1;

	/* One more saved reg to break the alignment on x86-32. */
	sljit_emit_enter(compiler, SLJIT_DOUBLE_ALIGNMENT, 1, 1, 2, 0, 0, 2 * sizeof(long));

	sljit_get_local_base(compiler, SLJIT_R0, 0, 0);
	sljit_emit_op1(compiler, SLJIT_MOV, SLJIT_MEM1(SLJIT_S0), 0, SLJIT_R0, 0);

	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] & (sizeof(double) - 1)) != 0, "test53 case 2 failed\n");

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

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
callq 0x18ba0
movq %rax, -0x10(%rbp)
cmpl $0x0, 0x1c59c(%rip)     # 0x34354
je 0x17dc8
leaq 0x184d4(%rip), %rdi     # 0x30295
movb $0x0, %al
callq 0x2070
cmpq $0x0, -0x10(%rbp)
jne 0x17de2
leaq 0x155fd(%rip), %rdi     # 0x2d3d3
movb $0x0, %al
callq 0x2070
jmp 0x17ffe
movq $-0x1, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movl $0x1, %r8d
xorl %r9d, %r9d
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
movl $0x0, (%rsp)
movl $0x10, 0x8(%rsp)
callq 0x19b20
movq -0x10(%rbp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x29f20
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
xorl %eax, %eax
movl %eax, %r9d
movl $0x1, %r8d
movq %r9, %rcx
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 0x17e9d
movq -0x10(%rbp), %rdi
callq 0x18030
movl %eax, %esi
leaq 0x15590(%rip), %rdi     # 0x2d418
movb $0x0, %al
callq 0x2070
movq -0x10(%rbp), %rdi
callq 0x18d90
jmp 0x17ffe
movq -0x10(%rbp), %rdi
callq 0x18d90
movq -0x8(%rbp), %rax
leaq -0x18(%rbp), %rdi
callq *%rax
movq -0x18(%rbp), %rax
andq $0x7, %rax
cmpq $0x0, %rax
je 0x17ed1
leaq 0x183dc(%rip), %rdi     # 0x302a1
movb $0x0, %al
callq 0x2070
jmp 0x17ffe
movq -0x8(%rbp), %rdi
callq 0x18e10
callq 0x18ba0
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x17efd
leaq 0x154e2(%rip), %rdi     # 0x2d3d3
movb $0x0, %al
callq 0x2070
jmp 0x17ffe
movq $-0x1, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movl $0x1, %ecx
movl $0x2, %r8d
xorl %r9d, %r9d
movl %ecx, %esi
movl %ecx, %edx
movl $0x0, (%rsp)
movl $0x10, 0x8(%rsp)
callq 0x19b20
movq -0x10(%rbp), %rdi
movl $0x1, %esi
xorl %eax, %eax
movl %eax, %ecx
movq %rcx, %rdx
callq 0x29f20
movq -0x10(%rbp), %rdi
movl $0x20, %esi
movl $0x8c, %edx
xorl %eax, %eax
movl %eax, %r9d
movl $0x1, %r8d
movq %r9, %rcx
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 0x17fb5
movq -0x10(%rbp), %rdi
callq 0x18030
movl %eax, %esi
leaq 0x15475(%rip), %rdi     # 0x2d418
movb $0x0, %al
callq 0x2070
movq -0x10(%rbp), %rdi
callq 0x18d90
jmp 0x17ffe
movq -0x10(%rbp), %rdi
callq 0x18d90
movq -0x8(%rbp), %rax
leaq -0x18(%rbp), %rdi
callq *%rax
movq -0x18(%rbp), %rax
andq $0x7, %rax
cmpq $0x0, %rax
je 0x17fe6
leaq 0x182da(%rip), %rdi     # 0x302b7
movb $0x0, %al
callq 0x2070
jmp 0x17ffe
movq -0x8(%rbp), %rdi
callq 0x18e10
movl 0x1c367(%rip), %eax     # 0x3435c
addl $0x1, %eax
movl %eax, 0x1c35e(%rip)     # 0x3435c
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)