target-arm: A64: Implement AdvSIMD reciprocal ops

The actual reciprocal function is shared with the NEON code. The include
URECPE, FRECPE and FRECPX instructions in both scalar and vector forms.
However the v8 wrappers have to deal with a wider range input conditions
as well as FPCR controlled behaviour for squashing NaNs and denormals.

Also:

* Added a simple wrapper to emulate unpack
* Switched some NEON wrapper to pass fpst directly
* Exposed softfloat's *_squash_input_denormal
* Added *_maxnorm to softfloat

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
target-arm: A64: Add last AdvSIMD Integer to FP ops

This adds the remaining [US]CVTF operations to both C3.6.14 and C3.6.17
groups of opcodes.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
target-arm: A64: fix bug in add_sub_ext an handling rn

rn can always be SP regardless of the flag setting nature. Thanks to
Laurent Desnogues <laurent.desnogues@gmail.com> for reporting the bug.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
target-arm: A64: add FSQRT to C3.6.17 (two misc)

Another test case triggered by gcc.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
translate-a64.c: add a debug helper trace macro

This just makes it easier to drop TRACE_DECODE statements all over the
place instead of fprintfs.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---

v2 (ajb)
   - checkpatch.pl fixes
qemu-log: support simple pid substitution in logfile

When debugging stuff that occurs over several forks it would be useful
not to keep overwriting the one logfile you've set-up. This allows a
simple %d to be included once in the logfile parameter which is
substituted with getpid().
rm unused field
scripts/qemu-binfmt-conf.sh: re-factor and clean-up

I was looking to set-up for development but found the script made some
hard-coded assumptions. It doesn't seem the script is used by the
distros but if it had a little more love maybe it would be ;-)

* Add usage() instructions
* Move all registering to a single function
* Check for existence of executable qemu before registering
* Add -d (devel) mode for subscribing in-src tree binaries
* error handling when setting binfmt fails
* add support for aarch64
scripts/qemu-binfmt-check.py: a binfmt checker

This script allows you to check if a given binary will match against any
of the currently registered binfmts on the system.

---

v2 (ajb):
   - cleaned up whitespace and checkpatch fixes
v3 (ajb)):
   - usage() and logging clean-ups
linux-user: Implement sendmmsg syscall

Glibc when built for newer kernels assumes that the sendmmsg syscall is available.
Without it, dns resolution simply fails to work.

Wrap the syscall with existing infrastructure so that we don't have a host dependency
on sendmmsg.

Signed-off-by: Alexander Graf <agraf@suse.de>
TESTING: additional opcode information from gcc tests