projects
/
platform
/
upstream
/
mesa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3634791
)
agx: Lower f2f16_rtz
author
Alyssa Rosenzweig
<alyssa@rosenzweig.io>
Thu, 10 Aug 2023 20:35:43 +0000
(16:35 -0400)
committer
Marge Bot
<emma+marge@anholt.net>
Fri, 11 Aug 2023 20:31:28 +0000
(20:31 +0000)
Based on what VIR does.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24635>
src/asahi/compiler/agx_nir_algebraic.py
patch
|
blob
|
history
diff --git
a/src/asahi/compiler/agx_nir_algebraic.py
b/src/asahi/compiler/agx_nir_algebraic.py
index
9fd4a40
..
6d05d4e
100644
(file)
--- a/
src/asahi/compiler/agx_nir_algebraic.py
+++ b/
src/asahi/compiler/agx_nir_algebraic.py
@@
-43,6
+43,11
@@
lower_pack = [
(('f2u8', a), ('u2u8', ('f2u16', a))),
(('f2i8', a), ('i2i8', ('f2i16', a))),
+ # Based on the VIR lowering
+ (('f2f16_rtz', 'a@32'),
+ ('bcsel', ('flt', ('fabs', a), ('fabs', ('f2f32', ('f2f16_rtne', a)))),
+ ('isub', ('f2f16_rtne', a), 1), ('f2f16_rtne', a))),
+
# These are based on the lowerings from nir_opt_algebraic, but conditioned
# on the number of bits not being constant. If the bit count is constant
# (the happy path) we can use our native instruction instead.