PING^1 [PATCH] Minimize number of operations between two areas of memory
H.J. Lu
hjl.tools@gmail.com
Tue Jun 18 15:59:00 GMT 2019
On Tue, Jun 11, 2019 at 8:14 AM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> For op_by_pieces operations between two areas of memory, this patch adds
> -fminimize-op-by-pieces-run to minimize number of operations. When
> operating on LENGTH bytes of memory, it starts with the widest usable
> integer size, MAX_SIZE, for LENGTH bytes and finishes with the smallest
> usable integer size, MIN_SIZE, for the remaining bytes where MAX_SIZE
> >= MIN_SIZE. If MIN_SIZE > the remaining bytes, the last operation is
> performed on MIN_SIZE bytes of overlapping memory from the previous
> operation.
>
> Tested on Linux/x86-64 with both -fminimize-op-by-pieces-run enabled
> and disabled by default.
>
> I will submit a separate patch to enable -fminimize-op-by-pieces-run for -Os.
>
> OK for trunk?
>
> gcc/
>
> PR middl-end/90773
> * common.opt (-fminimize-op-by-pieces-run): New.
> * expr.c (op_by_pieces_d): Add get_usable_mode.
> (op_by_pieces_d::get_usable_mode): New.
> (op_by_pieces_d::run): Use get_usable_mode to get the largest
> usable integer mode for -fminimize-op-by-pieces-run.
> * doc/invoke.texi: Document -fminimize-op-by-pieces-run.
>
> gcc/testsuite/
>
> PR middl-end/90773
> * gcc.target/i386/pr90773-1.c: New test.
> * gcc.target/i386/pr90773-2.c: Likewise.
> * gcc.target/i386/pr90773-3.c: Likewise.
> * gcc.target/i386/pr90773-4.c: Likewise.
> * gcc.target/i386/pr90773-5.c: Likewise.
>
> Thanks.
>
PING:
https://gcc.gnu.org/ml/gcc-patches/2019-06/msg00641.html
--
H.J.
More information about the Gcc-patches
mailing list