s390x/tcg: Implement VECTOR FP ADD
commit3a0eae8546b4cda2526f1d913d50c4eb63f5c05e
authorDavid Hildenbrand <david@redhat.com>
Wed, 29 May 2019 19:21:21 +0000 (29 21:21 +0200)
committerDavid Hildenbrand <david@redhat.com>
Fri, 7 Jun 2019 12:53:25 +0000 (7 14:53 +0200)
tree6017d8b8f68942db8db7861753ee1e60493f384f
parentaae65009726858390d8bfca73d795613698f317a
s390x/tcg: Implement VECTOR FP ADD

1. We'll reuse op_vfa() for similar instructions later, prepare for
   that.
2. We'll reuse vop64_3() for other instructions later.
3. Take care of modifying the vector register only if no trap happened.
 - on traps, flags are not updated and no elements are modified
 - traps don't modify the fpc flags
 - without traps, all exceptions of all elements are merged
4. We'll reuse check_ieee_exc() later when we need the XxC flag.

We have to check for exceptions after processing each element.
Provide separate handlers for single/all element processing. We'll do
the same for all applicable FP instructions.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
target/s390x/Makefile.objs
target/s390x/helper.h
target/s390x/insn-data.def
target/s390x/translate_vx.inc.c
target/s390x/vec_fpu_helper.c [new file with mode: 0644]