1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-cddce1" } */
3 
4 struct rtx_def;
5 typedef struct rtx_def *rtx;
6 typedef const struct rtx_def *const_rtx;
7 enum machine_mode
8 {
9   MAX_MACHINE_MODE,
10   NUM_MACHINE_MODES = MAX_MACHINE_MODE
11 };
12 extern const char *const mode_name[NUM_MACHINE_MODES];
13 enum mode_class
14 { MODE_RANDOM, MODE_CC, MODE_INT, MODE_PARTIAL_INT, MODE_FRACT, MODE_UFRACT,
15     MODE_ACCUM, MODE_UACCUM, MODE_FLOAT, MODE_DECIMAL_FLOAT, MODE_COMPLEX_INT,
16     MODE_COMPLEX_FLOAT, MODE_VECTOR_INT, MODE_VECTOR_FRACT,
17     MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM,
18     MODE_VECTOR_FLOAT, MAX_MODE_CLASS };
19 extern const unsigned char mode_class[NUM_MACHINE_MODES];
20 extern const unsigned short mode_precision[NUM_MACHINE_MODES];
21 struct rtx_def
22 {
23   __extension__ enum machine_mode mode:8;
24 };
25 void fancy_abort (const char *, int, const char *);
26 void
convert_move(rtx to,rtx from,int unsignedp)27 convert_move (rtx to, rtx from, int unsignedp)
28 {
29   enum machine_mode to_mode = ((enum machine_mode) (to)->mode);
30   enum machine_mode from_mode = ((enum machine_mode) (from)->mode);
31   ((void)
32    (!((mode_precision[from_mode] != mode_precision[to_mode])
33       || ((((enum mode_class) mode_class[from_mode]) == MODE_DECIMAL_FLOAT) !=
34 	  (((enum mode_class) mode_class[to_mode]) ==
35 	   MODE_DECIMAL_FLOAT))) ?
36     fancy_abort ("/home/gcc/virgin-gcc/gcc/expr.c", 380, __FUNCTION__),
37     0 : 0));
38 }
39 
40 /* { dg-final { scan-tree-dump-not " ^ " "cddce1"} } */
41