1  /* { dg-do compile } */
       2  /* { dg-options "-Os" } */
       3  
       4  /* { dg-final { scan-assembler-times "swap" 4 } } */
       5  /* { dg-final { scan-assembler-times "tst.w" 4 } } */
       6  /* { dg-final { scan-assembler-not "cmp.l" } } */
       7  
       8  
       9  unsigned int bar (void);
      10  void
      11  foo1 (void)
      12  {
      13    unsigned int a = bar ();
      14    if (0x10000 <= a)
      15      bar ();
      16  }
      17  
      18  
      19  void
      20  foo2 (void)
      21  {
      22    unsigned int a = bar ();
      23    if (0x10000 > a)
      24      bar ();
      25  }
      26  
      27  
      28  void
      29  foo3 (void)
      30  {
      31    int a = bar ();
      32    if (0x10000 <= a)
      33      bar ();
      34  }
      35  
      36  
      37  void
      38  foo4 (void)
      39  {
      40    int a = bar ();
      41    if (0x10000 > a)
      42      bar ();
      43  }
      44  
      45  
      46  
      47  
      48