| /* { dg-do compile } */ |
| /* { dg-options "-O2 -march=r2 -mcdx" } */ |
| |
| /* Check generation of R2 CDX mov.n and movi.n instructions. */ |
| |
| extern void f (int a, int b, int c, int d); |
| |
| int g (int x, int y, int z) |
| { |
| f (100, x, y, z); |
| return -1; |
| } |
| |
| /* We should always get mov.n and never mov when compiling with -mcdx. */ |
| /* { dg-final { scan-assembler "\tmov\\.n\t.*" } } */ |
| /* { dg-final { scan-assembler-not "\tmov\t.*" } } */ |
| |
| /* Both of the constant loads are expressible with movi.n. */ |
| /* { dg-final { scan-assembler "\tmovi\\.n\t.*, 100" } } */ |
| /* { dg-final { scan-assembler "\tmovi\\.n\t.*, -1" } } */ |