1  /* { dg-do compile } */
       2  /* { dg-require-effective-target lp64 } */
       3  /* { dg-options "-O1 -mvis3" } */
       4  
       5  long neq (long a, long b)
       6  {
       7    return a != b;
       8  }
       9  
      10  long lt (unsigned long a, unsigned long b)
      11  {
      12    return a < b;
      13  }
      14  
      15  long gt (unsigned long a, unsigned long b)
      16  {
      17    return a > b;
      18  }
      19  
      20  /* { dg-final { scan-assembler-times "xor\t%" 1 } } */
      21  /* { dg-final { scan-assembler-times "cmp\t%" 3 } } */
      22  /* { dg-final { scan-assembler-times "addxc\t%" 3 } } */
      23  /* { dg-final { scan-assembler-not "sra\t%" } } */
      24  /* { dg-final { scan-assembler-not "and\t%" } } */