target-tricore: Add instructions of RRR1 opcode format, which have 0xc3 as first...
commitbebe80fc78cc91c4225cfb98ef3a916b9c861c60
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Fri, 6 Feb 2015 14:48:33 +0000 (6 14:48 +0000)
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Tue, 3 Mar 2015 01:06:00 +0000 (3 01:06 +0000)
treef59fb6e656cb9090c4abbe0051706422e1989dc5
parentb00aa8ecbc6fd7468178a0dabc7dfd0b7e1b8cd6
target-tricore: Add instructions of RRR1 opcode format, which have 0xc3 as first opcode

Add helpers helper_addsur_h/_ssov which adds one halfword and subtracts one
halfword, rounds / and saturates each half word independently.

Add microcode helper functions:
    * gen_maddsu_h/sus_h: multiply two halfwords left justified and add to the
                          first one word and subtract from the second one word
                          / and saturate each resulting word independetly.
    * gen_maddsum_h/sums_h: multiply two halfwords in q-format left justified
                            and add to the first one word and subtract from
                            the second one word / and saturate each resulting
                            word independetly.
    * gen_maddsur32_h/32s_h: multiply two halfwords in q-format left justified
                             and add to the first one word and subtract from
                             the second one word, round both results / and
                             saturate each resulting word independetly.

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Reviewed-by: Richard Henderson <rth@twiddle.net>
target-tricore/helper.h
target-tricore/op_helper.c
target-tricore/translate.c