/* { dg-do compile } */ /* { dg-skip-if "" { ! { clmcpu } } } */ /* { dg-options "-mcpu=hs38 -Os" } */ /* The compiler will assign r1r2 as a DI register, but it doesn't fit the macd operation, hence we need to fall back on the mac instruction. */ typedef long long myint64_t; extern int d (int, myint64_t); int b (int c) { int x = (int) d; d (c, (myint64_t)x * 2 + 1); } /* { dg-final { scan-assembler "mac\\\s+r1" } } */