/* { dg-do compile } */ /* { dg-options "-O2" } */ long long r; void test_signed (int a, int b) { /* { dg-final { scan-assembler "smnegl\tx\[0-9\]*, w\[0-9\]*, w\[0-9\]*\n" } } */ r = (-((long long) a)) * ((long long) b); } void test_unsigned (unsigned int a, unsigned int b) { /* { dg-final { scan-assembler "umnegl\tx\[0-9\]*, w\[0-9\]*, w\[0-9\]*\n" } } */ r = (-((long long) a)) * ((long long) b); }