[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