/* gcc -S -c vector-struct-align-gcc.c */
#include "stdlib.h"

typedef float v4sf __attribute__ ((vector_size (16)));

struct flat {
  v4sf a;
  float b;
  float c;
};

struct inner {
  v4sf a;
  float b;
};

struct nested {
  struct inner ab;
  float c;
};

float *flat_offset (struct flat *ptr) {
  return &ptr->c;
};

float *nested_offset (struct nested *ptr) {
  return &ptr->c;
};

size_t inner_size () {
  return sizeof(struct inner);
};

size_t flat_size () {
  return sizeof(struct flat);
};

size_t nested_size () {
  return sizeof(struct nested);
};
