[Bug tree-optimization/100363] gcc generating wider load/store than warranted at -O3

ndesaulniers at google dot com gcc-bugzilla@gcc.gnu.org
Wed May 5 19:59:30 GMT 2021


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

Nick Desaulniers <ndesaulniers at google dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ndesaulniers at google dot com

--- Comment #20 from Nick Desaulniers <ndesaulniers at google dot com> ---
(In reply to Alexander Monakov from comment #7)
>  Most likely the issue is that sout/sfrom are misaligned at runtime, while the > vectorized code somewhere relies on them being sufficiently aligned for a 'short'.
> It is unsafe to dereference a misaligned pointer. The pointed-to-type must
> have reduced alignment:

C 6.3.2.3p7 (N1548) says:

A pointer to an object type may be converted to a pointer to a
different object type. If the resulting pointer is not correctly
aligned) for the referenced type, the behavior is undefined.


===

We're working on adding diagnostics and UBSAN checks for these.  Perhaps with
those in place, we'd be able to spot such a case in the kernel's initramfs
decompression code.


More information about the Gcc-bugs mailing list