]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/56064 (Optimize VIEW_CONVERT_EXPR with FIXED_CST)
authorGeorg-Johann Lay <avr@gjlay.de>
Wed, 30 Jan 2013 11:04:30 +0000 (11:04 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Wed, 30 Jan 2013 11:04:30 +0000 (11:04 +0000)
commitcc06c01d0a29c6e1466feba98d8ae3bf20193822
tree7cbebdbd492e700058cfc647470eb384b37f121e
parentd394a308e34df7dfe56e1b3995a2622e1ed19068
re PR tree-optimization/56064 (Optimize VIEW_CONVERT_EXPR with FIXED_CST)

gcc/
PR tree-optimization/56064
* fixed-value.c (fixed_from_double_int): New function.
* fixed-value.h (fixed_from_double_int): New prototype.
(const_fixed_from_double_int): New static inline function.
* fold-const.c (native_interpret_fixed): New static function.
(native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
(can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
(native_encode_fixed): New static function.
(native_encode_expr) <FIXED_CST>: Use it.
(native_interpret_int): Move double_int worker code to...
* double-int.c (double_int::from_buffer): ...this new static method.
* double-int.h (double_int::from_buffer): Prototype it.

gcc/testsuite/
PR tree-optimization/56064
* gcc.dg/fixed-point/view-convert.c: New test.

From-SVN: r195574
gcc/ChangeLog
gcc/double-int.c
gcc/double-int.h
gcc/fixed-value.c
gcc/fixed-value.h
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/fixed-point/view-convert.c [new file with mode: 0644]