| /* { dg-do compile } */ |
| /* { dg-options "-O2" } */ |
| |
| int mul3(int v) |
| { |
| return v * 3; |
| } |
| |
| int mul5(int v) |
| { |
| return v * 5; |
| } |
| |
| int mul7(int v) |
| { |
| return v * 7; |
| } |
| |
| int mul9(int v) |
| { |
| return v * 9; |
| } |
| |
| int mul2sub(int a, int b) |
| { |
| return a * 2 - b; |
| } |
| |
| int mul4sub(int a, int b) |
| { |
| return a * 4 - b; |
| } |
| |
| short index2(short *p, int i) |
| { |
| return p[i]; |
| } |
| |
| int index4(int *p, int i) |
| { |
| return p[i]; |
| } |
| |
| long long index8(long long *p, int i) |
| { |
| return p[i]; |
| } |
| |
| /* { dg-final { scan-assembler-times "addx2" 2 } } */ |
| /* { dg-final { scan-assembler-times "addx4" 2 } } */ |
| /* { dg-final { scan-assembler-times "addx8" 2 } } */ |
| /* { dg-final { scan-assembler-times "subx2" 1 } } */ |
| /* { dg-final { scan-assembler-times "subx4" 1 } } */ |
| /* { dg-final { scan-assembler-times "subx8" 1 } } */ |