blob: 30ef6339d65a0acfdb1b0bced1b071b05a7193b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
// WebAssemblyInstrFloat.td-WebAssembly Float codegen support ---*- 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 Floating-point operand code-gen constructs.
///
//===----------------------------------------------------------------------===//
defm FADD : BinaryFP<fadd>;
defm FSUB : BinaryFP<fsub>;
defm FMUL : BinaryFP<fmul>;
defm FDIV : BinaryFP<fdiv>;
defm FABS : UnaryFP<fabs>;
defm FNEG : UnaryFP<fneg>;
defm COPYSIGN : BinaryFP<fcopysign>;
defm CEIL : UnaryFP<fceil>;
defm FLOOR : UnaryFP<ffloor>;
defm TRUNC : UnaryFP<ftrunc>;
defm NEARESTINT : UnaryFP<fnearbyint>;
/*
* TODO(jfb): Add the following for 32-bit and 64-bit.
*
* float32.eq: compare equal
* float32.lt: less than
* float32.le: less than or equal
* float32.gt: greater than
* float32.ge: greater than or equal
*/
defm SQRT : UnaryFP<fsqrt>;
/*
* TODO(jfb): Add the following for 32-bit and 64-bit.
*
* float32.min: minimum (binary operator); if either operand is NaN, returns NaN
* float32.max: maximum (binary operator); if either operand is NaN, returns NaN
*/
|