agx: fuse not into if

total instructions in shared programs: 2115466 -> 2115031 (-0.02%)
instructions in affected programs: 68776 -> 68341 (-0.63%)
helped: 222
HURT: 5
Instructions are helped.

total alu in shared programs: 1670328 -> 1669893 (-0.03%)
alu in affected programs: 54224 -> 53789 (-0.80%)
helped: 222
HURT: 5
Alu are helped.

total fscib in shared programs: 1666452 -> 1666017 (-0.03%)
fscib in affected programs: 54224 -> 53789 (-0.80%)
helped: 222
HURT: 5
Fscib are helped.

total bytes in shared programs: 14061990 -> 14059380 (-0.02%)
bytes in affected programs: 458702 -> 456092 (-0.57%)
helped: 222
HURT: 5
Bytes are helped.

total regs in shared programs: 656515 -> 656483 (<.01%)
regs in affected programs: 432 -> 400 (-7.41%)
helped: 7
HURT: 1
Inconclusive result (value mean confidence interval includes 0).

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30633>
This commit is contained in:
Alyssa Rosenzweig
2024-08-04 12:54:56 -04:00
parent 2b1859cd06
commit 64239ac12c
2 changed files with 44 additions and 4 deletions
@@ -353,3 +353,15 @@ TEST_F(Optimizer, SelectCondition)
agx_zero(), wz, wx, AGX_ICOND_UEQ),
agx_fcmpsel_to(b, out, wx, wy, wz, wx, AGX_FCOND_LT));
}
TEST_F(Optimizer, IfInverted)
{
CASE_NO_RETURN(
agx_if_icmp(b, agx_xor(b, hx, agx_immediate(1)), agx_zero(), 1,
AGX_ICOND_UEQ, true, NULL),
agx_if_icmp(b, hx, agx_zero(), 1, AGX_ICOND_UEQ, false, NULL));
CASE_NO_RETURN(agx_if_icmp(b, agx_xor(b, hx, agx_immediate(1)), agx_zero(),
1, AGX_ICOND_UEQ, false, NULL),
agx_if_icmp(b, hx, agx_zero(), 1, AGX_ICOND_UEQ, true, NULL));
}