agx: Add unit test for cmp+sel fusing

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25052>
This commit is contained in:
Alyssa Rosenzweig 2023-08-30 10:10:17 -04:00 committed by Marge Bot
parent bdad7992bc
commit 7895d5b79c

View file

@ -214,3 +214,22 @@ TEST_F(Optimizer, IfCondition)
agx_zero(), 1, AGX_ICOND_UEQ, true),
agx_if_fcmp(b, hx, hy, 1, AGX_FCOND_LT, false));
}
TEST_F(Optimizer, SelectCondition)
{
CASE32(agx_icmpsel_to(b, out, agx_icmp(b, wx, wy, AGX_ICOND_UEQ, false),
agx_zero(), wz, wx, AGX_ICOND_UEQ),
agx_icmpsel_to(b, out, wx, wy, wx, wz, AGX_ICOND_UEQ));
CASE32(agx_icmpsel_to(b, out, agx_icmp(b, wx, wy, AGX_ICOND_UEQ, true),
agx_zero(), wz, wx, AGX_ICOND_UEQ),
agx_icmpsel_to(b, out, wx, wy, wz, wx, AGX_ICOND_UEQ));
CASE32(agx_icmpsel_to(b, out, agx_fcmp(b, wx, wy, AGX_FCOND_EQ, false),
agx_zero(), wz, wx, AGX_ICOND_UEQ),
agx_fcmpsel_to(b, out, wx, wy, wx, wz, AGX_FCOND_EQ));
CASE32(agx_icmpsel_to(b, out, agx_fcmp(b, wx, wy, AGX_FCOND_LT, true),
agx_zero(), wz, wx, AGX_ICOND_UEQ),
agx_fcmpsel_to(b, out, wx, wy, wz, wx, AGX_FCOND_LT));
}