diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-07-23 08:07:49 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@gcc.gnu.org> | 2019-07-23 08:07:49 +0000 |
commit | 58b8c5a87b0bac61bb88e802fc742fdc0d3e6699 (patch) | |
tree | 8e693b05ac236d1496ab64062007d2e5fceff355 /gcc/ada/sem_spark.adb | |
parent | b1bc0f50350a568e67ed731c4fec2c72847f15fe (diff) | |
download | gcc-58b8c5a87b0bac61bb88e802fc742fdc0d3e6699.zip gcc-58b8c5a87b0bac61bb88e802fc742fdc0d3e6699.tar.gz gcc-58b8c5a87b0bac61bb88e802fc742fdc0d3e6699.tar.bz2 |
x86/AVX512: improve generated code for mask-to-vector-register conversions
Conversion of comparison results to full vectors does, when VPMOVM2* are
unavailable, not require any intermediate VMOVDQ{A,U}*: Simply use
embedded masking on VPTERNLOG* right away, which is available with
AVX512F (while VPMOVM2{D,Q} are available only with AVX512DQ).
Note that the chosen immediate is only one of many possible ones; I was
trying to make the insn here distinguishable from the pre-existing uses
of vpternlog.
gcc/
2019-07-23 Jan Beulich <jbeulich@suse.com>
* config/i386/sse.md (<avx512>_cvtmask2<ssemodesuffix><mode>):
Require only AVX512F.
(*<avx512>_cvtmask2<ssemodesuffix><mode>): Likewise. Add
alternative expanding to vpternlog.
From-SVN: r273719
Diffstat (limited to 'gcc/ada/sem_spark.adb')
0 files changed, 0 insertions, 0 deletions