https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110743
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Seems to be
__builtin_clear_padding (&layer_masks, 1B);
expansion which does
layer_masks = .DEFERRED_INIT (20, 1, &"layer_masks"[0]);
_1 = MEM <long int> [(struct layer_masks *)&layer_masks];
_2 = _1 & 545460846719;
MEM <long int> [(struct layer_masks *)&layer_masks] = _2;
_3 = MEM <long int> [(struct layer_masks *)&layer_masks + 8B];
_4 = _3 & 545460846719;
MEM <long int> [(struct layer_masks *)&layer_masks + 8B] = _4;
_5 = MEM <int> [(struct layer_masks *)&layer_masks + 16B];
_6 = _5 & 127;
MEM <int> [(struct layer_masks *)&layer_masks + 16B] = _6;
security_add_hooks (&layer_masks);
and thus reads from layer_masks. That's vectorized and from those
reads we warn. The above possibly has no-warning annotation?