[4.8] Backport additional diagnostic support

Squashed commit of r198331, r198900, r201467,
and r201574 from trunk.

Change-Id: If0d68971ffac2e7bc48576e2453d799a446f7415
Extend MIPS GCC4.6/4.7/4.8 -mldc1-sdc1 to control ldxc1/sdxc1 too

-mldc1-sdc1 now also controls codegen of ldxc1/sdxc1, the indexed
versions (where address of load/store is computed from sum of two
registers) of ldc1/sdc1 which are already controlled by this option.

Although double (or struct containing double) is always aligned
and the stock does guarantee 8-byte alignment, this option
is to workaround issue when double is allocated from a custom
allocator w/o honoring 8-byte minimal alignment.

Change-Id: I79433976509b885b5699d62693fd3154bb752abf
Merge https://android.googlesource.com/toolchain/gcc into jb-devel