ir/tests/x86/ra_013.irt
2022-11-08 11:56:22 +03:00

33 lines
582 B
Plaintext

--TEST--
013: Register Allocation (MOD + MOD + MOD)
--TARGET--
x86
--ARGS--
-S
--CODE--
{
l_1 = START(l_4);
uint32_t x_1 = PARAM(l_1, "x", 1);
uint32_t y_1 = PARAM(l_1, "y", 2);
uint32_t z_1 = PARAM(l_1, "z", 3);
uint32_t v_1 = PARAM(l_1, "v", 4);
uint32_t x_2 = MOD(x_1, y_1);
uint32_t x_3 = MOD(x_2, z_1);
uint32_t x_4 = MOD(v_1, x_3);
l_4 = RETURN(l_1, x_4);
}
--EXPECT--
test:
movl 4(%esp), %eax
xorl %edx, %edx
divl 8(%esp)
movl %edx, %eax
xorl %edx, %edx
divl 0xc(%esp)
movl %edx, %ecx
movl 0x10(%esp), %eax
xorl %edx, %edx
divl %ecx
movl %edx, %eax
retl