* Re: [PATCH] Fix up predicates for commutative vector comparison (PR target/82855)
@ 2017-11-08 8:53 Uros Bizjak
0 siblings, 0 replies; 2+ messages in thread
From: Uros Bizjak @ 2017-11-08 8:53 UTC (permalink / raw)
To: gcc-patches; +Cc: Jakub Jelinek, Kirill Yukhin
> The issues fixed by the previous patch together with this one result
> in the testcase from the PR with -mtune=intel (for some reason with
> generic tuning we decide to perform the 256-bit load as 2 128-bit loads and
> don't merge that into 256-bit comparison operand, shall we change that?)
> to use memory operand directly in vcmpeq* instead of loading it into a
> register first.
>
> Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
>
> 2017-11-06 Jakub Jelinek <jakub@redhat.com>
>
> PR target/82855
> * config/i386/sse.md (<avx512>_eq<mode>3<mask_scalar_merge_name>_1):
> Use nonimmediate_operand predicate for operand 1 instead of
> register_operand.
Please also change operand1 of corresponding expanders to nonimmediate_operand.
OK with the above change.
Thanks,
Uros.
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH] Fix up predicates for commutative vector comparison (PR target/82855)
@ 2017-11-06 21:23 Jakub Jelinek
0 siblings, 0 replies; 2+ messages in thread
From: Jakub Jelinek @ 2017-11-06 21:23 UTC (permalink / raw)
To: Kirill Yukhin; +Cc: gcc-patches
Hi!
The issues fixed by the previous patch together with this one result
in the testcase from the PR with -mtune=intel (for some reason with
generic tuning we decide to perform the 256-bit load as 2 128-bit loads and
don't merge that into 256-bit comparison operand, shall we change that?)
to use memory operand directly in vcmpeq* instead of loading it into a
register first.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
2017-11-06 Jakub Jelinek <jakub@redhat.com>
PR target/82855
* config/i386/sse.md (<avx512>_eq<mode>3<mask_scalar_merge_name>_1):
Use nonimmediate_operand predicate for operand 1 instead of
register_operand.
--- gcc/config/i386/sse.md.jj 2017-11-06 11:47:55.103076500 +0100
+++ gcc/config/i386/sse.md 2017-11-06 11:50:16.832266795 +0100
@@ -11168,7 +11168,7 @@ (define_expand "<avx512>_eq<mode>3<mask_
(define_insn "<avx512>_eq<mode>3<mask_scalar_merge_name>_1"
[(set (match_operand:<avx512fmaskmode> 0 "register_operand" "=Yk")
(unspec:<avx512fmaskmode>
- [(match_operand:VI12_AVX512VL 1 "register_operand" "%v")
+ [(match_operand:VI12_AVX512VL 1 "nonimmediate_operand" "%v")
(match_operand:VI12_AVX512VL 2 "nonimmediate_operand" "vm")]
UNSPEC_MASKED_EQ))]
"TARGET_AVX512F
@@ -11182,7 +11182,7 @@ (define_insn "<avx512>_eq<mode>3<mask_sc
(define_insn "<avx512>_eq<mode>3<mask_scalar_merge_name>_1"
[(set (match_operand:<avx512fmaskmode> 0 "register_operand" "=Yk")
(unspec:<avx512fmaskmode>
- [(match_operand:VI48_AVX512VL 1 "register_operand" "%v")
+ [(match_operand:VI48_AVX512VL 1 "nonimmediate_operand" "%v")
(match_operand:VI48_AVX512VL 2 "nonimmediate_operand" "vm")]
UNSPEC_MASKED_EQ))]
"TARGET_AVX512F
Jakub
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-11-08 8:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-08 8:53 [PATCH] Fix up predicates for commutative vector comparison (PR target/82855) Uros Bizjak
-- strict thread matches above, loose matches on Subject: below --
2017-11-06 21:23 Jakub Jelinek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).