agx: make imad+ishl rules actually work
total instructions in shared programs: 2750211 -> 2750184 (<.01%) instructions in affected programs: 50499 -> 50472 (-0.05%) helped: 27 HURT: 0 Instructions are helped. total alu in shared programs: 2273669 -> 2273642 (<.01%) alu in affected programs: 29874 -> 29847 (-0.09%) helped: 27 HURT: 0 Alu are helped. total fscib in shared programs: 2271986 -> 2271959 (<.01%) fscib in affected programs: 29874 -> 29847 (-0.09%) helped: 27 HURT: 0 Fscib are helped. total bytes in shared programs: 21475184 -> 21474968 (<.01%) bytes in affected programs: 371574 -> 371358 (-0.06%) helped: 27 HURT: 0 Bytes are helped. Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32081>
This commit is contained in:
committed by
Marge Bot
parent
f737470736
commit
ece3bd74db
@@ -176,6 +176,10 @@ for s in range(1, 5):
|
||||
(imad(a, b, ('ishl(is_used_once)', c, s)), ('imadshl_agx', a, b, c, s)),
|
||||
(imsub(a, b, ('ishl(is_used_once)', c, s)), ('imsubshl_agx', a, b, c, s)),
|
||||
|
||||
# The above but after the below shift lowering
|
||||
(imad(a, b, ('imadshl_agx(is_used_once)', 0, 1, c, s)), ('imadshl_agx', a, b, c, s)),
|
||||
(imsub(a, b, ('imadshl_agx(is_used_once)', 0, 1, c, s)), ('imsubshl_agx', a, b, c, s)),
|
||||
|
||||
# a + (a << s) = a + a * (1 << s) = a * (1 + (1 << s))
|
||||
(('imul', a, 1 + (1 << s)), iaddshl(a, a, s)),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user