Checked in as revision 227026. Thanks, Simon
-----Original Message----- From: Moore, Catherine [mailto:catherine_mo...@mentor.com] Sent: 01 August 2015 20:18 To: Simon Dardis; gcc-patches@gcc.gnu.org Cc: Moore, Catherine Subject: RE: [PATCH, MIPS, Ping] Inline memcpy for MipsR6 > -----Original Message----- > From: Simon Dardis [mailto:simon.dar...@imgtec.com] > Sent: Wednesday, July 29, 2015 4:29 AM > To: gcc-patches@gcc.gnu.org > Cc: Moore, Catherine > Subject: [PATCH, MIPS, Ping] Inline memcpy for MipsR6 > > > This patch enables inline memcpy for R6 which was previously > > disabled and > adds support for expansion when source and destination are at least > half- word aligned. > > https://gcc.gnu.org/ml/gcc-patches/2015-07/msg00749.html > Hi Simon, Two things need to be fixed up with this patch before committing. 1. The new test inline-memcpy-2.c should not be run with -OS (like the other new tests that you submitted). 2. Your patch is against older source than what is currently in the repository, causing this hunk not to apply cleanly: @@ -8311,8 +8321,8 @@ bool mips_expand_block_move (rtx dest, rtx src, rtx length) { if (!ISA_HAS_LWL_LWR - && (MEM_ALIGN (src) < BITS_PER_WORD - || MEM_ALIGN (dest) < BITS_PER_WORD)) + && (MEM_ALIGN (src) < MIPS_MIN_MOVE_MEM_ALIGN + || MEM_ALIGN (dest) < MIPS_MIN_MOVE_MEM_ALIGN)) return false; if (CONST_INT_P (length)) The correct patch should like this: @@ -7780,8 +7790,9 @@ bool mips_expand_block_move (rtx dest, rtx src, rtx length) { - /* Disable entirely for R6 initially. */ - if (!ISA_HAS_LWL_LWR) + if (!ISA_HAS_LWL_LWR + && (MEM_ALIGN (src) < MIPS_MIN_MOVE_MEM_ALIGN + || MEM_ALIGN (dest) < MIPS_MIN_MOVE_MEM_ALIGN)) return false; if (CONST_INT_P (length)) Okay with those changes. Thanks, Catherine