1 /* { dg-do assemble } */
2 /* { dg-skip-if "" { ! { clmcpu } } } */
3 /* { dg-options "-mcpu=hs38 -Os -EB" } */
4
5 /* This example is found during big-endian build. The compiler is
6 matching mpydu.hi r12,r13,r3 as a predicated instruction, which is
7 incorrect. The error is due to different predicates between the
8 output operand and the first operand of the instruction. */
9 unsigned int test(unsigned int x, unsigned long long y)
10 {
11 y /= 0x20000000;
12 if (x > 1)
13 y *= x;
14 return y;
15 }