2 /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */
4 extern void abort (void);
6 float out
[4][4] = { 6, 6, 7, 5, 6, 7, 5, 5, 6, 4, 4, 4, 6, 2, 3, 4 };
11 int i
, j
, k
= 0, swap
;
12 float tmp
[4][4] = { 5, 6, 7, 5, 6, 7, 5, 5, 4, 4, 4, 4, 3, 2, 3, 4 };
14 for (i
= 0; i
< 4; i
++)
16 for (j
= i
+ 1; j
< 4; j
++)
17 if (tmp
[j
][i
] > tmp
[i
][i
])
21 tmp
[i
][k
] = tmp
[swap
][k
];
24 for (i
= 0; i
< 4; i
++)
25 for (j
= 0; j
< 4; j
++)
26 if (tmp
[i
][j
] != out
[i
][j
])
37 /* { dg-final { cleanup-rtl-dump "sms" } } */