1  /* Ensure negated/inverted replicated constant immediates work.  */
       2  /* { dg-options "-mthumb -O2" } */
       3  /* { dg-require-effective-target arm_thumb2_ok } */
       4  
       5  int
       6  foo1 (int a)
       7  {
       8    return a | 0xffffff00;
       9  }
      10  
      11  /* { dg-final { scan-assembler "orn.*#255" } } */
      12  
      13  int
      14  foo2 (int a)
      15  {
      16    return a & 0xffeeffee;
      17  }
      18  
      19  /* { dg-final { scan-assembler "bic.*#1114129" } } */
      20  
      21  int
      22  foo3 (int a)
      23  {
      24    return a & 0xaaaaaa00;
      25  }
      26  
      27  /* { dg-final { scan-assembler "and.*#-1431655766" } } */
      28  /* { dg-final { scan-assembler "bic.*#170" } } */