pan/bi: Add dest_type field to bifrost_instruction
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tue, 3 Mar 2020 03:03:05 +0000 (22:03 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 5 Mar 2020 14:35:38 +0000 (14:35 +0000)
A number of opcodes within a class are disambiguated by type/size, and
whether modifiers make sense or not depends on whether the instruction
acts like a float.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4061>

src/panfrost/bifrost/compiler.h

index 9e0d4711fb42a79f55176a294cd8d14965b017dd..faf83b96ac32fa45b229ae548e5db3d4ad6eee4d 100644 (file)
@@ -136,6 +136,12 @@ typedef struct {
         /* Round mode (requires BI_ROUNDMODE) */
         enum bifrost_roundmode roundmode;
 
+        /* Destination type. Usually the type of the instruction
+         * itself, but if sources and destination have different
+         * types, the type of the destination wins (so f2i would be
+         * int). Zero if there is no destination. Bitsize included */
+        nir_alu_type dest_type;
+
         /* Union for class-specific information */
         union {
                 enum bifrost_minmax_mode minmax;