1  /* { dg-do compile} */
       2  /* { dg-options "-msse4.1 -O2" } */
       3  /* { dg-final { scan-assembler-not "pinsr" } } */
       4  
       5  typedef struct
       6  {
       7    long long a;
       8    int b;
       9  } st1;
      10  
      11  typedef struct
      12  {
      13    long long a;
      14    int b;
      15    short c;
      16  } st2;
      17  
      18  typedef struct
      19  {
      20    long long a;
      21    int b;
      22    short c;
      23    char d;
      24  } st3;
      25  
      26  typedef struct
      27  {
      28    int b;
      29    long long a;
      30  } st4;
      31  
      32  typedef struct
      33  {
      34    short c;
      35    int b;
      36    long long a;
      37  } st5;
      38  
      39  typedef struct
      40  {
      41    char d;
      42    short c;
      43    int b;
      44    long long a;
      45  } st6;
      46  
      47  st1
      48  foo1 (long long a, int b)
      49  {
      50    return (st1){a, b};
      51  }
      52  
      53  st2
      54  foo2 (long long a, int b, short c)
      55  {
      56    return (st2){a, b, c};
      57  }
      58  
      59  st3
      60  foo3 (long long a, int b, short c, char d)
      61  {
      62    return (st3){a, b, c, d};
      63  }
      64  
      65  st4
      66  foo4 (long long a, int b)
      67  {
      68    return (st4){b, a};
      69  }
      70  
      71  st5
      72  foo5 (long long a, int b, short c)
      73  {
      74    return (st5){c, b, a};
      75  }
      76  
      77  st6
      78  foo6 (long long a, int b, short c, char d)
      79  {
      80    return (st6){d, c, b, a};
      81  }