/* setup_incoming_promotions should detect x to be already sign-extended due to PROMOTE_MODE. Thus the truncation should be removed by combine. Based on gcc.c-torture/execute/pr34070-2.c. */ /* { dg-options "-mgp64" } */ /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ /* { dg-final { scan-assembler-not "\tsll\t\[^\n\]*,0" } } */ NOMIPS16 int f(unsigned int x, int n, int *p) { if (p) *p = 1; return ((int)x) / (1 << n); }