[PATCH] Constant fold VIEW_CONVERT_EXPR (take 2)

Richard Henderson rth@redhat.com
Thu Apr 13 20:45:00 GMT 2006


On Thu, Apr 13, 2006 at 11:46:27AM -0600, Roger Sayle wrote:
> 	* fold-const.c (native_encode_expr): New function to encode
> 	the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
> 	or VECTOR_CST into a specified buffer.
> 	(native_encode_int): New function.
> 	(native_encode_real): New function.
> 	(native_encode_complex): New function.
> 	(native_encode_vector): New function.
> 	(native_interpret_expr): Inverse of native_encode_expr to convert
> 	a target representation into an INTEGER_CST, REAL_CST etc...
> 	(native_interpret_int): New function.
> 	(native_interpret_real): New function.
> 	(native_interpret_complex): New function.
> 	(native_interpret_vector): New function.
> 	(fold_view_convert_expr): New function to constant fold/evaluate
> 	a VIEW_CONVERT_EXPR of a suitable constant expression.
> 	(fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
> 	Change call of build1 to fold_build1 when constructing a
> 	VIEW_CONVERT_EXPR.
> 
> 	* gcc.target/i386/20050113-1.c: Tweak testcase to reflect that casts
> 	of integers to a vector types are now constant expressions in C.
> 	* gcc.dg/vect/vect-fold-1.c: New test case.

Ok.


r~



More information about the Gcc-patches mailing list