18 lines
436 B
C
18 lines
436 B
C
/* { 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" } } */
|