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?

Reply via email to