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