1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 long long r;
5
test_signed(int a,int b)6 void test_signed (int a, int b)
7 {
8 /* { dg-final { scan-assembler "smnegl\tx\[0-9\]*, w\[0-9\]*, w\[0-9\]*\n" } } */
9 r = (-((long long) a)) * ((long long) b);
10 }
11
test_unsigned(unsigned int a,unsigned int b)12 void test_unsigned (unsigned int a, unsigned int b)
13 {
14 /* { dg-final { scan-assembler "umnegl\tx\[0-9\]*, w\[0-9\]*, w\[0-9\]*\n" } } */
15 r = (-((long long) a)) * ((long long) b);
16 }
17