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

28 lines
513 B
Plaintext

--TEST--
013: Register Allocation (MOD + MOD + MOD)
--TARGET--
aarch64
--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:
udiv w4, w0, w1
msub w0, w4, w1, w0
udiv w1, w0, w2
msub w0, w1, w2, w0
udiv w1, w3, w0
msub w0, w1, w0, w3
ret