[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 Bill Schmidt changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Bill Schmidt --- Work was completed some time ago. Sorry that original patches weren't flagged to mention this PR.
[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 --- Comment #4 from Michael Meissner --- Author: meissner Date: Thu Nov 16 20:29:52 2017 New Revision: 254846 URL: https://gcc.gnu.org/viewcvs?rev=254846=gcc=rev Log: [gcc] 2017-11-16 Michael MeissnerBack port from trunk 2017-11-16 Michael Meissner * config/rs6000/rs6000.c (rs6000_expand_builtin): Do not do the switch statement mapping KF built-ins to TF built-ins if we don't have the proper ISA 3.0 assembler support. Back port from trunk 2017-11-14 Michael Meissner * config/rs6000/rs6000-c.c (is_float128_p): New helper function. (rs6000_builtin_type_compatible): Treat _Float128 and long double as being compatible if -mabi=ieeelongdouble. * config/rs6000/rs6000-builtin.def (BU_FLOAT128_HW_1): New macros to setup float128 built-ins with hardware support. (BU_FLOAT128_HW_2): Likewise. (BU_FLOAT128_HW_3): Likewise. (BU_FLOAT128_HW_VSX_1): Likewise. (BU_FLOAT128_HW_VSX_2): Likewise. (scalar_extract_expq): Change float128 built-in functions to accommodate having both KFmode and TFmode functions. Use the KFmode variant as the default. (scalar_extract_sigq): Likewise. (scalar_test_neg_qp): Likewise. (scalar_insert_exp_q): Likewise. (scalar_insert_exp_qp): Likewise. (scalar_test_data_class_qp): Likewise. (sqrtf128_round_to_odd): Delete processing the round to odd built-in functions as special built-in functions, and define them as float128 built-ins. Use the KFmode variant as the default. (truncf128_round_to_odd): Likewise. (addf128_round_to_odd): Likewise. (subf128_round_to_odd): Likewise. (mulf128_round_to_odd): Likewise. (divf128_round_to_odd): Likewise. (fmaf128_round_to_odd): Likewise. * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add support for KFmode and TFmode xststdcqp calls. (rs6000_expand_builtin): If long double is IEEE 128-bit floating point, switch the built-in handlers for the get/set float128 exponent, get float128 mantissa, float128 test built-ins, and the float128 round to odd built-in functions. Eliminate creating the float128 round to odd built-in functions as special built-ins. (rs6000_init_builtins): Eliminate special creation of the float128 round to odd built-in functions. * config/rs6000/vsx.md (xsxexpqp_): Change float128 built-in function insns to support both TFmode and KFmode variants. (xsxsigqp_): Likewise. (xsiexpqpf_): Likewise. (xsiexpqp_): Likewise. (xststdcqp_): Likewise. (xststdcnegqp_): Likewise. (xststdcqp_): Likewise. Back port from trunk 2017-11-06 Michael Meissner PR target/82748 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_1): Delete float128 helper macros, which are no longer used after deleting the old 'q' built-in functions, and moving the round to odd built-in functions to being special built-in functions. (BU_FLOAT128_2): Likewise. (BU_FLOAT128_1_HW): Likewise. (BU_FLOAT128_2_HW): Likewise. (BU_FLOAT128_3_HW): Likewise. (FABSQ): Delete old 'q' built-in functions. (COPYSIGNQ): Likewise. (SQRTF128_ODD): Move round to odd built-in functions to be special built-in functions, so that we can handle -mabi=ieeelongdouble. (TRUNCF128_ODD): Likewise. (ADDF128_ODD): Likewise. (SUBF128_ODD): Likewise. (MULF128_ODD): Likewise. (DIVF128_ODD): Likewise. (FMAF128_ODD): Likewise. * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Map old 'q' built-in names to 'f128'. * config/rs6000/rs6000.c (rs6000_fold_builtin): Remove folding the old 'q' built-in functions, as the machine independent code for 'f128' built-in functions handles this. (rs6000_expand_builtin): Add expansion for float128 round to odd functions, keying off on -mabi=ieeelongdouble of whether to use the KFmode or TFmode variant. (rs6000_init_builtins): Initialize the _Float128 round to odd built-in functions. * doc/extend.texi (PowerPC Built-in Functions): Document the old _Float128 'q' built-in functions are now mapped into the new 'f128' built-in functions. [gcc/testsuite] 2017-11-16 Michael Meissner Back port from trunk 2017-11-16 Michael Meissner * gcc.target/powerpc/bfp/bfp.exp: Look for *.c files, not *.c* files to prevent ~ files from getting
[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 --- Comment #3 from Aldy Hernandez --- Author: aldyh Date: Wed Sep 13 16:57:26 2017 New Revision: 252425 URL: https://gcc.gnu.org/viewcvs?rev=252425=gcc=rev Log: [gcc] 2017-08-14 Bill SchmidtPR target/79845 * config/rs6000/linux64.h (INVALID_64BIT): Use quoted strings. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Use quoted strings, and make more translator-friendly. (darwin_rs6000_override_options): Likewise. (rs6000_option_override_internal): Likewise. (rs6000_return_in_memory): Fix overlong line. (init_cmulative_args): Use quoted strings, and make more translator-friendly. (rs6000_pass_by_reference): Fix overlong line. (def_builtin): Use quoted strings. (altivec_expand_predicate_builtin): Use quoted strings, and make more translator-friendly. (htm_expand_builtin): Use quoted strings. (cpu_expand_builtin): Use quoted strings, and make more translator-friendly. (altivec_expand_builtin): Likewise. (paired_expand_predicate_builtin): Likewise. (rs6000_invalid_builtin): Likewise. (builtin_function_type): Use quoted strings. (rs6000_expand_split_stack_prologue): Use quoted strings, and make more translator-friendly. (rs6000_trampoline_init): Likewise. (rs6000_handle_altivec_attribute): Likewise. (rs6000_inner_target_options): Use quoted strings. (rs6000_disable_incompatible_switches): Likewise. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Use quoted strings, and make more translator-friendly. (SUBSUBTARGET_OVERRIDE_OPTIONS): Use quoted strings. [gcc/testsuite] 2017-08-14 Bill Schmidt PR target/79845 * g++.dg/ext/altivec-cell-5.C: Adjust diagnostic strings. * gcc.target/powerpc/altivec-cell-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. * gcc.target/powerpc/byte-in-range-1.c: Likewise. * gcc.target/powerpc/byte-in-set-1.c: Likewise. * gcc.target/powerpc/byte-in-set-2.c: Likewise. * gcc.target/powerpc/cmpb-3.c: Likewise. * gcc.target/powerpc/crypto-builtin-2.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. *
[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 --- Comment #5 from Roland Illig --- Thank you very much. The patch looks great.
[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 Bill Schmidt changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #4 from Bill Schmidt --- The situation should be much improved now. Please let me know if you still see i18n issues. Bill
[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 --- Comment #3 from Bill Schmidt --- Author: wschmidt Date: Mon Aug 14 14:26:33 2017 New Revision: 251092 URL: https://gcc.gnu.org/viewcvs?rev=251092=gcc=rev Log: [gcc] 2017-08-14 Bill SchmidtPR target/79845 * config/rs6000/linux64.h (INVALID_64BIT): Use quoted strings. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Likewise. * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Use quoted strings, and make more translator-friendly. (darwin_rs6000_override_options): Likewise. (rs6000_option_override_internal): Likewise. (rs6000_return_in_memory): Fix overlong line. (init_cmulative_args): Use quoted strings, and make more translator-friendly. (rs6000_pass_by_reference): Fix overlong line. (def_builtin): Use quoted strings. (altivec_expand_predicate_builtin): Use quoted strings, and make more translator-friendly. (htm_expand_builtin): Use quoted strings. (cpu_expand_builtin): Use quoted strings, and make more translator-friendly. (altivec_expand_builtin): Likewise. (paired_expand_predicate_builtin): Likewise. (rs6000_invalid_builtin): Likewise. (builtin_function_type): Use quoted strings. (rs6000_expand_split_stack_prologue): Use quoted strings, and make more translator-friendly. (rs6000_trampoline_init): Likewise. (rs6000_handle_altivec_attribute): Likewise. (rs6000_inner_target_options): Use quoted strings. (rs6000_disable_incompatible_switches): Likewise. * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Use quoted strings, and make more translator-friendly. (SUBSUBTARGET_OVERRIDE_OPTIONS): Use quoted strings. [gcc/testsuite] 2017-08-14 Bill Schmidt PR target/79845 * g++.dg/ext/altivec-cell-5.C: Adjust diagnostic strings. * gcc.target/powerpc/altivec-cell-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-exp-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-extract-sig-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-11.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-4.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-5.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise. * gcc.target/powerpc/bfp/scalar-insert-exp-8.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-11.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-2.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-3.c: Likewise. * gcc.target/powerpc/bfp/scalar-test-neg-5.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-exp-2.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-exp-3.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-sig-2.c: Likewise. * gcc.target/powerpc/bfp/vec-extract-sig-3.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-2.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-3.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-6.c: Likewise. * gcc.target/powerpc/bfp/vec-insert-exp-7.c: Likewise. * gcc.target/powerpc/bfp/vec-test-data-class-2.c: Likewise. * gcc.target/powerpc/bfp/vec-test-data-class-3.c: Likewise. * gcc.target/powerpc/byte-in-either-range-1.c: Likewise. * gcc.target/powerpc/byte-in-range-1.c: Likewise. * gcc.target/powerpc/byte-in-set-1.c: Likewise. * gcc.target/powerpc/byte-in-set-2.c: Likewise. * gcc.target/powerpc/cmpb-3.c: Likewise. * gcc.target/powerpc/crypto-builtin-2.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-1.c: Likewise. * gcc.target/powerpc/dfp/dtstsfi-11.c: Likewise. *
[Bug target/79845] rs6000: make code in rs6000.c more i18n-friendly
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79845 Bill Schmidt changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-08-10 Assignee|unassigned at gcc dot gnu.org |wschmidt at gcc dot gnu.org Target Milestone|--- |8.0 Ever confirmed|0 |1 --- Comment #2 from Bill Schmidt --- Working on a patch.