This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386] Remove use of vpmacsdql instruction from multiplication.


On Tue, Jun 10, 2014 at 12:30 PM, Gopalasubramanian, Ganesh
<Ganesh.Gopalasubramanian@amd.com> wrote:
> Hi,
>
> The below patch fixes the issue with 64-bit multiplication.
> The instruction "vpmacsdql" does signed 32-bit multiplication.
> For V2DImode, we require widened unsigned multiplication.
> So, replacing the "vpmacsdql" instruction with "vpmuludq" and "vpaddq".
>
> This patch had been already discussed in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52908
>
> With required change in the test xop-imul64-vector.c,  make check passes. Is it OK for upstream?
>
> Regards
> Ganesh
>
> diff --git a/gcc/ChangeLog b/gcc/ChangeLog
> index d0a1253..c158612 100644
> --- a/gcc/ChangeLog
> +++ b/gcc/ChangeLog
> @@ -1,3 +1,9 @@
> +2014-06-10  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
> +
> +       * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue instructions
> +"vpmuludq" and "vpaddq" instead of "vpmacsdql" for handling 32-bit
> +multiplication.
>

OK for mainline and release branches.

Thanks,
Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]