v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::NEONFormatDecoder Class Reference

#include <instructions-arm64.h>

Collaboration diagram for v8::internal::NEONFormatDecoder:

Public Types

enum  SubstitutionMode { kPlaceholder , kFormat }
 

Public Member Functions

 NEONFormatDecoder (const Instruction *instr)
 
 NEONFormatDecoder (const Instruction *instr, const NEONFormatMap *format)
 
 NEONFormatDecoder (const Instruction *instr, const NEONFormatMap *format0, const NEONFormatMap *format1)
 
 NEONFormatDecoder (const Instruction *instr, const NEONFormatMap *format0, const NEONFormatMap *format1, const NEONFormatMap *format2)
 
void SetFormatMaps (const NEONFormatMap *format0, const NEONFormatMap *format1=nullptr, const NEONFormatMap *format2=nullptr)
 
void SetFormatMap (unsigned index, const NEONFormatMap *format)
 
const char * SubstitutePlaceholders (const char *string)
 
const char * Substitute (const char *string, SubstitutionMode mode0=kFormat, SubstitutionMode mode1=kFormat, SubstitutionMode mode2=kFormat, SubstitutionMode mode3=kFormat)
 
const char * Mnemonic (const char *mnemonic)
 
VectorFormat GetVectorFormat (int format_index=0)
 
VectorFormat GetVectorFormat (const NEONFormatMap *format_map)
 

Static Public Member Functions

static const NEONFormatMap * IntegerFormatMap ()
 
static const NEONFormatMap * LongIntegerFormatMap ()
 
static const NEONFormatMap * FPFormatMap ()
 
static const NEONFormatMap * FPHPFormatMap ()
 
static const NEONFormatMap * LoadStoreFormatMap ()
 
static const NEONFormatMap * LogicalFormatMap ()
 
static const NEONFormatMap * TriangularFormatMap ()
 
static const NEONFormatMap * ScalarFormatMap ()
 
static const NEONFormatMap * LongScalarFormatMap ()
 
static const NEONFormatMap * FPScalarFormatMap ()
 
static const NEONFormatMap * TriangularScalarFormatMap ()
 

Private Member Functions

const char * GetSubstitute (int index, SubstitutionMode mode)
 
NEONFormat GetNEONFormat (const NEONFormatMap *format_map)
 
uint8_t PickBits (const uint8_t bits[])
 

Static Private Member Functions

static const char * NEONFormatAsString (NEONFormat format)
 
static const char * NEONFormatAsPlaceholder (NEONFormat format)
 

Private Attributes

Instr instrbits_
 
const NEONFormatMap * formats_ [4]
 
char form_buffer_ [64]
 
char mne_buffer_ [16]
 

Detailed Description

Definition at line 637 of file instructions-arm64.h.

Member Enumeration Documentation

◆ SubstitutionMode

Enumerator
kPlaceholder 
kFormat 

Definition at line 639 of file instructions-arm64.h.

Constructor & Destructor Documentation

◆ NEONFormatDecoder() [1/4]

v8::internal::NEONFormatDecoder::NEONFormatDecoder ( const Instruction * instr)
explicit

◆ NEONFormatDecoder() [2/4]

v8::internal::NEONFormatDecoder::NEONFormatDecoder ( const Instruction * instr,
const NEONFormatMap * format )

◆ NEONFormatDecoder() [3/4]

v8::internal::NEONFormatDecoder::NEONFormatDecoder ( const Instruction * instr,
const NEONFormatMap * format0,
const NEONFormatMap * format1 )

◆ NEONFormatDecoder() [4/4]

v8::internal::NEONFormatDecoder::NEONFormatDecoder ( const Instruction * instr,
const NEONFormatMap * format0,
const NEONFormatMap * format1,
const NEONFormatMap * format2 )

Member Function Documentation

◆ FPFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::FPFormatMap ( )
inlinestatic

Definition at line 695 of file instructions-arm64.h.

◆ FPHPFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::FPHPFormatMap ( )
inlinestatic

Definition at line 705 of file instructions-arm64.h.

◆ FPScalarFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::FPScalarFormatMap ( )
inlinestatic

Definition at line 756 of file instructions-arm64.h.

◆ GetNEONFormat()

NEONFormat v8::internal::NEONFormatDecoder::GetNEONFormat ( const NEONFormatMap * format_map)
private

◆ GetSubstitute()

const char * v8::internal::NEONFormatDecoder::GetSubstitute ( int index,
SubstitutionMode mode )
private

◆ GetVectorFormat() [1/2]

VectorFormat v8::internal::NEONFormatDecoder::GetVectorFormat ( const NEONFormatMap * format_map)

◆ GetVectorFormat() [2/2]

VectorFormat v8::internal::NEONFormatDecoder::GetVectorFormat ( int format_index = 0)

◆ IntegerFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::IntegerFormatMap ( )
inlinestatic

Definition at line 678 of file instructions-arm64.h.

◆ LoadStoreFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::LoadStoreFormatMap ( )
inlinestatic

Definition at line 712 of file instructions-arm64.h.

◆ LogicalFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::LogicalFormatMap ( )
inlinestatic

Definition at line 721 of file instructions-arm64.h.

◆ LongIntegerFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::LongIntegerFormatMap ( )
inlinestatic

Definition at line 688 of file instructions-arm64.h.

◆ LongScalarFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::LongScalarFormatMap ( )
inlinestatic

Definition at line 749 of file instructions-arm64.h.

◆ Mnemonic()

const char * v8::internal::NEONFormatDecoder::Mnemonic ( const char * mnemonic)

◆ NEONFormatAsPlaceholder()

static const char * v8::internal::NEONFormatDecoder::NEONFormatAsPlaceholder ( NEONFormat format)
staticprivate

◆ NEONFormatAsString()

static const char * v8::internal::NEONFormatDecoder::NEONFormatAsString ( NEONFormat format)
staticprivate

◆ PickBits()

uint8_t v8::internal::NEONFormatDecoder::PickBits ( const uint8_t bits[])
private

◆ ScalarFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::ScalarFormatMap ( )
inlinestatic

Definition at line 742 of file instructions-arm64.h.

◆ SetFormatMap()

void v8::internal::NEONFormatDecoder::SetFormatMap ( unsigned index,
const NEONFormatMap * format )

◆ SetFormatMaps()

void v8::internal::NEONFormatDecoder::SetFormatMaps ( const NEONFormatMap * format0,
const NEONFormatMap * format1 = nullptr,
const NEONFormatMap * format2 = nullptr )

◆ Substitute()

const char * v8::internal::NEONFormatDecoder::Substitute ( const char * string,
SubstitutionMode mode0 = kFormat,
SubstitutionMode mode1 = kFormat,
SubstitutionMode mode2 = kFormat,
SubstitutionMode mode3 = kFormat )

◆ SubstitutePlaceholders()

const char * v8::internal::NEONFormatDecoder::SubstitutePlaceholders ( const char * string)

◆ TriangularFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::TriangularFormatMap ( )
inlinestatic

Definition at line 730 of file instructions-arm64.h.

◆ TriangularScalarFormatMap()

static const NEONFormatMap * v8::internal::NEONFormatDecoder::TriangularScalarFormatMap ( )
inlinestatic

Definition at line 764 of file instructions-arm64.h.

Member Data Documentation

◆ form_buffer_

char v8::internal::NEONFormatDecoder::form_buffer_[64]
private

Definition at line 793 of file instructions-arm64.h.

◆ formats_

const NEONFormatMap* v8::internal::NEONFormatDecoder::formats_[4]
private

Definition at line 792 of file instructions-arm64.h.

◆ instrbits_

Instr v8::internal::NEONFormatDecoder::instrbits_
private

Definition at line 791 of file instructions-arm64.h.

◆ mne_buffer_

char v8::internal::NEONFormatDecoder::mne_buffer_[16]
private

Definition at line 794 of file instructions-arm64.h.


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