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

45 lines
952 B
Plaintext

--TEST--
001: Parameter Loading
--TARGET--
aarch64
--ARGS--
-S
--CODE--
{
l_1 = START(l_2);
int32_t p_1 = PARAM(l_1, "p_1", 1);
int32_t p_2 = PARAM(l_1, "p_2", 1);
int32_t p_3 = PARAM(l_1, "p_3", 1);
int32_t p_4 = PARAM(l_1, "p_4", 1);
int32_t p_5 = PARAM(l_1, "p_5", 1);
int32_t p_6 = PARAM(l_1, "p_6", 1);
int32_t p_7 = PARAM(l_1, "p_7", 1);
int32_t p_8 = PARAM(l_1, "p_8", 1);
int32_t p_9 = PARAM(l_1, "p_9", 1);
int32_t p_10 = PARAM(l_1, "p_10", 1);
int32_t r1 = ADD(p_1, p_2);
int32_t r2 = ADD(r1, p_3);
int32_t r3 = ADD(r2, p_4);
int32_t r4 = ADD(r3, p_5);
int32_t r5 = ADD(r4, p_6);
int32_t r6 = ADD(r5, p_7);
int32_t r7 = ADD(r6, p_8);
int32_t r8 = ADD(r7, p_9);
int32_t ret = SUB(r8, p_10);
l_2 = RETURN(l_1, ret);
}
--EXPECT--
test:
ldr w8, [sp, #8]
ldr w9, [sp, #0x10]
add w0, w1, w0
add w0, w0, w2
add w0, w0, w3
add w0, w0, w4
add w0, w0, w5
add w0, w0, w6
add w0, w0, w7
add w0, w0, w8
sub w0, w0, w9
ret