Просмотр исходного кода

modify macro related to simde when WASM_OP_SELECT_128 (#4461)

* remove macro of fast interpreter when WASM_OP_SELECT_128
* Modified some macros related to SIMDE
Liu Jia 5 месяцев назад
Родитель
Сommit
704aa3e7e5

+ 0 - 7
core/iwasm/compilation/aot_compiler.c

@@ -1316,13 +1316,6 @@ aot_compile_func(AOTCompContext *comp_ctx, uint32 func_index)
                     return false;
                 break;
 
-#if WASM_ENABLE_SIMD != 0
-            case WASM_OP_SELECT_128:
-                if (!aot_compile_op_select(comp_ctx, func_ctx, true))
-                    return false;
-                break;
-#endif
-
 #if WASM_ENABLE_REF_TYPES != 0 || WASM_ENABLE_GC != 0
             case WASM_OP_SELECT_T:
             {

+ 1 - 1
core/iwasm/interpreter/wasm_interp_fast.c

@@ -1887,7 +1887,7 @@ wasm_interp_call_func_bytecode(WASMModuleInstance *module,
                 }
                 HANDLE_OP_END();
             }
-#if WASM_ENABLE_SIMD != 0
+#if WASM_ENABLE_SIMDE != 0
             HANDLE_OP(WASM_OP_SELECT_128)
             {
                 cond = frame_lp[GET_OFFSET()];

+ 3 - 6
core/iwasm/interpreter/wasm_loader.c

@@ -7626,7 +7626,7 @@ wasm_loader_find_block_addr(WASMExecEnv *exec_env, BlockAddr *block_addr_cache,
             case WASM_OP_SELECT:
             case WASM_OP_DROP_64:
             case WASM_OP_SELECT_64:
-#if WASM_ENABLE_FAST_INTERP != 0 && WASM_ENABLE_SIMD != 0
+#if WASM_ENABLE_SIMDE != 0
             case WASM_OP_SELECT_128:
 #endif
                 break;
@@ -13155,9 +13155,7 @@ re_scan:
 #if (WASM_ENABLE_WAMR_COMPILER != 0) || (WASM_ENABLE_JIT != 0) \
     || (WASM_ENABLE_FAST_INTERP != 0)
                         case VALUE_TYPE_V128:
-#if WASM_ENABLE_FAST_INTERP == 0
-                            *(p - 1) = WASM_OP_SELECT_128;
-#else
+#if WASM_ENABLE_SIMDE != 0
                             if (loader_ctx->p_code_compiled) {
                                 uint8 opcode_tmp = WASM_OP_SELECT_128;
 #if WASM_ENABLE_LABELS_AS_VALUES != 0
@@ -13285,8 +13283,7 @@ re_scan:
                     uint8 opcode_tmp = WASM_OP_SELECT;
 
                     if (type == VALUE_TYPE_V128) {
-#if WASM_ENABLE_JIT != 0 \
-    || WASM_ENABLE_FAST_INTERP != 0 && WASM_ENABLE_SIMD != 0
+#if WASM_ENABLE_SIMDE != 0
                         opcode_tmp = WASM_OP_SELECT_128;
 #else
                         set_error_buf(error_buf, error_buf_size,

+ 2 - 3
core/iwasm/interpreter/wasm_opcode.h

@@ -278,8 +278,7 @@ typedef enum WASMOpcode {
     DEBUG_OP_BREAK = 0xdc, /* debug break point */
 #endif
 
-#if WASM_ENABLE_JIT != 0 || WASM_ENABLE_FAST_INTERP != 0 \
-    || WASM_ENABLE_WAMR_COMPILER != 0 && WASM_ENABLE_SIMD != 0
+#if WASM_ENABLE_SIMDE != 0
     EXT_OP_SET_LOCAL_FAST_V128 = 0xdd,
     EXT_OP_TEE_LOCAL_FAST_V128 = 0xde,
     EXT_OP_COPY_STACK_TOP_V128 = 0xdf,
@@ -798,7 +797,7 @@ typedef enum WASMAtomicEXTOpcode {
 #define SET_GOTO_TABLE_SIMD_PREFIX_ELEM()
 #endif
 
-#if WASM_ENABLE_SIMD != 0 && WASM_ENABLE_SIMDE != 0
+#if WASM_ENABLE_SIMDE != 0
 #define DEF_EXT_V128_HANDLE()                                       \
     SET_GOTO_TABLE_ELEM(EXT_OP_SET_LOCAL_FAST_V128),     /* 0xdd */ \
         SET_GOTO_TABLE_ELEM(EXT_OP_TEE_LOCAL_FAST_V128), /* 0xde */ \