LLVM 20.0.0git
Macros | Functions | Variables
X86InstrFoldTables.cpp File Reference
#include "X86InstrFoldTables.h"
#include "X86InstrInfo.h"
#include "llvm/ADT/STLExtras.h"
#include <atomic>
#include <vector>
#include "X86GenFoldTables.inc"

Go to the source code of this file.

Macros

#define CHECK_SORTED_UNIQUE(TABLE)
 

Functions

static const X86FoldTableEntrylookupFoldTableImpl (ArrayRef< X86FoldTableEntry > Table, unsigned RegOp)
 

Variables

static const X86FoldTableEntry BroadcastSizeTable2 []
 
static const X86FoldTableEntry BroadcastSizeTable3 []
 

Macro Definition Documentation

◆ CHECK_SORTED_UNIQUE

#define CHECK_SORTED_UNIQUE (   TABLE)
Value:
assert(llvm::is_sorted(TABLE) && #TABLE " is not sorted"); \
assert(std::adjacent_find(std::begin(Table), std::end(Table)) == \
std::end(Table) && \
#TABLE " is not unique");
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
bool is_sorted(R &&Range, Compare C)
Wrapper function around std::is_sorted to check if elements in a range R are sorted with respect to a...
Definition: STLExtras.h:1902

Function Documentation

◆ lookupFoldTableImpl()

static const X86FoldTableEntry * lookupFoldTableImpl ( ArrayRef< X86FoldTableEntry Table,
unsigned  RegOp 
)
static

Variable Documentation

◆ BroadcastSizeTable2

const X86FoldTableEntry BroadcastSizeTable2[]
static

Definition at line 29 of file X86InstrFoldTables.cpp.

Referenced by lookupFoldTableImpl().

◆ BroadcastSizeTable3

const X86FoldTableEntry BroadcastSizeTable3[]
static
Initial value:
= {
{ X86::VPTERNLOGDZ128rri, X86::VPTERNLOGQZ128rmbi, TB_BCAST_Q },
{ X86::VPTERNLOGDZ256rri, X86::VPTERNLOGQZ256rmbi, TB_BCAST_Q },
{ X86::VPTERNLOGDZrri, X86::VPTERNLOGQZrmbi, TB_BCAST_Q },
{ X86::VPTERNLOGQZ128rri, X86::VPTERNLOGDZ128rmbi, TB_BCAST_D },
{ X86::VPTERNLOGQZ256rri, X86::VPTERNLOGDZ256rmbi, TB_BCAST_D },
{ X86::VPTERNLOGQZrri, X86::VPTERNLOGDZrmbi, TB_BCAST_D },
}

Definition at line 80 of file X86InstrFoldTables.cpp.

Referenced by lookupFoldTableImpl().