- May 24, 2019
-
-
Iain Sandoe authored
Some of the i386.exp tests fail on Darwin (and at least one passes incorrectly on Linux) because their scan-asm match strings are too general. In some cases the strings also match instances in the .file and size directives or in comment output. This patch makes the match strings more specific. 2019-05-24 Iain Sandoe <iain@sandoe.co.uk> * gcc.target/i386/pconfig-1.c: Scan for the string in the generated code, not in comments or miscellaneous directives. Adjust expected count. * gcc.target/i386/pr18041-1.c: Likewise. * gcc.target/i386/pr18041-2.c: Likewise. * gcc.target/i386/wbinvd-1.c: Likewise. * gcc.target/i386/wbnoinvd-1.c: Likewise. * gcc.target/i386/pr66819-3.c: Specifically, check that there is no call to "bar". * gcc.target/i386/pr66819-4.c: Likewise. * gcc.target/i386/pr82662.c * gcc.target/i386/ptwrite2.c: Make the checks look for the specific destination register, don't try the m32 test on m64 targets. From-SVN: r271591
-
Iain Sandoe authored
A couple of the i386.exp tests fail because the label spelling used is different between ELF and Mach-O targets. Adjusted here. 2019-05-24 Iain Sandoe <iain@sandoe.co.uk> * gcc.target/i386/pr67985-2.c: Adjust label checks for Darwin. * gcc.target/i386/pr77881.c: Likewise. From-SVN: r271590
-
Iain Sandoe authored
A few of the i386.exp target tests cannot pass on Darwin because either the port doesn't support a feature, or the ABI demands sufficiently different codegen that matching the output with scan-asms would require a different test. Disabling those tests here. 2019-05-24 Iain Sandoe <iain@sandoe.co.uk> * gcc.target/i386/falign-functions-2.c: Skip for Darwin. * gcc.target/i386/pr70738-7.c: Likewise. * gcc.target/i386/pr24414.c: Likewise. From-SVN: r271589
-
GCC Administrator authored
From-SVN: r271588
-
- May 23, 2019
-
-
Iain Sandoe authored
This can't work without special support because placing the call directly after the function label breaks the ABI requirement that call sites are 16byte aligned. gcc/ 2019-05-23 Iain Sandoe <iain@sandoe.co.uk> * config/i386/darwin.h: Reject -mfentry*. * doc/sourcebuild.texi: Document mfentry target support. gcc/testsuite/ 2019-05-23 Iain Sandoe <iain@sandoe.co.uk> * lib/target-supports.exp (check_effective_target_mfentry): New. * gcc.target/i386/fentry-override.c: Require effective target mfentry. * gcc/testsuite/gcc.target/i386/fentry.c: Likewise * gcc.target/i386/fentryname1.c: Likewise * gcc.target/i386/fentryname2.c: Likewise * gcc.target/i386/fentryname3.c: Likewise * gcc.target/i386/nop-mcount.c: Likewise * gcc.target/i386/pr82699-2.c: Likewise * gcc.target/i386/pr82699-4.c: Likewise * gcc.target/i386/pr82699-5.c: Likewise * gcc.target/i386/pr82699-6.c: Likewise * gcc.target/i386/returninst1.c: Likewise * gcc.target/i386/returninst2.c: Likewise * gcc.target/i386/returninst3.c : Likewise From-SVN: r271580
-
Bill Schmidt authored
rs6000.c (rs6000_global_entry_point_needed_p): Rename to rs6000_global_entry_point_prologue_needed_p. [gcc] 2019-05-22 Bill Schmidt <wschmidt@linux.ibm.com> * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): Rename to rs6000_global_entry_point_prologue_needed_p. Return false for PC-relative functions. (rs6000_output_function_prologue): Change called function name to rs6000_global_entry_point_prologue_needed_p. Emit ".localentry name,1" for PC-relative functions. (rs6000_elf_declare_function_name): Change called function name to rs6000_global_entry_point_prologue_needed_p. [gcc/testsuite] 2019-05-22 Bill Schmidt <wschmidt@linux.ibm.com> * gcc.target/powerpc/localentry-1.c: New file. From-SVN: r271577
-
Uros Bizjak authored
PR target/90552 * config/i386/i386.c (gen_rtx_cost): Use ix86_tune_cost instead of ix86_cost. testsuite/ChangeLog: PR target/90552 * gcc.target/i386/pr90552.c: New test. From-SVN: r271576
-
Bill Schmidt authored
2019-05-22 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Add OPTION_MASK_PCREL. (POWERPC_MASKS): Add OPTION_MASK_PCREL. * config/rs6000/rs6000-protos.h (rs6000_pcrel_p): New prototype. (rs6000_fndecl_pcrel_p): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Report error if -mpcrel is requested without -mcpu=future. (rs6000_opt_masks): Add entry for pcrel. (rs6000_fndecl_pcrel_p): New function. (rs6000_pcrel_p): Likewise. * config/rs6000/rs6000.opt (mpcrel): New option. * doc/invoke.texi: Document -mpcrel and -mno-pcrel. Co-Authored-By:
Michael Meissner <meissner@linux.ibm.com> Co-Authored-By:
Segher Boessenkool <segher@kernel.crashing.org> From-SVN: r271575
-
Mark Eggleston authored
2019-05-23 Mark Eggleston <mark.eggleston@codethink.com> * gfortran.dg/fmt_f_default_field_width_1.f90: Hide REAL(16) behind __GFC_REAL_16__. Add -cpp to dg-options. * gfortran.dg/fmt_f_default_field_width_2.f90: Ditto. * gfortran.dg/fmt_f_default_field_width_3.f90: Ditto. * gfortran.dg/fmt_g_default_field_width_1.f90: Ditto. * gfortran.dg/fmt_g_default_field_width_2.f90: Ditto. * gfortran.dg/fmt_g_default_field_width_3.f90: Ditto. From-SVN: r271573
-
Jan Hubicka authored
PR tree-optimization/90576 * tree-ssa-alias.c (compare_sizes): Remove dead calls to poly_int_tree_p. (aliasing_component_refs_p): Fix three way size compare conditional; give up earlier in case we can not decide on equivalence. Co-Authored-By:
Martin Liska <mliska@suse.cz> From-SVN: r271572
-
Bill Schmidt authored
architecture level, as yet unnamed. [gcc] 2019-05-22 Bill Schmidt <wschmidt@linux.ibm.com> Michael Meissner <meissner@linux.ibm.com> Segher Boessenkool <segher@kernel.crashing.org> * config.gcc: Add future cpu. * config/rs6000/driver-rs6000.c (asm_names): Add future cpu. * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): New #define. (POWERPC_MASKS): Add OPTION_MASK_FUTURE. (RS6000_CPU): New instantiation for future cpu. * config/rs6000/rs6000-opts.h (enum processor_type): Add PROCESSOR_FUTURE. * config/rs6000/rs6000-string.c (expand_compare_loop): Treat PROCESSOR_FUTURE like PROCESSOR_POWER9 for now. * config/rs6000/rs6000-tables.opt: Regenerate. * config/rs6000/rs6000.c (rs6000_option_override_internal): Treat PROCESSOR_FUTURE similarly to PROCESSOR_POWER9 for now. (rs6000_machine_from_flags): Handle future cpu. (rs6000_reassociation_width): Treat PROCESSOR_FUTURE like PROCESSOR_POWER9 for now. (rs6000_adjust_cost): Likewise. (rs6000_issue_rate): Likewise. (rs6000_register_move_cost): Likewise. (rs6000_opt_mask): Add entry for future. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add future cpu. (MASK_FUTURE): New #define. * config/rs6000/rs6000.md (define_attr "cpu"): Add future cpu. * config/rs6000/rs6000.opt (mfuture): New target option. * doc/invoke.texi (mcpu): Add future cpu. [gcc/testsuite] 2019-05-22 Bill Schmidt <wschmidt@linux.ibm.com> * gcc.target/powerpc/cpu-future.c: New test. Co-Authored-By:
Michael Meissner <meissner@linux.ibm.com> Co-Authored-By:
Segher Boessenkool <segher@kernel.crashing.org> From-SVN: r271567
-
Martin Liska authored
2019-05-23 Martin Liska <mliska@suse.cz> PR c++/90587 * tree-ssa-uninit.c (value_sat_pred_p): The result of & operation points to a temporary (pointed via tree_to_wide_ref) that is out of scope after the &. From-SVN: r271555
-
Jonathan Wakely authored
PR c++/90592 * doc/extend.texi (Function Names): Add missing word. From-SVN: r271554
-
Richard Biener authored
2019-05-23 Richard Biener <rguenther@suse.de> PR tree-optimization/88440 * opts.c (default_options_table): Enable -ftree-loop-distribute-patterns at -O[2s]+. * tree-loop-distribution.c (generate_memset_builtin): Fold the generated call. (generate_memcpy_builtin): Likewise. (distribute_loop): Pass in whether to only distribute patterns. (prepare_perfect_loop_nest): Also allow size optimization. (pass_loop_distribution::execute): When optimizing a loop nest for size allow pattern replacement. * gcc.dg/tree-ssa/ldist-37.c: New testcase. * gcc.dg/tree-ssa/ldist-38.c: Likewise. * gcc.dg/vect/vect.exp: Add -fno-tree-loop-distribute-patterns. * gcc.dg/tree-ssa/ldist-37.c: Adjust. * gcc.dg/tree-ssa/ldist-38.c: Likewise. * g++.dg/tree-ssa/pr78847.C: Likewise. * gcc.dg/autopar/pr39500-1.c: Likewise. * gcc.dg/autopar/reduc-1char.c: Likewise. * gcc.dg/autopar/reduc-7.c: Likewise. * gcc.dg/tree-ssa/ivopts-lt-2.c: Likewise. * gcc.dg/tree-ssa/ivopts-lt.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-1.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-2.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-3.c: Likewise. * gcc.dg/tree-ssa/predcom-dse-4.c: Likewise. * gcc.dg/tree-ssa/prefetch-7.c: Likewise. * gcc.dg/tree-ssa/prefetch-8.c: Likewise. * gcc.dg/tree-ssa/prefetch-9.c: Likewise. * gcc.dg/tree-ssa/scev-11.c: Likewise. * gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise. * gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise. * gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise. * gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise. * gcc.target/i386/pr30970.c: Likewise. * gcc.target/i386/vect-double-1.c: Likewise. * gcc.target/i386/vect-double-2.c: Likewise. * gcc.dg/tree-ssa/gen-vect-2.c: Likewise. * gcc.dg/tree-ssa/gen-vect-26.c: Likewise. * gcc.dg/tree-ssa/gen-vect-28.c: Likewise. * gcc.dg/tree-ssa/gen-vect-32.c: Likewise. * gfortran.dg/vect/vect-5.f90: Likewise. * gfortran.dg/vect/vect-8.f90: Likewise. From-SVN: r271553
-
Jakub Jelinek authored
PR target/90568 * config/i386/i386.md (stack_protect_test_<mode>): Use sub instead of xor. From-SVN: r271552
-
Eric Botcazou authored
From-SVN: r271549
-
Martin Liska authored
2019-05-23 Martin Liska <mliska@suse.cz> PR sanitizer/90570 * gimplify.c (gimplify_target_expr): Skip TREE_STATIC target expression similarly to gimplify_decl_expr. 2019-05-23 Martin Liska <mliska@suse.cz> PR sanitizer/90570 * g++.dg/asan/pr90570.C: New test. From-SVN: r271548
-
Eric Botcazou authored
From-SVN: r271545
-
Iain Sandoe authored
These tests had started to XPASS on pic targets where the codegen is now as expected. gcc/testsuite/ 2019-05-23 Iain Sandoe <iain@sandoe.co.uk> PR rtl-optimisation/64895 * gcc.target/i386/fuse-caller-save-rec.c: Remove XFAILs. * gcc.target/i386/fuse-caller-save.c: Likewise. * gcc.target/i386/fuse-caller-save-xmm.c: Adjust tests for PIC cases, remove XFAILs. From-SVN: r271544
-
Jonathan Wakely authored
* cp-tree.h (CP_AGGREGATE_TYPE_P): Fix whitespace. From-SVN: r271543
-
Jonathan Wakely authored
From-SVN: r271542
-
Jonathan Wakely authored
* init.c (std_placement_new_fn_p): Remove outdated TODO comment that was resolved by r254694. From-SVN: r271541
-
Thomas Schwinge authored
... for r271463 "Fix PR90510, VEC_PERM -> BIT_INSERT folding". gcc/testsuite/ PR middle-end/90510 * brig.dg/test/gimple/packed.hsail: Adjust. From-SVN: r271540
-
Prathamesh Kulkarni authored
2019-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * cse.c (cse_dump_path): s/dump_file/f. From-SVN: r271539
-
Jakub Jelinek authored
From-SVN: r271538
-
Hans-Peter Nilsson authored
There was a regression for gfortran.dg/fmt_en.f90 for cris-elf that on inspection was due to it having acquired a truncation call through the runtime. I updated that and the new tests that had "Fortran runtime error: required ftruncate or chsize support not present" messages in gfortran.log, ran past cris-elf and committed as obvious. See also <https://gcc.gnu.org/ml/gcc-patches/2008-05/msg00975.html> from which I copy-pasted most of this message. (Yep, 11 years ago.) gcc/testsuite: * gfortran.dg/dec_io_1.f90, gfortran.dg/dtio_1.f90, gfortran.dg/dtio_12.f90, gfortran.dg/fmt_en.f90, gfortran.dg/namelist_89.f90: Gate test on effective_target fd_truncate. From-SVN: r271536
-
David Malcolm authored
PR c++/90462 reports an ICE with -fdiagnostics-format=json when attempting to serialize a malformed location to JSON. The compound location_t in question has meaningful "caret" and "start" locations, but has UNKNOWN_LOCATION for its "finish" location, leading to a NULL pointer dereference when attempting to build a JSON string for the filename. This patch bulletproofs the JSON output so that attempts to write a JSON object for a location with a NULL file will lead to an object with no "file" key, and attempts to write a compound location with UNKNOWN_LOCATION for its start or finish will lead to the corresponding JSON child object being omitted. This patch also adds a json::object::get member function, for self-testing the above. gcc/ChangeLog: PR c++/90462 * diagnostic-format-json.cc: Include "selftest.h". (json_from_expanded_location): Only add "file" key for non-NULL file strings. (json_from_location_range): Don't add "start" and "finish" children if they are UNKNOWN_LOCATION. (selftest::test_unknown_location): New selftest. (selftest::test_bad_endpoints): New selftest. (selftest::diagnostic_format_json_cc_tests): New function. * json.cc (json::object::get): New function. (selftest::test_object_get): New selftest. (selftest::json_cc_tests): Call it. * json.h (json::object::get): New decl. * selftest-run-tests.c (selftest::run_tests): Call selftest::diagnostic_format_json_cc_tests. * selftest.h (selftest::diagnostic_format_json_cc_tests): New decl. gcc/testsuite/ChangeLog: PR c++/90462 * g++.dg/pr90462.C: New test. From-SVN: r271535
-
GCC Administrator authored
From-SVN: r271534
-
- May 22, 2019
-
-
Marek Polacek authored
* g++.dg/cpp1y/udlit-char-template-neg.C: Expect the error on a different line. Check the column number too. From-SVN: r271530
-
Kwok Cheung Yeung authored
2019-05-22 Kwok Cheung Yeung <kcy@codesourcery.com> Andrew Stubbs <amd@codesourcery.com> gcc/ * config.gcc (gcc_cv_initfini_array): Set for AMD GCN. * config/gcn/gcn-run.c (init_array_kernel, fini_array_kernel): New. (kernel): Rename to... (main_kernel): ... this. (load_image): Load _init_array and _fini_array kernels. (run): Add argument for kernel to run. (main): Run init_array_kernel before main_kernel, and fini_array_kernel after. * config/gcn/gcn.c (gcn_handle_amdgpu_hsa_kernel_attribute): Allow amdgpu_hsa_kernel attribute on functions. (gcn_disable_constructors): Delete. (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): Delete. * config/gcn/crt0.c (size_t): Define. (_init_array, _fini_array): New. (__preinit_array_start, __preinit_array_end, __init_array_start, __init_array_end, __fini_array_start, __fini_array_end): Declare weak references. Co-Authored-By:
Andrew Stubbs <ams@codesourcery.com> From-SVN: r271526
-
Andrew Stubbs authored
2019-05-22 Andrew Stubbs <ams@codesourcery.com> gcc/ * config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5. From-SVN: r271525
-
Jason Merrill authored
* gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE. The front end shouldn't produce a GENERIC COND_EXPR of TREE_ADDRESSABLE type. From-SVN: r271524
-
Jason Merrill authored
Here initializing the argument from a TARGET_EXPR isn't an empty class copy even though the type is !TREE_ADDRESSABLE, so we should check simple_empty_class_p. * call.c (build_call_a): Use simple_empty_class_p. From-SVN: r271523
-
Jason Merrill authored
Yet another tweak that would have fixed this bug: we should treat INIT_EXPR and MODIFY_EXPR differently for determining whether this is a simple empty class copy, since a TARGET_EXPR on the RHS is direct initialization if INIT_EXPR but copy if MODIFY_EXPR. * cp-gimplify.c (simple_empty_class_p): Also true for MODIFY_EXPR. From-SVN: r271521
-
Uros Bizjak authored
vect-signbitf.c (dg-final): Improve scan-assembler-not string to avoid false matching on 32bit targets. * gcc.target/i386/vect-signbitf.c (dg-final): Improve scan-assembler-not string to avoid false matching on 32bit targets. From-SVN: r271520
-
H.J. Lu authored
get_frame_size () returns used stack slots during compilation, which may be optimized out later. This patch does the followings: 1. Add stack_frame_required to machine_function to indicate that the function needs a stack frame. 2. Change ix86_find_max_used_stack_alignment to set stack_frame_required. 3. Always call ix86_find_max_used_stack_alignment to check if stack frame is needed. Tested on i686 and x86-64 with --with-arch=native --with-cpu=native Tested on AVX512 machine configured with --with-arch=native --with-cpu=native gcc/ PR target/88483 * config/i386/i386-options.c (ix86_init_machine_status): Set stack_frame_required to true. * config/i386/i386.c (ix86_get_frame_size): New function. (ix86_frame_pointer_required): Replace get_frame_size with ix86_get_frame_size. (ix86_compute_frame_layout): Likewise. (ix86_find_max_used_stack_alignment): Changed to void. Set stack_frame_required. (ix86_finalize_stack_frame_flags): Always call ix86_find_max_used_stack_alignment. Replace get_frame_size with ix86_get_frame_size. * config/i386/i386.h (machine_function): Add stack_frame_required. gcc/testsuite/ PR target/88483 * gcc.target/i386/stackalign/pr88483-1.c: New test. * gcc.target/i386/stackalign/pr88483-2.c: Likewise. From-SVN: r271517
-
Uros Bizjak authored
* config/i386/sse.md (sse_cvtpi2ps): Use TARGET_MMX in insn condition. From-SVN: r271515
-
Matthew Malcomson authored
This patch adds support in the compiler for the architecture feature flags that binutils will use to enable/disable the new "Future Architecture Technologies" feature Scalable Vector Extension V2 (SVE2) announced at Linaro Connect this week. The "sve2" extension that enables the core sve2 instructions. This also enables the sve extension, since sve is a requirement of sve2. Extra optional sve2 features are the bitperm, sm4, aes, and sha3 extensions. These are all given extra feature flags, "bitperm", "sve2-sm4", "sve2-aes", and "sve2-sha3" respectively. The sm4, aes, and sha3 extensions are explicitly marked as sve2 extensions to distinguish them from the corresponding NEON extensions. When introducing macros to denote these new features we have gone past what a 32 bit value can represent which means we need to change the type of those variables working with these feature flags to ensure they use 64 bit quantities. Tested with bootstrap on aarch64-none-linux-gnu and manually seeing that -march=armv8-a+typo prints out the expected flags while using the new feature flags does not complain about a missing flag (until reaching the assembler). gcc/ChangeLog: 2019-05-22 Matthew Malcomson <matthew.malcomson@arm.com> * common/config/aarch64/aarch64-common.c (struct aarch64_option_extension, struct processor_name_to_arch, struct arch_to_arch_name, aarch64_parse_extension, opt_ext_cmp, aarch64_contains_opt, aarch64_get_extension_string_for_isa_flags): Change type of variables storing flags to uint64_t. * config/aarch64/aarch64-option-extensions.def (sve2, sve2-sm4, sve2-aes, sve2-sha3, bitperm): New optional SVE2 extension flags. * config/aarch64/aarch64.c (struct processor, aarch64_parse_arch, aarch64_parse_cpu, aarch64_validate_mcpu, aarch64_validate_march, aarch64_override_options, aarch64_option_print, aarch64_handle_attr_isa_flags, aarch64_declare_function_name, aarch64_start_file): Make flag variables uint64_t. * config/aarch64/aarch64.h (AARCH64_FL_SVE2, AARCH64_FL_SVE2_AES, AARCH64_FL_SVE2_SM4, AARCH64_FL_SVE2_SHA3, AARCH64_FL_SVE2_BITPERM): New macro feature flags. * config/aarch64/aarch64.opt (aarch64_isa_flags): Make uint64_t. * config/aarch64/driver-aarch64.c (struct aarch64_arch_extension, struct aarch64_core_data, struct aarch64_arch_driver_info, host_detect_local_cpu): Make flag variables uint64_t. * doc/invoke.texi: Add documentation for new arguments. From-SVN: r271514
-
Andrew Stubbs authored
2019-05-22 Andrew Stubbs <ams@codesourcery.com> gcc/testsuite/ * gfortran.dg/coarray_lock_7.f90: Fix output patterns. From-SVN: r271513
-
Andrew Stubbs authored
2019-05-22 Andrew Stubbs <ams@codesourcery.com> gcc/fortran/ * trans-stmt.c (gfc_trans_critical): Use size_type_node for gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls. (gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all call. From-SVN: r271512
-