1 /* Testcase derived from 20111227-1.c to ensure that REE is combining
2 redundant zero extends with zero extend to wider mode. */
3 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
4 /* { dg-options "-fdump-rtl-ree -O -free" } */
6 extern void abort (void);
13 void __attribute__((noinline
,noclone
))
16 if (t
== 2 && s
!= 0xff)
18 if (t
== 1 && i
!= 0xff)
20 if (t
== 0 && l
!= 0xff)
24 void __attribute__((noinline
,noclone
))
25 foo (unsigned char *a
, int t
)
30 s
= (unsigned short) r
;
34 l
= (unsigned long) r
;
45 /* { dg-final { scan-rtl-dump "Elimination opportunities = 3 realized = 3" "ree" } } */
46 /* { dg-final { cleanup-rtl-dump "ree" } } */