diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-01-19 02:24:06 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-01-19 02:24:06 +0100 |
commit | ddce00dba244d889d688490517fb106169a72f01 (patch) | |
tree | 4fce2d3cf3d19fcd7510a24d62d4d4154590f9e6 /contrib/git-fix-changelog.py | |
parent | 6325041c2b68af096195e0eef92091b2e293e950 (diff) | |
download | gcc-ddce00dba244d889d688490517fb106169a72f01.zip gcc-ddce00dba244d889d688490517fb106169a72f01.tar.gz gcc-ddce00dba244d889d688490517fb106169a72f01.tar.bz2 |
i386: Fix GLC tuning with -masm=intel [PR104104]
> > On Sat, Jan 15, 2022 at 5:39 PM Hongyu Wang <wwwhhhyyy333@gmail.com> wrote:
> > > Thanks for the suggestion, here is the updated patch that survived
> > > bootstrap/regtest.
Unfortunately the patch results in assembler failures with -masm=intel.
> > > > + if (TARGET_DEST_FALSE_DEPENDENCY
> > > > + && get_attr_dest_false_dep (insn) ==
> > > > + DEST_FALSE_DEP_TRUE)
> > > > + output_asm_insn ("vxorps\t{%x0, %x0, %x0}", operands);
All the vxorps insns were emitted like the above, which means for -masm=sysv
it looks like
vxorps %xmm3, %xmm3, %xmm3
but for -masm=intel like:
vxorps
We want obviously
vxorps xmm3, xmm3, xmm3
so the following patch just drops the errorneous {}s.
2022-01-19 Jakub Jelinek <jakub@redhat.com>
PR target/104104
* config/i386/sse.md
(<avx512>_<complexopname>_<mode><maskc_name><round_name>,
avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
avx512dq_rangep<mode><mask_name><round_saeonly_name>,
avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
<avx512>_getmant<mode><mask_name><round_saeonly_name>,
avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
* gcc.target/i386/pr104104.c: New test.
Diffstat (limited to 'contrib/git-fix-changelog.py')
0 files changed, 0 insertions, 0 deletions