1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 /* { dg-require-effective-target arm_dsp } */ 4 5 struct bf 6 { 7 int a : 3; 8 unsigned int b : 15; 9 int c : 3; 10 }; 11 12 long long foo(long long a,struct bf b,struct bf c)13foo (long long a, struct bf b, struct bf c) 14 { 15 return a + b.b * c.c; 16 } 17 18 /* { dg-final { scan-assembler "smlalbb" } } */ 19