1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: set ts=8 sts=2 et sw=2 tw=80:
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef jit_none_LIR_none_h
8 #define jit_none_LIR_none_h
13 class LUnboxFloatingPoint
: public LInstruction
{
15 LIR_HEADER(UnboxFloatingPoint
)
16 static const size_t Input
= 0;
18 MUnbox
* mir() const { MOZ_CRASH(); }
20 const LDefinition
* output() const { MOZ_CRASH(); }
21 MIRType
type() const { MOZ_CRASH(); }
24 class LTableSwitch
: public LInstruction
{
26 LIR_HEADER(TableSwitch
)
27 MTableSwitch
* mir() { MOZ_CRASH(); }
29 const LAllocation
* index() { MOZ_CRASH(); }
30 const LDefinition
* tempInt() { MOZ_CRASH(); }
31 const LDefinition
* tempPointer() { MOZ_CRASH(); }
34 class LTableSwitchV
: public LInstruction
{
36 LIR_HEADER(TableSwitchV
)
37 MTableSwitch
* mir() { MOZ_CRASH(); }
39 const LDefinition
* tempInt() { MOZ_CRASH(); }
40 const LDefinition
* tempFloat() { MOZ_CRASH(); }
41 const LDefinition
* tempPointer() { MOZ_CRASH(); }
43 static const size_t InputValue
= 0;
46 class LWasmUint32ToFloat32
: public LInstructionHelper
<1, 1, 0> {
48 explicit LWasmUint32ToFloat32(const LAllocation
&)
49 : LInstructionHelper(Opcode::Invalid
) {
54 class LUnbox
: public LInstructionHelper
<1, 2, 0> {
56 MUnbox
* mir() const { MOZ_CRASH(); }
57 const LAllocation
* payload() { MOZ_CRASH(); }
58 const LAllocation
* type() { MOZ_CRASH(); }
59 const char* extraName() const { MOZ_CRASH(); }
61 class LDivI
: public LBinaryMath
<1> {
63 LDivI(const LAllocation
&, const LAllocation
&, const LDefinition
&)
64 : LBinaryMath(Opcode::Invalid
) {
67 MDiv
* mir() const { MOZ_CRASH(); }
69 class LDivPowTwoI
: public LInstructionHelper
<1, 1, 0> {
71 LDivPowTwoI(const LAllocation
&, int32_t)
72 : LInstructionHelper(Opcode::Invalid
) {
75 const LAllocation
* numerator() { MOZ_CRASH(); }
76 int32_t shift() { MOZ_CRASH(); }
77 MDiv
* mir() const { MOZ_CRASH(); }
79 class LModI
: public LBinaryMath
<1> {
81 LModI(const LAllocation
&, const LAllocation
&, const LDefinition
&)
82 : LBinaryMath(Opcode::Invalid
) {
86 const LDefinition
* callTemp() { MOZ_CRASH(); }
87 MMod
* mir() const { MOZ_CRASH(); }
89 class LWasmUint32ToDouble
: public LInstructionHelper
<1, 1, 0> {
91 explicit LWasmUint32ToDouble(const LAllocation
&)
92 : LInstructionHelper(Opcode::Invalid
) {
96 class LModPowTwoI
: public LInstructionHelper
<1, 1, 0> {
98 int32_t shift() { MOZ_CRASH(); }
99 LModPowTwoI(const LAllocation
& lhs
, int32_t shift
)
100 : LInstructionHelper(Opcode::Invalid
) {
103 MMod
* mir() const { MOZ_CRASH(); }
106 class LMulI
: public LInstruction
{};
111 #endif /* jit_none_LIR_none_h */