|
Ghidra 11.4.2
Ghidra internal decompiler documentation.
|
Describes a (register) storage location and the ways it might be split into lanes. More...
#include <transform.hh>
Classes | |
| class | LanedIterator |
| Class for iterating over possible lane sizes. More... | |
Public Types | |
| typedef LanedIterator | const_iterator |
| Iterator over possible lane sizes for this register. | |
Public Member Functions | |
| LanedRegister (void) | |
| Constructor for use with decode. | |
| LanedRegister (int4 sz, uint4 mask) | |
| Constructor. | |
| void | parseSizes (int4 registerSize, string laneSizes) |
| Parse a vector_lane_sizes attribute. | |
| int4 | getWholeSize (void) const |
| Get the size in bytes of the whole laned register. | |
| uint4 | getSizeBitMask (void) const |
| Get the bit mask of possible lane sizes. | |
| void | addLaneSize (int4 size) |
| Add a new size to the allowed list. | |
| bool | allowedLane (int4 size) const |
| Is size among the allowed lane sizes. | |
| const_iterator | begin (void) const |
| Starting iterator over possible lane sizes. | |
| const_iterator | end (void) const |
| Ending iterator over possible lane sizes. | |
Private Attributes | |
| int4 | wholeSize |
| Size of the whole register. | |
| uint4 | sizeBitMask |
| A 1-bit for every permissible lane size. | |
Friends | |
| class | LanedIterator |
Describes a (register) storage location and the ways it might be split into lanes.
| void ghidra::LanedRegister::parseSizes | ( | int4 | registerSize, |
| string | laneSizes | ||
| ) |
Parse a vector_lane_sizes attribute.
Collect specific lane sizes in this object.
| registerSize | is the size of the laned register in bytes |
| laneSizes | is a comma separated list of sizes |
References addLaneSize(), sizeBitMask, and wholeSize.
Referenced by ghidra::Architecture::decodeRegisterData().