| /* { dg-do compile } */ | |
| /* { dg-options "-O2" } */ | |
| /* { dg-require-effective-target arm_dsp } */ | |
| struct bf | |
| { | |
| int a : 3; | |
| int b : 15; | |
| int c : 3; | |
| }; | |
| long long | |
| foo (long long a, struct bf b, struct bf c) | |
| { | |
| return a + b.b * c.b; | |
| } | |
| /* { dg-final { scan-assembler "smlalbb" } } */ |