| /* { dg-do compile } */ | |
| /* { dg-options "-O2" } */ | |
| unsigned long long | |
| combine_non_consecutive (unsigned long long a, unsigned long long b) | |
| { | |
| return (a & 0xfffffff200f00000ll) | (b & 0x00001000ffffffffll); | |
| } | |
| void | |
| foo4 (unsigned long long a, unsigned long long b, unsigned long long *c, | |
| unsigned long long *d) { | |
| /* { dg-final { scan-assembler-not "bfxil\\t" } } */ | |
| *c = combine_non_consecutive (a, b); | |
| *d = combine_non_consecutive (b, a); | |
| } |