From 60d92bbdcfc22c7248989ad7efb856989d299daa Mon Sep 17 00:00:00 2001
From: /dev/humancontroller type
field.
The op
field a of node
structure holds a dag operator, which
+
The op
field of a node
structure holds a dag operator, which
consists of a generic operator, a type suffix, and a size indicator. The type suffixes
are:
The type suffix for a conversion operator denotes the type of the result and the size
indicator gives the size of the result. For example, CVUI4
converts an
unsigned (U
) to a 4-byte signed integer (I4
). The syms[0]
-field points to a symbol-table entry for a integer constant that gives the size of the
+field points to a symbol-table entry for an integer constant that gives the size of the
source operand. For example, if syms[0]
in a CVUI4
points to a
symbol-table entry for 2, the conversion widens a 2-byte unsigned integer to a 4-byte
signed integer. Conversions that widen unsigned integers zero-extend; those that widen
signed integers sign-extend.
The front end composes conversions between types T1 and T2 -by widening T1 to it's "supertype", if necessary, converting +by widening T1 to its "supertype", if necessary, converting that result to T2's supertype, then narrowing the result to T2, if necessary. The following table lists the supertypes; omitted entries are their own supertypes.
-- cgit