1  /* { dg-do compile } */
       2  /* { dg-skip-if "" { *-*-* } { "-mcpu=msp430" } { "" } } */
       3  /* { dg-options "-mcpu=msp430x -mmax-inline-shift=10" } */
       4  /* { dg-final { scan-assembler-not "__mspabi_slli" } } */
       5  /* { dg-final { scan-assembler "__mspabi_sral_6" } } */
       6  
       7  volatile int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15;
       8  volatile long l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15;
       9  
      10  void
      11  ashift (void)
      12  {
      13    a1 <<= 1;
      14    a2 <<= 2;
      15    a3 <<= 3;
      16    a4 <<= 4;
      17    a5 <<= 5;
      18    a6 <<= 6;
      19    a7 <<= 7;
      20    a8 <<= 8;
      21    a9 <<= 9;
      22    a10 <<= 10;
      23    a11 <<= 11;
      24    a12 <<= 12;
      25    a13 <<= 13;
      26    a14 <<= 14;
      27    a15 <<= 15;
      28  }
      29  
      30  void
      31  ashiftrt (void)
      32  {
      33    l1  >>= 1;
      34    l2  >>= 2;
      35    l3  >>= 3;
      36    l4  >>= 4;
      37    l5  >>= 5;
      38    l6  >>= 6;
      39    l7  >>= 7;
      40    l8  >>= 8;
      41    l9  >>= 9;
      42    l10 >>= 10;
      43    l11 >>= 11;
      44    l12 >>= 12;
      45    l13 >>= 13;
      46    l14 >>= 14;
      47    l15 >>= 15;
      48  }