Hi,

this series was originally posted by Peer Adelt some time ago[1], but still had 
some problems
which I tried to fix with this patch set.

The tricky bits here were the FTOUZ and MADD/MSUB.F instructions. The latter 
had the
problem of not giving back the correct NAN when the result of the add/sub of 
muladd/sub
was invalid. I addressed that by fixing up the value later, which feels hacky. 
I feel
the better solution would be extending softfloat to recognize ADD_NAN's and
emitting the correct NAN there. On the other hand it's a change in softfloat 
for a small
edge case.

Additionally this patch set adds the UPDFL instructions.

Cheers,
    Bastian

v2 -> v3:
    [01/05] simplified exception flag fixup in ftouz()
    [02/05] f_maddsub_nan_result() now gets a boolean value indicating whether 
the muladd_negate_c flag is set.
    [03/05] Allocate temporaries only when needed.
    [05/05] Add fpu_set_state() to update softfloats rounding mode
    [05/05] Move generation of the updfl helper to decode_rr_divide()

v1 -> v2:
    [01/05] ftouz: Correctly convert the result from uint32 to f32

Bastian Koppelmann (3):
  target-tricore: Added FTOUZ instruction
  target-tricore: Added MADD.F and MSUB.F instructions
  target-tricore: Add updfl instruction

Peer Adelt (2):
  target-tricore: Added new MOV instruction variant
  target-tricore: Added new JNE instruction variant

 target-tricore/fpu_helper.c      | 134 ++++++++++++++++++++++++++++++++++++++-
 target-tricore/helper.h          |   4 ++
 target-tricore/translate.c       |  48 ++++++++++++++
 target-tricore/tricore-opcodes.h |   3 +
 4 files changed, 188 insertions(+), 1 deletion(-)

--
2.10.2


Reply via email to