/* { dg-do run } */
/* { dg-options "-O2 -fno-inline --save-temps" } */

extern void abort (void);

long long
neg64 (long long a)
{
  /* { dg-final { scan-assembler "neg\tx\[0-9\]+" } } */
  return 0 - a;
}

long long
neg64_in_dreg (long long a)
{
  /* { dg-final { scan-assembler "neg\td\[0-9\]+, d\[0-9\]+" } } */
  register long long x asm ("d8") = a;
  register long long y asm ("d9");
  asm volatile ("" : : "w" (x));
  y = 0 - x;
  asm volatile ("" : : "w" (y));
  return y;
}

int
neg32 (int a)
{
  /* { dg-final { scan-assembler "neg\tw\[0-9\]+" } } */
  return 0 - a;
}

int
neg32_in_sreg (int a)
{
  /* { dg-final { scan-assembler "neg\tv\[0-9\]+\.2s, v\[0-9\]+\.2s" } } */
  register int x asm ("s8") = a;
  register int y asm ("s9");
  asm volatile ("" : : "w" (x));
  y = 0 - x;
  asm volatile ("" : : "w" (y));
  return y;
}

int
main (void)
{
  long long a;
  int b;
  a = 61;
  b = 313;

  if (neg64 (a) != -61)
    abort ();

  if (neg64_in_dreg (a) != -61)
    abort ();

  if (neg32 (b) != -313)
    abort ();

  if (neg32_in_sreg (b) != -313)
    abort ();

  return 0;
}

