1 /* PR tree-optimization/58791 */
3 /* { dg-options "-g" } */
7 __attribute__((noinline
, noclone
)) unsigned int
8 foo (unsigned int a0
, unsigned int a1
, unsigned int a2
,
9 unsigned int a3
, unsigned int a4
)
11 unsigned int b0
, b1
, b2
, b3
, b4
, e
;
12 /* this can be optimized to four additions... */
13 b4
= a4
+ a3
+ a2
+ a1
+ a0
; /* { dg-final { gdb-test pr58791-5.c:20 "b4" "4681" } } */
14 b3
= a3
+ a2
+ a1
+ a0
; /* { dg-final { gdb-test pr58791-5.c:20 "b3" "585" } } */
15 b2
= a2
+ a1
+ a0
; /* { dg-final { gdb-test pr58791-5.c:20 "b2" "73" } } */
16 b1
= a1
+ a0
; /* { dg-final { gdb-test pr58791-5.c:20 "b1" "9" } } */
17 /* This is actually 0 */
18 e
= b4
- b3
+ b2
- b1
- a4
- a2
; /* { dg-final { gdb-test pr58791-5.c:20 "e" "0" } } */
19 asm volatile (NOP
: : : "memory");
20 asm volatile (NOP
: : : "memory");
27 foo (1, 8, 64, 512, 4096);