From: Kewen Lin Date: Tue, 21 May 2024 02:01:06 +0000 (-0500) Subject: rs6000: Add assert !TARGET_VSX if !TARGET_ALTIVEC and strip a useless check X-Git-Tag: basepoints/gcc-16~8850 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b390b0115696353ba579706531fbd3bcf39281c5;p=thirdparty%2Fgcc.git rs6000: Add assert !TARGET_VSX if !TARGET_ALTIVEC and strip a useless check In function rs6000_option_override_internal, we have the checks and adjustments like: if (TARGET_P8_VECTOR && !TARGET_ALTIVEC) rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR; if (TARGET_P8_VECTOR && !TARGET_VSX) rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR; But in fact some previous code has guaranteed !TARGET_VSX if !TARGET_ALTIVEC, so we can remove the former check and adjustment. This patch is to remove it accordingly and also place an explicit assertion. gcc/ChangeLog: * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove useless check on TARGET_P8_VECTOR && !TARGET_ALTIVEC and add an assertion on !TARGET_VSX if !TARGET_ALTIVEC. --- diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index d18e262d81d..e4dc629ddcc 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -3940,8 +3940,9 @@ rs6000_option_override_internal (bool global_init_p) rs6000_isa_flags &= ~OPTION_MASK_FPRND; } - if (TARGET_P8_VECTOR && !TARGET_ALTIVEC) - rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR; + /* Assert !TARGET_VSX if !TARGET_ALTIVEC and make some adjustments + based on either !TARGET_VSX or !TARGET_ALTIVEC concise. */ + gcc_assert (TARGET_ALTIVEC || !TARGET_VSX); if (TARGET_P8_VECTOR && !TARGET_VSX) rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR;