LLVM 22.0.0git
MipsLegalizerInfo.cpp File Reference

This file implements the targeting of the Machinelegalizer class for Mips. More...

Go to the source code of this file.

Classes

struct  TypesAndMemOps

Functions

static bool isUnalignedMemmoryAccess (uint64_t MemSize, uint64_t AlignInBits)
static bool CheckTy0Ty1MemSizeAlign (const LegalityQuery &Query, std::initializer_list< TypesAndMemOps > SupportedValues)
static bool CheckTyN (unsigned N, const LegalityQuery &Query, std::initializer_list< LLT > SupportedValues)
static bool SelectMSA3OpIntrinsic (MachineInstr &MI, unsigned Opcode, MachineIRBuilder &MIRBuilder, const MipsSubtarget &ST)
static bool MSA3OpIntrinsicToGeneric (MachineInstr &MI, unsigned Opcode, MachineIRBuilder &MIRBuilder, const MipsSubtarget &ST)
static bool MSA2OpIntrinsicToGeneric (MachineInstr &MI, unsigned Opcode, MachineIRBuilder &MIRBuilder, const MipsSubtarget &ST)

Detailed Description

This file implements the targeting of the Machinelegalizer class for Mips.

Todo
This should be generated by TableGen.

Definition in file MipsLegalizerInfo.cpp.

Function Documentation

◆ CheckTy0Ty1MemSizeAlign()

bool CheckTy0Ty1MemSizeAlign ( const LegalityQuery & Query,
std::initializer_list< TypesAndMemOps > SupportedValues )
static

◆ CheckTyN()

bool CheckTyN ( unsigned N,
const LegalityQuery & Query,
std::initializer_list< LLT > SupportedValues )
static

◆ isUnalignedMemmoryAccess()

bool isUnalignedMemmoryAccess ( uint64_t MemSize,
uint64_t AlignInBits )
static

◆ MSA2OpIntrinsicToGeneric()

bool MSA2OpIntrinsicToGeneric ( MachineInstr & MI,
unsigned Opcode,
MachineIRBuilder & MIRBuilder,
const MipsSubtarget & ST )
static

◆ MSA3OpIntrinsicToGeneric()

bool MSA3OpIntrinsicToGeneric ( MachineInstr & MI,
unsigned Opcode,
MachineIRBuilder & MIRBuilder,
const MipsSubtarget & ST )
static

◆ SelectMSA3OpIntrinsic()