diff options
author | Thomas Lively <tlively@google.com> | 2018-10-10 19:09:16 +0000 |
---|---|---|
committer | Thomas Lively <tlively@google.com> | 2018-10-10 19:09:16 +0000 |
commit | 103f0161b3853e2fd9b12256f3652ceb4d0637f3 (patch) | |
tree | 713f814fa26518a7b46f46662328179324000ac1 | |
parent | a3933997412f6903650ffcf735af6864a5bdf7ef (diff) | |
download | bcm5719-llvm-103f0161b3853e2fd9b12256f3652ceb4d0637f3.tar.gz bcm5719-llvm-103f0161b3853e2fd9b12256f3652ceb4d0637f3.zip |
[WebAssembly][NFC] Use vnot patfrag to simplify v128.not
Reviewers: aheejin, dschuff
Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits
Differential Revision: https://reviews.llvm.org/D53097
llvm-svn: 344175
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td index 28262fbcaf6..491ee56b794 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td +++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td @@ -508,23 +508,16 @@ defm XOR : SIMDBitwise<xor, "xor", 62>; } // isCommutable = 1 // Bitwise logic: v128.not -multiclass SIMDNot<ValueType vec_t, PatFrag splat_pat, ValueType lane_t> { - defm NOT_#vec_t : SIMD_I<(outs V128:$dst), (ins V128:$vec), - (outs), (ins), - [(set - (vec_t V128:$dst), - (vec_t (xor - (vec_t V128:$vec), - (vec_t (splat_pat (lane_t -1))) - )) - )], +multiclass SIMDNot<ValueType vec_t> { + defm NOT_#vec_t : SIMD_I<(outs V128:$dst), (ins V128:$vec), (outs), (ins), + [(set (vec_t V128:$dst), (vec_t (vnot V128:$vec)))], "v128.not\t$dst, $vec", "v128.not", 63>; } -defm "" : SIMDNot<v16i8, splat16, i32>; -defm "" : SIMDNot<v8i16, splat8, i32>; -defm "" : SIMDNot<v4i32, splat4, i32>; -defm "" : SIMDNot<v2i64, splat2, i64>; +defm "" : SIMDNot<v16i8>; +defm "" : SIMDNot<v8i16>; +defm "" : SIMDNot<v4i32>; +defm "" : SIMDNot<v2i64>; // Bitwise select: v128.bitselect def wasm_bitselect_t : SDTypeProfile<1, 3, |