/* { 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" } } */ |