1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1-details" } */
6 typedef struct rtx_def
*rtx
;
11 typedef union rtunion_def rtunion
;
21 sss (rtx insn
, int code1
, int code2
, int code3
)
24 struct rtx_def
* body
;
29 body
= insn
->u
.fld
[5].rt_rtx
;
32 if (D1544
== 55) goto L7
; else goto L1
;
36 if (code3
== 99) goto L2
; else goto L11
;
41 if (n_sets
> 0) goto L7
; else goto L11
;
44 if (code2
== 42) goto L8
; else goto L9
;
51 if (i
< n_sets
) goto L37
; else goto L32
;
56 if (n_sets
> 1) goto L12
; else goto L15
;
66 if (n_sets
> 0) goto L14
; else goto L16
;
71 if (n_sets
> i
) goto L38
; else goto L16
;
82 /* The first n_sets > 0 test can be simplfiied into n_sets == 1 since
83 n_sets can only have the values [0, 1] as it's the result of a
86 The second n_sets > 0 test can also be simplified into n_sets == 1
87 as the only way to reach the tests is when n_sets <= 1 and the only
88 value which satisfies both conditions is n_sets == 1. */
89 /* { dg-final { scan-tree-dump-times "Simplified relational" 2 "vrp1" } } */
90 /* { dg-final { cleanup-tree-dump "vrp1" } } */