// Generated by opcode_generator.rb from JavaScriptCore/b3/air/AirOpcode.opcodes -- do not edit! #ifndef AirOpcodeUtils_h #define AirOpcodeUtils_h #include "AirCustom.h" #include "AirInst.h" #include "AirFormTable.h" namespace JSC { namespace B3 { namespace Air { inline bool opgenHiddenTruth() { return true; } template inline T* opgenHiddenPtrIdentity(T* pointer) { return pointer; } #define OPGEN_RETURN(value) do {\ if (opgenHiddenTruth())\ return value;\ } while (false) template ALWAYS_INLINE void Inst::forEachArg(const Functor& functor) { switch (kind.opcode) { case Opcode::EntrySwitch: case Opcode::Shuffle: case Opcode::Patch: case Opcode::CCall: case Opcode::ColdCCall: case Opcode::WasmBoundsCheck: forEachArgCustom(scopedLambdaRef(functor)); return; default: forEachArgSimple(functor); return; } } template ALWAYS_INLINE void Inst::forEachArgSimple(const Func& func) { size_t numOperands = args.size(); size_t formOffset = (numOperands - 1) * numOperands / 2; const uint8_t* formBase = g_formTable + kind.opcode * 21 + formOffset; for (size_t i = 0; i < numOperands; ++i) { uint8_t form = formBase[i]; ASSERT(!(form & (1 << formInvalidShift))); func(args[i], decodeFormRole(form), decodeFormBank(form), decodeFormWidth(form)); } } template ALWAYS_INLINE bool isValidForm(Opcode opcode, Arguments... arguments) { Arg::Kind kinds[sizeof...(Arguments)] = { arguments... }; switch (opcode) { case Opcode::Nop: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::Add32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Add8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Add16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Add64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AddDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AddFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Sub32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Sub64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::SubDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::SubFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Neg32: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::Neg64: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::NegateDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::NegateFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Mul32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Mul64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplyAdd32: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplyAdd64: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplySub32: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplySub64: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplyNeg32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplyNeg64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MultiplySignExtend32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Div32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::UDiv32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Div64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::UDiv64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MulDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MulFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::DivDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::DivFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::X86ConvertToDoubleWord32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::X86ConvertToQuadWord64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::X86Div32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::X86UDiv32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::X86Div64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::X86UDiv64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Lea32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: if (opgenHiddenPtrIdentity(kinds)[0] == Arg::Stack) return false; OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: if (opgenHiddenPtrIdentity(kinds)[0] == Arg::Stack) return false; #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Lea64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: if (opgenHiddenPtrIdentity(kinds)[0] == Arg::Stack) return false; OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: if (opgenHiddenPtrIdentity(kinds)[0] == Arg::Stack) return false; #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::And32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::BitImm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::And64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; #if USE(JSVALUE64) case Arg::BitImm64: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; #endif // USE(JSVALUE64) default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AndDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AndFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::OrDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::OrFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::XorDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::XorFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Lshift32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Lshift64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Rshift32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Rshift64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Urshift32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Urshift64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::RotateRight32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::RotateRight64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::RotateLeft32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::RotateLeft64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Or32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::BitImm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Or64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; #if USE(JSVALUE64) case Arg::BitImm64: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; #endif // USE(JSVALUE64) default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Xor32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::BitImm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Xor64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; #if USE(JSVALUE64) case Arg::BitImm64: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; #endif // USE(JSVALUE64) default: break; } break; case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Not32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::Not64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AbsDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AbsFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::CeilDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::CeilFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::FloorDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::FloorFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::SqrtDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::SqrtFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ConvertInt32ToDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ConvertInt64ToDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ConvertInt32ToFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ConvertInt64ToFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::CountLeadingZeros32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::CountLeadingZeros64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ConvertDoubleToFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ConvertFloatToDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Move: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; case Arg::Index: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; #if USE(JSVALUE64) case Arg::BigImm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; #endif // USE(JSVALUE64) case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Swap32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Swap64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Move32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; case Arg::Index: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreZero32: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; case Arg::Index: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Opcode::StoreZero64: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::SignExtend32ToPtr: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ZeroExtend8To32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::SignExtend8To32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::ZeroExtend16To32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::SignExtend16To32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; case Arg::Index: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; case Arg::Index: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveZeroToDouble: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Opcode::Move64ToDouble: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Move32ToFloat: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleTo64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveFloatTo32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Load8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadAcq8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Store8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Index: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreRel8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Load8SignedExtendTo32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadAcq8SignedExtendTo32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Load16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadAcq16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Load16SignedExtendTo32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadAcq16SignedExtendTo32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Store16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Index: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreRel16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadAcq32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreRel32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: #if CPU(ARMv7) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadAcq64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreRel64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Xchg8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Xchg16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Xchg32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Xchg64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicStrongCAS8: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; case Arg::SimpleAddr: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicStrongCAS16: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; case Arg::SimpleAddr: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicStrongCAS32: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; case Arg::SimpleAddr: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicStrongCAS64: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; case Arg::SimpleAddr: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchAtomicStrongCAS8: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchAtomicStrongCAS16: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchAtomicStrongCAS32: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchAtomicStrongCAS64: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::StatusCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: break; break; case Arg::Index: break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAdd8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAdd16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAdd32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAdd64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicSub8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicSub16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicSub32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicSub64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAnd8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAnd16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAnd32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicAnd64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicOr8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicOr16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicOr32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicOr64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXor8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXor16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXor32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXor64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicNeg8: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNeg16: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNeg32: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNeg64: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNot8: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNot16: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNot32: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicNot64: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::AtomicXchgAdd8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgAdd16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgAdd32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgAdd64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchg8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchg16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchg32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchg64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Index: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLink8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLinkAcq8: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCond8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCondRel8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLink16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLinkAcq16: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCond16: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCondRel16: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLink32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLinkAcq32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCond32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCondRel32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLink64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::LoadLinkAcq64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCond64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::StoreCondRel64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Depend32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Depend64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgOr8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgOr16: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgOr32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgOr64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgClear8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgClear16: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgClear32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgClear64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgXor8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgXor16: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgXor32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::AtomicXchgXor64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::SimpleAddr: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(ARM64E) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Compare32: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Compare64: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Test32: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::BitImm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Test64: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::CompareDouble: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::CompareFloat: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Branch8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Branch32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Imm: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::Branch64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Imm: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Imm: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchTest8: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::BitImm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::BitImm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchTest32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::BitImm: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::BitImm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::BitImm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchTest64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; #if USE(JSVALUE64) case Arg::BitImm64: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; #endif // USE(JSVALUE64) case Arg::BitImm: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::BitImm: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::BitImm: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchTestBit64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchTestBit32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchDouble: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchFloat: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchAdd32: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchAdd64: switch (sizeof...(Arguments)) { case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchMul32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 4: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchMul64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchSub32: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchSub64: switch (sizeof...(Arguments)) { case 3: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchNeg32: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::BranchNeg64: switch (sizeof...(Arguments)) { case 2: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveConditionally32: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveConditionally64: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveConditionallyTest32: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::BitImm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveConditionallyTest64: switch (sizeof...(Arguments)) { case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveConditionallyDouble: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveConditionallyFloat: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case 5: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleConditionally32: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleConditionally64: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::RelCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleConditionallyTest32: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::BitImm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86) || CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleConditionallyTest64: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::ResCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Addr: case Arg::Stack: case Arg::CallArg: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Arg::Index: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Imm: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: #if CPU(X86_64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleConditionallyDouble: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MoveDoubleConditionallyFloat: switch (sizeof...(Arguments)) { case 6: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::DoubleCond: switch (opgenHiddenPtrIdentity(kinds)[1]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[2]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[3]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[4]) { case Arg::Tmp: switch (opgenHiddenPtrIdentity(kinds)[5]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; default: break; } break; case Opcode::MemoryFence: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::StoreFence: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::LoadFence: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::Jump: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::RetVoid: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::Ret32: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Opcode::Ret64: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: #if CPU(X86_64) || CPU(ARM64) OPGEN_RETURN(true); #endif break; break; default: break; } break; default: break; } break; case Opcode::RetFloat: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Opcode::RetDouble: switch (sizeof...(Arguments)) { case 1: switch (opgenHiddenPtrIdentity(kinds)[0]) { case Arg::Tmp: OPGEN_RETURN(true); break; break; default: break; } break; default: break; } break; case Opcode::Oops: switch (sizeof...(Arguments)) { case 0: OPGEN_RETURN(true); break; break; default: break; } break; case Opcode::EntrySwitch: OPGEN_RETURN(EntrySwitchCustom::isValidFormStatic(arguments...)); break; case Opcode::Shuffle: OPGEN_RETURN(ShuffleCustom::isValidFormStatic(arguments...)); break; case Opcode::Patch: OPGEN_RETURN(PatchCustom::isValidFormStatic(arguments...)); break; case Opcode::CCall: OPGEN_RETURN(CCallCustom::isValidFormStatic(arguments...)); break; case Opcode::ColdCCall: OPGEN_RETURN(ColdCCallCustom::isValidFormStatic(arguments...)); break; case Opcode::WasmBoundsCheck: OPGEN_RETURN(WasmBoundsCheckCustom::isValidFormStatic(arguments...)); break; default: break; } return false; } inline bool isDefinitelyTerminal(Opcode opcode) { switch (opcode) { case Opcode::BranchAtomicStrongCAS8: case Opcode::BranchAtomicStrongCAS16: case Opcode::BranchAtomicStrongCAS32: case Opcode::BranchAtomicStrongCAS64: case Opcode::Branch8: case Opcode::Branch32: case Opcode::Branch64: case Opcode::BranchTest8: case Opcode::BranchTest32: case Opcode::BranchTest64: case Opcode::BranchTestBit64: case Opcode::BranchTestBit32: case Opcode::BranchDouble: case Opcode::BranchFloat: case Opcode::BranchAdd32: case Opcode::BranchAdd64: case Opcode::BranchMul32: case Opcode::BranchMul64: case Opcode::BranchSub32: case Opcode::BranchSub64: case Opcode::BranchNeg32: case Opcode::BranchNeg64: case Opcode::Jump: case Opcode::RetVoid: case Opcode::Ret32: case Opcode::Ret64: case Opcode::RetFloat: case Opcode::RetDouble: case Opcode::Oops: return true; default: return false; } } inline bool isReturn(Opcode opcode) { switch (opcode) { case Opcode::RetVoid: case Opcode::Ret32: case Opcode::Ret64: case Opcode::RetFloat: case Opcode::RetDouble: return true; default: return false; } } } } } // namespace JSC::B3::Air #endif // AirOpcodeUtils_h