This is the mail archive of the gcc-bugs@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]

[Bug target/53712] Does not combine unaligned load with _mm_cmpistri, redundant instruction at -O0


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53712

Marco Leise <Marco.Leise at gmx dot de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Marco.Leise at gmx dot de

--- Comment #9 from Marco Leise <Marco.Leise at gmx dot de> ---
If this was fixed three years ago, then how does the same test program produce
this assembly with gcc 5.2.0 (and earlier)?

Dump of assembler code for function test:
   0x0000000000400596 <+0>:     push   rbp
   0x0000000000400597 <+1>:     mov    rbp,rsp
   0x000000000040059a <+4>:     mov    QWORD PTR [rbp-0x28],rdi
   0x000000000040059e <+8>:     mov    QWORD PTR [rbp-0x30],rsi
   0x00000000004005a2 <+12>:    mov    rax,QWORD PTR [rbp-0x30]
   0x00000000004005a6 <+16>:    mov    QWORD PTR [rbp-0x18],rax
   0x00000000004005aa <+20>:    mov    rax,QWORD PTR [rbp-0x18]
   0x00000000004005ae <+24>:    movdqu xmm0,XMMWORD PTR [rax]
   0x00000000004005b2 <+28>:    movaps XMMWORD PTR [rbp-0x10],xmm0
   0x00000000004005b6 <+32>:    mov    rax,QWORD PTR [rbp-0x28]
=> 0x00000000004005ba <+36>:    movdqa xmm0,XMMWORD PTR [rax]
   0x00000000004005be <+40>:    movdqa xmm1,xmm0
   0x00000000004005c2 <+44>:    movdqa xmm0,XMMWORD PTR [rbp-0x10]
   0x00000000004005c7 <+49>:    pcmpistri xmm0,xmm1,0x0
   0x00000000004005cd <+55>:    mov    eax,ecx
   0x00000000004005cf <+57>:    pcmpistrm xmm0,xmm1,0x0
   0x00000000004005d5 <+63>:    pop    rbp
   0x00000000004005d6 <+64>:    ret    

gcc -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/5.2.0/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-5.2.0/work/gcc-5.2.0/configure
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/5.2.0
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.2.0
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.2.0/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.2.0/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/include/g++-v5
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/5.2.0/python
--enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror
--with-system-zlib --enable-nls --without-included-gettext
--enable-checking=release --with-bugurl=https://bugs.gentoo.org/
--with-pkgversion='Gentoo 5.2.0 p1.1, pie-0.6.4' --enable-libstdcxx-time
--enable-shared --enable-threads=posix --enable-__cxa_atexit
--enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64
--disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj
--enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts
--disable-libquadmath --enable-lto --without-isl --enable-libsanitizer
Thread model: posix
gcc version 5.2.0 (Gentoo 5.2.0 p1.1, pie-0.6.4)


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