| /* { dg-options "-Os -march=rv32imc -mabi=ilp32" } */ |
| |
| /* shorten_memrefs should use a correct base address*/ |
| |
| void |
| store (char *p, int k) |
| { |
| *(int *)(p + 17) = k; |
| *(int *)(p + 21) = k; |
| *(int *)(p + 25) = k; |
| *(int *)(p + 29) = k; |
| } |
| |
| int |
| load (char *p) |
| { |
| int a = 0; |
| a += *(int *)(p + 17); |
| a += *(int *)(p + 21); |
| a += *(int *)(p + 25); |
| a += *(int *)(p + 29); |
| return a; |
| } |
| |
| /* { dg-final { scan-assembler "store:\n\taddi\ta\[0-7\],a\[0-7\],1" } } */ |
| /* { dg-final { scan-assembler "load:\n\taddi\ta\[0-7\],a\[0-7\],1" } } */ |
| |