[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 Jim Wilson changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #7 from Jim Wilson --- Fixed. Patch and testcase committed.
[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 --- Comment #6 from Jim Wilson --- Fixed. Patch and testcase committed.
[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 Steve Ellcey changed: What|Removed |Added CC||sje at gcc dot gnu.org --- Comment #5 from Steve Ellcey --- It looks like a patch for this has been checked in. Should it be closed as fixed?
[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 --- Comment #4 from Jim Wilson --- Author: wilson Date: Fri Jun 23 21:01:32 2017 New Revision: 249612 URL: https://gcc.gnu.org/viewcvs?rev=249612=gcc=rev Log: Testcase for FSF GCC bug 79794. gcc/testsuite/ PR middle-end/79794 * gcc.target/aarch64/pr79794.c: New. Added: trunk/gcc/testsuite/gcc.target/aarch64/pr79794.c Modified: trunk/gcc/testsuite/ChangeLog
[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 --- Comment #3 from Jim Wilson --- Needs a testcase for the testsuite.
[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 --- Comment #2 from Jim Wilson --- Author: wilson Date: Sat May 13 01:32:40 2017 New Revision: 248004 URL: https://gcc.gnu.org/viewcvs?rev=248004=gcc=rev Log: Patch for RTL expand bug affecting aarch64 vector code. gcc/ PR middle-end/79794 * expmed.c (extract_bit_field_1): Add alt_rtl argument. Before maybe_expand_insn call, set ops[0].target. If still set after call, set alt_rtl. Add extra arg to recursive calls. (extract_bit_field): Add alt_rtl argument. Pass to extract_bit_field. * expmed.h (extract_bit_field): Fix prototype. * expr.c (emit_group_load_1, copy_blkmode_from_reg) (copy_blkmode_to_reg, read_complex_part, store_field): Pass extra NULL to extract_bit_field_calls. (expand_expr_real_1): Pass alt_rtl to expand_expr_real instead of 0. Pass alt_rtl to extract_bit_field calls. * calls.c (store_unaligned_arguments_into_psuedos) load_register_parameters): Pass extra NULL to extract_bit_field calls. * optabs.c (maybe_legitimize_operand): Clear op->target when call gen_reg_rtx. * optabs.h (struct expand_operand): Add target bitfield. Modified: trunk/gcc/ChangeLog trunk/gcc/calls.c trunk/gcc/expmed.c trunk/gcc/expmed.h trunk/gcc/expr.c trunk/gcc/optabs.c trunk/gcc/optabs.h
[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79794 --- Comment #1 from Jim Wilson --- Patch posted here https://gcc.gnu.org/ml/gcc-patches/2017-03/msg00058.html