/* { 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)); }