blob: 8db43e82384eb78769df03ff73936cad83b577c7 [file] [log] [blame]
/* Test cse'ing of unsigned compares. */
/* { dg-do compile } */
/* { dg-options "-O2 -fno-jump-tables" } */
/* The following tests fail due to an issue in expand not
attaching an type expression information on *index's reg rtx. */
/* { dg-final { scan-assembler-not "cmpwi" } } */
/* { dg-final { scan-assembler-times "cmplwi" 5 } } */
extern int case0 (void);
extern int case1 (void);
extern int case2 (void);
extern int case3 (void);
extern int case4 (void);
enum CASE_VALUES
{
CASE0 = 1,
CASE1,
CASE2,
CASE3,
CASE4
};
int
foo (enum CASE_VALUES *index)
{
switch (*index)
{
case CASE0:
return case0 ();
case CASE1:
return case1 ();
case CASE2:
return case2 ();
case CASE3:
return case3 ();
case CASE4:
return case4 ();
}
return 0;
}