cpu/or1k: Define unordered comparisons
authorStafford Horne <shorne@gmail.com>
Wed, 12 Jun 2019 21:16:19 +0000 (06:16 +0900)
committerStafford Horne <shorne@gmail.com>
Wed, 12 Jun 2019 21:16:19 +0000 (06:16 +0900)
commitd3ad6278d6b977cfeb3156b65862224899549c76
tree099ecb4f073447a6f1208a76285505f1bf73d60e
parent6ce26ac7c381c78858b9a7bac344b5cd04bfb03e
cpu/or1k: Define unordered comparisons

Add support for new floating point unordered comparisons.  These have been
defined in OpenRISC architecture proposal 7[0] and are now included in the
architecture specification 1.3.

These new instructions provide the ability for floating point comparisons to
detect NaNs.

[0] https://openrisc.io/proposals/lfsf

cpu/ChangeLog:

yyyy-mm-dd  Stafford Horne  <shorne@gmail.com>

* or1korfpx.cpu (insn-opcode-float-regreg): Add SFUEQ_S, SFUNE_S,
SFUGT_S, SFUGE_S, SFULT_S, SFULE_S, SFUN_S, SFUEQ_D, SFUNE_D, SFUGT_D,
SFUGE_D, SFULT_D, SFULE_D, SFUN_D opcodes.
(float-setflag-insn-base): New pmacro based on float-setflag-insn.
(float-setflag-symantics, float-setflag-unordered-cmp-symantics,
float-setflag-unordered-symantics): New pmacro for instruction
symantics.
(float-setflag-insn): Update to use float-setflag-insn-base.
(float-setflag-unordered-insn): New pmacro for generating instructions.
cpu/ChangeLog
cpu/or1korfpx.cpu