From ee8648bdac07986a0f1ec897b02ec82a2f144d46 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Fri, 7 Aug 2015 23:01:33 +0000 Subject: Vendor import of llvm trunk r242221: https://llvm.org/svn/llvm-project/llvm/trunk@242221 --- lib/Target/WebAssembly/WebAssemblyInstrInteger.td | 45 +++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lib/Target/WebAssembly/WebAssemblyInstrInteger.td (limited to 'lib/Target/WebAssembly/WebAssemblyInstrInteger.td') diff --git a/lib/Target/WebAssembly/WebAssemblyInstrInteger.td b/lib/Target/WebAssembly/WebAssemblyInstrInteger.td new file mode 100644 index 000000000000..5f60fe81b1a2 --- /dev/null +++ b/lib/Target/WebAssembly/WebAssemblyInstrInteger.td @@ -0,0 +1,45 @@ +// WebAssemblyInstrInteger.td-WebAssembly Integer codegen -------*- tablegen -*- +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// +/// \file +/// \brief WebAssembly Integer operand code-gen constructs. +/// +//===----------------------------------------------------------------------===// + +defm ADD : BinaryInt; +defm SUB : BinaryInt; +defm MUL : BinaryInt; +defm SDIV : BinaryInt; +defm UDIV : BinaryInt; +defm SREM : BinaryInt; +defm UREM : BinaryInt; +defm AND : BinaryInt; +defm IOR : BinaryInt; +defm XOR : BinaryInt; +defm SHL : BinaryInt; +defm SHR : BinaryInt; +defm SAR : BinaryInt; + +/* + * TODO(jfb): Add the following for 32-bit and 64-bit. + * + * int32.eq: signed-less compare equal + * int32.slt: signed less than + * int32.sle: signed less than or equal + * int32.ult: unsigned less than + * int32.ule: unsigned less than or equal + * int32.sgt: signed greater than + * int32.sge: signed greater than or equal + * int32.ugt: unsigned greater than + * int32.uge: unsigned greater than or equal + */ + +defm CLZ : UnaryInt; +defm CTZ : UnaryInt; +defm POPCNT : UnaryInt; -- cgit v1.3