diff options
author | Kelvin Nilsen <kelvin@gcc.gnu.org> | 2016-07-22 15:13:20 +0000 |
---|---|---|
committer | Kelvin Nilsen <kelvin@gcc.gnu.org> | 2016-07-22 15:13:20 +0000 |
commit | 1610d41097ba3b0f4b0df99ddcadcc46a0b5a549 (patch) | |
tree | a72ad1ebfe81d937559cb4d060d320c8c6f3a96f /gcc/config/rs6000 | |
parent | 8cab3d18f0fc520829687383e8f050c7442e7fe0 (diff) | |
download | gcc-1610d41097ba3b0f4b0df99ddcadcc46a0b5a549.zip gcc-1610d41097ba3b0f4b0df99ddcadcc46a0b5a549.tar.gz gcc-1610d41097ba3b0f4b0df99ddcadcc46a0b5a549.tar.bz2 |
rs6000.c (rs6000_option_override_internal): Add comments to explain why certain error messages make mention of undocumented...
gcc/ChangeLog:
2016-07-22 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
comments to explain why certain error messages make mention of
undocumented options.
(rs6000_invalid_builtin): Change error messages to replace mention
of undocumented options with mention of the -mcpu=power9 option
that enables those undocumented options.
* config/rs6000/rs6000.h (MASK_FLOAT128): New macro.
(RS6000_BTM_FLOAT128): Use the new MASK_FLOAT128 macro in the
definition of this macro to correct an existing error.
* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
descriptions of built-in functions so that they depend on
-mcpu=power9 instead of on the corresponding undocumented flags.
* doc/invoke.texi (Option Summary): Remove all mention of newly
undocumented flags.
(IBM RS/6000 and PowerPC Options): Likewise.
* doc/md.texi (Constraints for Particuliar Machines): Remove all
mention of newly undocumented flags.
From-SVN: r238648
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 22 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.h | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.opt | 8 |
3 files changed, 25 insertions, 8 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7d47f45..238e845 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -4212,6 +4212,10 @@ rs6000_option_override_internal (bool global_init_p) { if (rs6000_isa_flags_explicit & OPTION_MASK_P8_FUSION) { + /* We prefer to not mention undocumented options in + error messages. However, if users have managed to select + power9-fusion without selecting power8-fusion, they + already know about undocumented flags. */ error ("-mpower9-fusion requires -mpower8-fusion"); rs6000_isa_flags &= ~OPTION_MASK_P9_FUSION; } @@ -4259,6 +4263,10 @@ rs6000_option_override_internal (bool global_init_p) /* ISA 3.0 vector instructions include ISA 2.07. */ if (TARGET_P9_VECTOR && !TARGET_P8_VECTOR) { + /* We prefer to not mention undocumented options in + error messages. However, if users have managed to select + power9-vector without selecting power8-vector, they + already know about undocumented flags. */ if (rs6000_isa_flags_explicit & OPTION_MASK_P8_VECTOR) error ("-mpower9-vector requires -mpower8-vector"); rs6000_isa_flags &= ~OPTION_MASK_P9_VECTOR; @@ -4286,6 +4294,10 @@ rs6000_option_override_internal (bool global_init_p) /* ISA 3.0 D-form instructions require p9-vector and upper-regs. */ if ((TARGET_P9_DFORM_SCALAR || TARGET_P9_DFORM_VECTOR) && !TARGET_P9_VECTOR) { + /* We prefer to not mention undocumented options in + error messages. However, if users have managed to select + power9-dform without selecting power9-vector, they + already know about undocumented flags. */ if (rs6000_isa_flags_explicit & OPTION_MASK_P9_VECTOR) error ("-mpower9-dform requires -mpower9-vector"); rs6000_isa_flags &= ~(OPTION_MASK_P9_DFORM_SCALAR @@ -4294,6 +4306,10 @@ rs6000_option_override_internal (bool global_init_p) if (TARGET_P9_DFORM_SCALAR && !TARGET_UPPER_REGS_DF) { + /* We prefer to not mention undocumented options in + error messages. However, if users have managed to select + power9-dform without selecting upper-regs-df, they + already know about undocumented flags. */ if (rs6000_isa_flags_explicit & OPTION_MASK_UPPER_REGS_DF) error ("-mpower9-dform requires -mupper-regs-df"); rs6000_isa_flags &= ~OPTION_MASK_P9_DFORM_SCALAR; @@ -15507,13 +15523,13 @@ rs6000_invalid_builtin (enum rs6000_builtins fncode) else if ((fnmask & RS6000_BTM_P8_VECTOR) != 0) error ("Builtin function %s requires the -mpower8-vector option", name); else if ((fnmask & RS6000_BTM_P9_VECTOR) != 0) - error ("Builtin function %s requires the -mpower9-vector option", name); + error ("Builtin function %s requires the -mcpu=power9 option", name); else if ((fnmask & (RS6000_BTM_P9_MISC | RS6000_BTM_64BIT)) == (RS6000_BTM_P9_MISC | RS6000_BTM_64BIT)) - error ("Builtin function %s requires the -mpower9-misc and" + error ("Builtin function %s requires the -mcpu=power9 and" " -m64 options", name); else if ((fnmask & RS6000_BTM_P9_MISC) == RS6000_BTM_P9_MISC) - error ("Builtin function %s requires the -mpower9-misc option", name); + error ("Builtin function %s requires the -mcpu=power9 option", name); else if ((fnmask & (RS6000_BTM_HARD_FLOAT | RS6000_BTM_LDBL128)) == (RS6000_BTM_HARD_FLOAT | RS6000_BTM_LDBL128)) error ("Builtin function %s requires the -mhard-float and" diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index a6e80d7..a2b16d9 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -638,6 +638,7 @@ extern int rs6000_vector_align[]; #define MASK_DIRECT_MOVE OPTION_MASK_DIRECT_MOVE #define MASK_DLMZB OPTION_MASK_DLMZB #define MASK_EABI OPTION_MASK_EABI +#define MASK_FLOAT128 OPTION_MASK_FLOAT128 #define MASK_FPRND OPTION_MASK_FPRND #define MASK_P8_FUSION OPTION_MASK_P8_FUSION #define MASK_HARD_FLOAT OPTION_MASK_HARD_FLOAT @@ -2716,7 +2717,7 @@ extern int frame_pointer_needed; #define RS6000_BTM_HARD_FLOAT MASK_SOFT_FLOAT /* Hardware floating point. */ #define RS6000_BTM_LDBL128 MASK_MULTIPLE /* 128-bit long double. */ #define RS6000_BTM_64BIT MASK_64BIT /* 64-bit addressing. */ -#define RS6000_BTM_FLOAT128 MASK_P9_VECTOR /* IEEE 128-bit float. */ +#define RS6000_BTM_FLOAT128 MASK_FLOAT128 /* IEEE 128-bit float. */ #define RS6000_BTM_COMMON (RS6000_BTM_ALTIVEC \ | RS6000_BTM_VSX \ diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt index 4f67473..a6db8bb 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -606,7 +606,7 @@ Target Undocumented Var(rs6000_optimize_swaps) Init(1) Save Analyze and remove doubleword swaps from VSX computations. mpower9-fusion -Target Report Mask(P9_FUSION) Var(rs6000_isa_flags) +Target Undocumented Report Mask(P9_FUSION) Var(rs6000_isa_flags) Fuse certain operations together for better performance on power9. mpower9-misc @@ -614,7 +614,7 @@ Target Undocumented Report Mask(P9_MISC) Var(rs6000_isa_flags) Use/do not use certain scalar instructions added in ISA 3.0. mpower9-vector -Target Report Mask(P9_VECTOR) Var(rs6000_isa_flags) +Target Undocumented Report Mask(P9_VECTOR) Var(rs6000_isa_flags) Use/do not use vector instructions added in ISA 3.0. mpower9-dform-scalar @@ -626,7 +626,7 @@ Target Undocumented Mask(P9_DFORM_VECTOR) Var(rs6000_isa_flags) Use/do not use vector register+offset memory instructions added in ISA 3.0. mpower9-dform -Target Report Var(TARGET_P9_DFORM_BOTH) Init(-1) Save +Target Undocumented Report Var(TARGET_P9_DFORM_BOTH) Init(-1) Save Use/do not use register+offset memory instructions added in ISA 3.0. mpower9-minmax @@ -638,7 +638,7 @@ Target Undocumented Mask(TOC_FUSION) Var(rs6000_isa_flags) Fuse medium/large code model toc references with the memory instruction. mmodulo -Target Report Mask(MODULO) Var(rs6000_isa_flags) +Target Undocumented Report Mask(MODULO) Var(rs6000_isa_flags) Generate the integer modulo instructions. mfloat128 |