[PATCH 0/4] floating-point specific instructions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Floating-point arithmetic is quite different from arithmetic
on integers (or on real numbers). In particular,
most transformations, simplifications that can be done on integers
are invalid when done on floats.

Since they don't follow the same rules as their integer
counterpart, better to give a specific opcode to floating-point
operations instead of having to test the type of the operands at
each manipulation.


Luc Van Oostenryck (4):
  fix linearize_inc_dec() with floats
  add test case for boolean negation on float
  fix support of floating-point compare
  add support of floating-point specific arithmetic ops

 cse.c                               |  14 ++++
 linearize.c                         |  58 ++++++++++++++---
 linearize.h                         |  25 ++++++++
 liveness.c                          |   1 +
 opcode.c                            |  46 +++++++++++---
 opcode.h                            |  10 +++
 simplify.c                          |   2 +-
 sparse-llvm.c                       |  64 ++++++++++---------
 validation/backend/arithmetic-ops.c |  20 ++++++
 validation/bool-float.c             |   9 +++
 validation/fp-ops.c                 |  57 +++++++++++++++++
 validation/inc-dec-float.c          |  13 ++++
 validation/optim/canonical-fcmp.c   | 123 ++++++++++++++++++++++++++++++++++++
 13 files changed, 394 insertions(+), 48 deletions(-)
 create mode 100644 validation/bool-float.c
 create mode 100644 validation/fp-ops.c
 create mode 100644 validation/inc-dec-float.c
 create mode 100644 validation/optim/canonical-fcmp.c

-- 
2.12.0

--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux