/* For MIPS64r2 use DEXT rather than DSLL/DSRL to zero-extend. */ | |
/* { dg-do compile } */ | |
/* { dg-options "isa_rev>=2 -mgp64" } */ | |
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ | |
/* { dg-final { scan-assembler "\tdext\t" } } */ | |
/* { dg-final { scan-assembler-not "\td?sll" } } */ | |
NOMIPS16 unsigned long long | |
f (unsigned *i) | |
{ | |
unsigned j = *i; | |
j >>= 1; /* enforce this is all done in SI mode */ | |
j++; /* don't merge the shift and the extension */ | |
return j; | |
} |