https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79038
--- Comment #3 from Michael Meissner <meissner at gcc dot gnu.org> --- Subversion id 245059 fixes the majority of the issues. However, there are some enhancements that should be added for GCC 8: 1) Add support for converting IEEE 128-bit floating point to/from char/short data types that is similar to the support that when in for normal 32-bit and 64-bit floating point types. 2) Add a combiner pattern for converting IEEE 128-bit floating point to 32-bit integer and storing it in memory so that the register allocator can do the store directly from the Altivec register instead of using direct move to save it as a GPR (since the GPR side allows more address forms for int). 3) Similarly, add a combiner pattern when converting from a 32-bit integer in memory to IEEE 128-bit floating point to avoid having to move it through a GPR.