--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