1  /* PR target/90405 */
       2  /* { dg-do compile } */
       3  /* { dg-require-effective-target arm_thumb1_ok } */
       4  /* { dg-options "-Ofast -mthumb -mtpcs-leaf-frame" } */
       5  
       6  
       7  #define vector __attribute((vector_size(16)))
       8  vector float a;
       9  
      10  float
      11  foo (float b)
      12  {
      13    vector float c = { 0, 0, 0, 0 };
      14    vector float d = { 0, 0, 0, 0 };
      15    d += c;
      16    return ((float *)&c)[2];
      17  }
      18  
      19  float
      20  bar (vector float a, int b, vector float c)
      21  {
      22    vector float e = c * a;
      23    a = (vector float) { 0, 0, 0, 0 };
      24    c = (vector float) { 0, 0, 0, 0 };
      25    float d = ((float *)&a)[0];
      26    float f = ((float *)&c)[0];
      27    return d * f;
      28  }