@@ -645,43 +645,6 @@ void WasmBytecodeGenerator::EnregisterLocals()
645
645
}
646
646
}
647
647
648
- template <size_t lanes>
649
- EmitInfo WasmBytecodeGenerator::EmitSimdBuildExpr (Js::OpCodeAsmJs op, const WasmTypes::WasmType* signature)
650
- {
651
- const WasmTypes::WasmType resultType = signature[0 ];
652
- const WasmTypes::WasmType type = signature[1 ];
653
-
654
- Js::RegSlot resultReg = GetRegisterSpace (resultType)->AcquireTmpRegister ();
655
-
656
- EmitInfo args[lanes];
657
- for (uint i = 0 ; i < lanes; i++)
658
- {
659
- args[i] = PopEvalStack (type);
660
- }
661
-
662
- switch (lanes)
663
- {
664
- case 4 :
665
- m_writer->AsmReg5 (op, resultReg, args[3 ].location , args[2 ].location , args[1 ].location , args[0 ].location );
666
- break ;
667
- case 8 :
668
- m_writer->AsmReg9 (op, resultReg, args[7 ].location , args[6 ].location , args[5 ].location , args[4 ].location , args[3 ].location , args[2 ].location , args[1 ].location , args[0 ].location );
669
- break ;
670
- case 16 :
671
- m_writer->AsmReg17 (op, resultReg, args[15 ].location , args[14 ].location , args[13 ].location , args[12 ].location , args[11 ].location , args[10 ].location , args[9 ].location , args[8 ].location , args[7 ].location , args[6 ].location , args[5 ].location , args[4 ].location , args[3 ].location , args[2 ].location , args[1 ].location , args[0 ].location );
672
- break ;
673
- default :
674
- Assert (UNREACHED);
675
- }
676
-
677
- for (uint i = 0 ; i < lanes; i++)
678
- {
679
- ReleaseLocation (&args[i]);
680
- }
681
-
682
- return EmitInfo (resultReg, resultType);
683
- }
684
-
685
648
void WasmBytecodeGenerator::EmitExpr (WasmOp op)
686
649
{
687
650
DebugPrintOp (op);
@@ -851,11 +814,6 @@ void WasmBytecodeGenerator::EmitExpr(WasmOp op)
851
814
Assert (WasmOpCodeSignatures::n##sig == 2 );\
852
815
info = EmitUnaryExpr (Js::OpCodeAsmJs::##asmjsop, WasmOpCodeSignatures::sig); \
853
816
break ;
854
- #define WASM_SIMD_BUILD_OPCODE (opname, opcode, sig, asmjop, lanes, ...) \
855
- case wb##opname: \
856
- Assert (WasmOpCodeSignatures::n##sig == 2 );\
857
- info = EmitSimdBuildExpr<lanes>(Js::OpCodeAsmJs::##asmjop, WasmOpCodeSignatures::sig); \
858
- break ;
859
817
#define WASM_EMPTY__OPCODE (opname, opcode, asmjsop, imp, wat ) \
860
818
case wb##opname: \
861
819
m_writer->EmptyAsm (Js::OpCodeAsmJs::##asmjsop);\
0 commit comments