[Bug middle-end/79794] unnecessary copy from target to target results in poor code for aarch64

2017-09-16 Thread wilson at gcc dot gnu.org
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

2017-09-16 Thread wilson at gcc dot gnu.org
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

2017-09-15 Thread sje at gcc dot gnu.org
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

2017-06-23 Thread wilson at gcc dot gnu.org
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

2017-05-12 Thread wilson at gcc dot gnu.org
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

2017-05-12 Thread wilson at gcc dot gnu.org
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

2017-03-01 Thread wilson at gcc dot gnu.org
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