Skip to content
Snippets Groups Projects
  • Kewen Lin's avatar
    47749c43
    rs6000: Fix typos in float128 ISA3.1 support · 47749c43
    Kewen Lin authored
    The recent float128 ISA3.1 support (r12-1340) has some typos,
    it makes the libgcc build fail if it's with one binutils
    (assembler) which doesn't support Power10 insns.  The error
    looks like:
    
    Error: invalid switch -mpower10
    Error: unrecognized option -mpower10
    ... [...libgcc/shared-object.mk:14: float128-p10.o] Error 1
    
    What this patch does are:
      - fix test target typo libgcc_cv_powerpc_3_1_float128_hw
        (written wrongly as libgcc_cv_powerpc_float128_hw, so it's
         going to build ISA3.1 stuffs just when detecting ISA3.0).
      - fix test used for libgcc_cv_powerpc_3_1_float128_hw check.
      - fix test option used for libgcc_cv_powerpc_3_1_float128_hw
        check.
      - remove the ISA3.1 related contents from t-float128-hw.
      - add new macro FLOAT128_HW_INSNS_ISA3_1 to differentiate
        ISA3.1 content from ISA3.0 part in ifunc support.
    
    Bootstrapped/regtested on:
      - powerpc64le-linux-gnu P10
      - powerpc64le-linux-gnu P9 (w/i and w/o p10 supported as)
      - powerpc64-linux-gnu P8 (w/i and w/o p10 supported as)
    
    libgcc/ChangeLog:
    
    	* configure: Regenerate.
    	* configure.ac (test for libgcc_cv_powerpc_3_1_float128_hw): Fix
    	typos among the name, CFLAGS and the test.
    	* config/rs6000/t-float128-hw (fp128_3_1_hw_funcs, fp128_3_1_hw_src,
    	fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj, fp128_3_1_hw_obj):
    	Remove.
    	* config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
    	macro FLOAT128_HW_INSNS_ISA3_1.
    	(FP128_3_1_CFLAGS_HW): Fix option typo.
    	* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guard this with
    	FLOAT128_HW_INSNS_ISA3_1.
    	(__floattikf_resolve): Likewise.
    	(__floatuntikf_resolve): Likewise.
    	(__fixkfti_resolve): Likewise.
    	(__fixunskfti_resolve): Likewise.
    	(__floattikf): Likewise.
    	(__floatuntikf): Likewise.
    	(__fixkfti): Likewise.
    	(__fixunskfti): Likewise.
    47749c43
    History
    rs6000: Fix typos in float128 ISA3.1 support
    Kewen Lin authored
    The recent float128 ISA3.1 support (r12-1340) has some typos,
    it makes the libgcc build fail if it's with one binutils
    (assembler) which doesn't support Power10 insns.  The error
    looks like:
    
    Error: invalid switch -mpower10
    Error: unrecognized option -mpower10
    ... [...libgcc/shared-object.mk:14: float128-p10.o] Error 1
    
    What this patch does are:
      - fix test target typo libgcc_cv_powerpc_3_1_float128_hw
        (written wrongly as libgcc_cv_powerpc_float128_hw, so it's
         going to build ISA3.1 stuffs just when detecting ISA3.0).
      - fix test used for libgcc_cv_powerpc_3_1_float128_hw check.
      - fix test option used for libgcc_cv_powerpc_3_1_float128_hw
        check.
      - remove the ISA3.1 related contents from t-float128-hw.
      - add new macro FLOAT128_HW_INSNS_ISA3_1 to differentiate
        ISA3.1 content from ISA3.0 part in ifunc support.
    
    Bootstrapped/regtested on:
      - powerpc64le-linux-gnu P10
      - powerpc64le-linux-gnu P9 (w/i and w/o p10 supported as)
      - powerpc64-linux-gnu P8 (w/i and w/o p10 supported as)
    
    libgcc/ChangeLog:
    
    	* configure: Regenerate.
    	* configure.ac (test for libgcc_cv_powerpc_3_1_float128_hw): Fix
    	typos among the name, CFLAGS and the test.
    	* config/rs6000/t-float128-hw (fp128_3_1_hw_funcs, fp128_3_1_hw_src,
    	fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj, fp128_3_1_hw_obj):
    	Remove.
    	* config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
    	macro FLOAT128_HW_INSNS_ISA3_1.
    	(FP128_3_1_CFLAGS_HW): Fix option typo.
    	* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guard this with
    	FLOAT128_HW_INSNS_ISA3_1.
    	(__floattikf_resolve): Likewise.
    	(__floatuntikf_resolve): Likewise.
    	(__fixkfti_resolve): Likewise.
    	(__fixunskfti_resolve): Likewise.
    	(__floattikf): Likewise.
    	(__floatuntikf): Likewise.
    	(__fixkfti): Likewise.
    	(__fixunskfti): Likewise.