/* { dg-do compile } */ /* { dg-options "-O2 -mextra-l32r-costs=3" } */ int test_0(void) { return 134217216; } int test_1(void) { return -27604992; } int test_2(void) { return -162279; } void test_3(int *p) { *p = 192437; } struct foo { unsigned int b : 10; unsigned int g : 11; unsigned int r : 11; }; void test_4(struct foo *p, unsigned int v) { p->g = v; } /* { dg-final { scan-assembler-not "l32r" } } */