111
|
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
|
|
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"} } */
|