v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
instruction-selector-arm.cc File Reference
Include dependency graph for instruction-selector-arm.cc:

Go to the source code of this file.

Classes

class  v8::internal::compiler::ArmOperandGeneratorT
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::compiler
 

Macros

#define RR_OP_T_LIST(V)
 
#define RR_OP_T_LIST_V8(V)
 
#define RRR_OP_T_LIST(V)
 
#define RR_VISITOR(Name, opcode)
 
#define RR_VISITOR_V8(Name, opcode)
 
#define RRR_VISITOR(Name, opcode)
 
#define VISIT_ATOMIC_BINOP(op)
 
#define SIMD_UNOP_LIST(V)
 
#define SIMD_SHIFT_OP_LIST(V)
 
#define SIMD_BINOP_LIST(V)
 

Macro Definition Documentation

◆ RR_OP_T_LIST

#define RR_OP_T_LIST ( V)
Value:
V(ChangeInt32ToFloat64, kArmVcvtF64S32) \
V(ChangeUint32ToFloat64, kArmVcvtF64U32) \
V(ChangeFloat32ToFloat64, kArmVcvtF64F32) \
V(ChangeFloat64ToInt32, kArmVcvtS32F64) \
V(ChangeFloat64ToUint32, kArmVcvtU32F64) \
V(RoundInt32ToFloat32, kArmVcvtF32S32) \
V(RoundUint32ToFloat32, kArmVcvtF32U32) \
V(Float64ExtractLowWord32, kArmVmovLowU32F64) \
V(Float64ExtractHighWord32, kArmVmovHighU32F64) \
V(TruncateFloat64ToFloat32, kArmVcvtF32F64) \
V(TruncateFloat64ToWord32, kArchTruncateDoubleToI) \
V(TruncateFloat64ToUint32, kArmVcvtU32F64) \
V(BitcastFloat32ToInt32, kArmVmovU32F32) \
V(BitcastInt32ToFloat32, kArmVmovF32U32) \
V(RoundFloat64ToInt32, kArmVcvtS32F64) \
V(Float64SilenceNaN, kArmFloat64SilenceNaN) \
V(Float32Abs, kArmVabsF32) \
V(Float64Abs, kArmVabsF64) \
V(Float32Neg, kArmVnegF32) \
V(Float64Neg, kArmVnegF64) \
V(Float32Sqrt, kArmVsqrtF32) \
V(Float64Sqrt, kArmVsqrtF64) \
V(Word32Clz, kArmClz)
#define V(Name)

Definition at line 1654 of file instruction-selector-arm.cc.

◆ RR_OP_T_LIST_V8

#define RR_OP_T_LIST_V8 ( V)
Value:
V(Float32RoundDown, kArmVrintmF32) \
V(Float64RoundDown, kArmVrintmF64) \
V(Float32RoundUp, kArmVrintpF32) \
V(Float64RoundUp, kArmVrintpF64) \
V(Float32RoundTruncate, kArmVrintzF32) \
V(Float64RoundTruncate, kArmVrintzF64) \
V(Float64RoundTiesAway, kArmVrintaF64) \
V(Float32RoundTiesEven, kArmVrintnF32) \
V(Float64RoundTiesEven, kArmVrintnF64) \
IF_WASM(V, F64x2Ceil, kArmF64x2Ceil) \
IF_WASM(V, F64x2Floor, kArmF64x2Floor) \
IF_WASM(V, F64x2Trunc, kArmF64x2Trunc) \
IF_WASM(V, F64x2NearestInt, kArmF64x2NearestInt) \
IF_WASM(V, F32x4Ceil, kArmVrintpF32) \
IF_WASM(V, F32x4Floor, kArmVrintmF32) \
IF_WASM(V, F32x4Trunc, kArmVrintzF32) \
IF_WASM(V, F32x4NearestInt, kArmVrintnF32)

Definition at line 1679 of file instruction-selector-arm.cc.

◆ RR_VISITOR

#define RR_VISITOR ( Name,
opcode )
Value:
void InstructionSelectorT::Visit##Name(OpIndex node) { \
VisitRR(this, opcode, node); \
}

Definition at line 1709 of file instruction-selector-arm.cc.

◆ RR_VISITOR_V8

#define RR_VISITOR_V8 ( Name,
opcode )
Value:
void InstructionSelectorT::Visit##Name(OpIndex node) { \
DCHECK(CpuFeatures::IsSupported(ARMv8)); \
VisitRR(this, opcode, node); \
}

Definition at line 1717 of file instruction-selector-arm.cc.

◆ RRR_OP_T_LIST

#define RRR_OP_T_LIST ( V)
Value:
V(Float64Div, kArmVdivF64) \
V(Float32Mul, kArmVmulF32) \
V(Float64Mul, kArmVmulF64) \
V(Float32Div, kArmVdivF32) \
V(Float32Max, kArmFloat32Max) \
V(Float64Max, kArmFloat64Max) \
V(Float32Min, kArmFloat32Min) \
V(Float64Min, kArmFloat64Min) \
V(Int32MulHigh, kArmSmmul)

Definition at line 1698 of file instruction-selector-arm.cc.

◆ RRR_VISITOR

#define RRR_VISITOR ( Name,
opcode )
Value:
void InstructionSelectorT::Visit##Name(OpIndex node) { \
VisitRRR(this, opcode, node); \
}

Definition at line 1726 of file instruction-selector-arm.cc.

◆ SIMD_BINOP_LIST

#define SIMD_BINOP_LIST ( V)

Definition at line 2741 of file instruction-selector-arm.cc.

◆ SIMD_SHIFT_OP_LIST

#define SIMD_SHIFT_OP_LIST ( V)
Value:
V(I64x2Shl, 64) \
V(I64x2ShrS, 64) \
V(I64x2ShrU, 64) \
V(I32x4Shl, 32) \
V(I32x4ShrS, 32) \
V(I32x4ShrU, 32) \
V(I16x8Shl, 16) \
V(I16x8ShrS, 16) \
V(I16x8ShrU, 16) \
V(I8x16Shl, 8) \
V(I8x16ShrS, 8) \
V(I8x16ShrU, 8)

Definition at line 2727 of file instruction-selector-arm.cc.

◆ SIMD_UNOP_LIST

#define SIMD_UNOP_LIST ( V)

Definition at line 2688 of file instruction-selector-arm.cc.

◆ VISIT_ATOMIC_BINOP

#define VISIT_ATOMIC_BINOP ( op)
Value:
void InstructionSelectorT::VisitWord32Atomic##op(OpIndex node) { \
VisitWord32AtomicBinaryOperation( \
node, kAtomic##op##Int8, kAtomic##op##Uint8, kAtomic##op##Int16, \
kAtomic##op##Uint16, kAtomic##op##Word32); \
}

Definition at line 2535 of file instruction-selector-arm.cc.