[PATCH] D50423: [WebAssembly] Gate i64x2 and f64x2 on -wasm-enable-unimplemented

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 8 11:04:10 PDT 2018


aheejin added inline comments.


================
Comment at: lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp:49
+    cl::desc("Emit potentially-unimplemented WebAssembly instructions"),
+    cl::init(false));
+
----------------
Are we planning to use this flag only for simd or also for other instructions? For example, exception handling is not currently implemented in the VM yet, but we are adding opcodes for it (under `-mattr=+exception-handling` flag). And in case if other stage 0~1 proposals come up, we may want to add them in the toolchain before they are implemented in the VM. Are we gonna use this flag for all these cases? If not, how about changing it to `wasm-enable-unimplemented-simd`?


================
Comment at: test/CodeGen/WebAssembly/simd-arith.ll:2
+; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -disable-wasm-explicit-locals -wasm-enable-unimplemented -mattr=+simd128 | FileCheck %s --check-prefixes CHECK,SIMD128-ALL
+; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -disable-wasm-explicit-locals -wasm-enable-unimplemented -mattr=+simd128 -fast-isel | FileCheck %s --check-prefixes CHECK,SIMD128-ALL
 ; RUN: llc < %s -asm-verbose=false -disable-wasm-fallthrough-return-opt -disable-wasm-explicit-locals -mattr=+simd128 | FileCheck %s --check-prefixes CHECK,SIMD128
----------------
How about leaving the meaning of `SIMD128` as is and create another check mode for SIMD without the two opcodes? That way we can only delete that when we have the remaining two in the VM. And I think that also makes more sense if we are eventually gonna have them in the VM.


Repository:
  rL LLVM

https://reviews.llvm.org/D50423





More information about the llvm-commits mailing list