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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-10-04
     Ever confirmed|0                           |1

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
liblzma/lzma/lzma_encoder.c and/or liblzma/check/sha256.c are miscompiled.
The good one has

callq  0 <length_update_prices>
cmp    %r13,%r14
vmovdqa XXX(%rip),%ymm0
jne
...
vmovdqu %ymm0,XXX(%rbx)

The bad one has

callq  0 <length_update_prices>
cmp    %r13,%r14
jne
vmovdqu %ymm0,XXX(%rbx)

length_update_prices clobbers %ymm0, which isn't restored after call.

Reply via email to