GCC Middle and Back End API Reference
long_mul_row Struct Reference

Public Types

enum  long_mul_row_part { HIGH_PART , LOW_PART }

Data Fields

enum long_mul_row::long_mul_row_part part
tree_code outer
unsigned char count
struct { 
   long_mul_kind   kind 
   long_mul_extract   extract 
sig [LONG_MUL_MAX_SUMMANDS]
bool(* extra_check )(const vec< long_mul_summand > &, gimple *)

Detailed Description

One row of the long-multiply variant table.  COUNT is how many entries
of SIG carry the row's signature (2 to LONG_MUL_MAX_SUMMANDS); a row
with fewer summands leaves the remaining SIG entries zero-initialized.
Those zeros are not a terminator -- {LMK_MUL_HIHI, LMX_NONE} is itself a
valid signature -- so long_mul_signature_matches is bounded by COUNT,
never by a sentinel entry.   

Member Enumeration Documentation

◆ long_mul_row_part

Enumerator
HIGH_PART 
LOW_PART 

Field Documentation

◆ count

unsigned char long_mul_row::count

◆ extra_check

bool(* long_mul_row::extra_check) (const vec< long_mul_summand > &, gimple *)

◆ extract

long_mul_extract long_mul_row::extract

◆ kind

long_mul_kind long_mul_row::kind

◆ outer

tree_code long_mul_row::outer

◆ part

enum long_mul_row::long_mul_row_part long_mul_row::part

◆ [struct]

struct { ... } long_mul_row::sig[LONG_MUL_MAX_SUMMANDS]

The documentation for this struct was generated from the following file: