diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/expr.c | 2 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr27907.c | 23 |
4 files changed, 36 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ec948f..f4d3620 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-07-26 Zdenek Dvorak <dvorakz@suse.cz> + + PR rtl-optimization/27907 + * expr.c (force_operand): Use convert_move to handle FLOAT_EXTEND and + FLOAT_TRUNCATE. + 2006-07-25 Roger Sayle <roger@eyesopen.com> PR middle-end/28473 @@ -6024,6 +6024,8 @@ force_operand (rtx value, rtx target) case ZERO_EXTEND: case SIGN_EXTEND: case TRUNCATE: + case FLOAT_EXTEND: + case FLOAT_TRUNCATE: convert_move (target, op1, code == ZERO_EXTEND); return target; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5f5bdcc..6f504ce 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-07-26 Zdenek Dvorak <dvorakz@suse.cz> + + PR rtl-optimization/27907 + * gcc.c-torture/compile/pr27907.c: New test. + 2006-07-26 Francois-Xavier Coudert <coudert@clipper.ens.fr> * gfortran.dg/mclock.f90: New test. diff --git a/gcc/testsuite/gcc.c-torture/compile/pr27907.c b/gcc/testsuite/gcc.c-torture/compile/pr27907.c new file mode 100644 index 0000000..575ac6a --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr27907.c @@ -0,0 +1,23 @@ +typedef double fann_type; +typedef struct { } _G_fpos64_t; +struct fann_neuron +{ + fann_type value; +} +__attribute__ ((packed)); +struct fann_layer +{ + struct fann_neuron *last_neuron; +}; +struct fann +{ + struct fann_layer *first_layer; +}; +fann_run (struct fann *ann, fann_type * input) +{ + struct fann_layer *layer_it, *layer_it2, *last_layer; + for (layer_it = ann->first_layer + 1; layer_it != last_layer; layer_it++) + { + ((layer_it - 1)->last_neuron - 1)->value = 1; + } +} |
