This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, i386] Remove use of vpmacsdql instruction from multiplication.
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "Gopalasubramanian, Ganesh" <Ganesh dot Gopalasubramanian at amd dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 10 Jun 2014 14:47:16 +0200
- Subject: Re: [PATCH, i386] Remove use of vpmacsdql instruction from multiplication.
- Authentication-results: sourceware.org; auth=none
- References: <EB4625145972F94C9680D8CADD651615773094A9 at SATLEXDAG02 dot amd dot com>
On Tue, Jun 10, 2014 at 12:30 PM, Gopalasubramanian, Ganesh
> 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?
> 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
OK for mainline and release branches.