/* PR tree-optimization/99591 */ /* { dg-do compile } */ /* { dg-options "-O2" } */ /* { dg-final { scan-assembler-not "\tmovs\[bw]l\t" } } */ int foo (signed char a, signed char b) { signed char r; return __builtin_add_overflow (a, b, &r); } int bar (short a, short b) { short r; return __builtin_add_overflow (a, b, &r); } int baz (signed char a, signed char b) { signed char r; return __builtin_add_overflow ((int) a, (int) b, &r); } int qux (short a, short b) { short r; return __builtin_add_overflow ((int) a, (int) b, &r); }