1 /* Test a situation in which an M6 instruction (mdcutssi) and M4 instruction
2 (mqmulhu) can be issued together. */
3 /* { dg-options "-O2 -mcpu=fr450" } */
4 /* { dg-do compile } */
5 /* { dg-final { scan-assembler "mqmulhu.p\[^\t\]*\t*mdcutssi" } } */
6 extern void abort (void);
7 extern void exit (int);
8
9 int
main()10 main ()
11 {
12 __MQMULHU (0, 0x0001001101111111ULL, 0x0001000200030004ULL);
13 __MQMULHU (8, 0x0002002202222222ULL, 0x0004000400040004ULL);
14 if (__MDCUTSSI (0, 8)
15 + __MDCUTSSI (2, 8)
16 + __MDCUTSSI (8, 8)
17 + __MDCUTSSI (10, 8)
18 != (0x0000000100000022ULL + 0x0000033300004444ULL
19 + 0x0000000800000088ULL + 0x0000088800008888ULL))
20 abort ();
21
22 exit (0);
23 }
24