In gcc PowerPC, long double has 3 mangling schemes:
-mlong-double-64: e
-mlong-double-128 -mabi=ibmlongdouble: g
-mlong-double-128 -mabi=ieeelongdouble: u9__ieee128 (gcc <= 8.1: U10__float128)
The current useFloat128ManglingForLongDouble() bisection is not suitable
when we support -mlong-double-128 in clang (D64277). Replace
useFloat128ManglingForLongDouble() with getLongDoubleMangling() and
getFloat128Mangling() to allow 3 mangling schemes.
I also deleted the getTriple().isOSBinFormatELF() check (the Darwin
support has gone: https://reviews.llvm.org/D50988).
For x86, change the mangled code of __float128 from U10__float128 to g. U10__float128 was wrongly copied from PowerPC.
The test will be added to test/CodeGen/x86-long-double.cpp in D64277.