@@ -16414,21 +16414,24 @@ rs6000_init_builtins (void)
__ieee128. */
if (TARGET_FLOAT128_TYPE)
{
- if (TARGET_IEEEQUAD || !TARGET_LONG_DOUBLE_128)
+ if (!TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128)
+ ibm128_float_type_node = long_double_type_node;
+ else
{
ibm128_float_type_node = make_node (REAL_TYPE);
TYPE_PRECISION (ibm128_float_type_node) = 128;
SET_TYPE_MODE (ibm128_float_type_node, IFmode);
layout_type (ibm128_float_type_node);
}
- else
- ibm128_float_type_node = long_double_type_node;
lang_hooks.types.register_builtin_type (ibm128_float_type_node,
"__ibm128");
- ieee128_float_type_node
- = TARGET_IEEEQUAD ? long_double_type_node : float128_type_node;
+ if (TARGET_IEEEQUAD && TARGET_LONG_DOUBLE_128)
+ ieee128_float_type_node = long_double_type_node;
+ else
+ ieee128_float_type_node = float128_type_node;
+
lang_hooks.types.register_builtin_type (ieee128_float_type_node,
"__ieee128");
}