r126972 - in /trunk/gcc: ChangeLog expmed.c exp...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Fri Jul 27 07:39:00 GMT 2007


Author: rsandifo
Date: Fri Jul 27 07:39:09 2007
New Revision: 126972

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126972
Log:
gcc/
	* expr.h (store_bit_field): Don't return a value.
	* expmed.c (check_predicate_volatile_ok): New function.
	(store_bit_field_1): New function, extracted from store_bit_field.
	Take a fallback_p argument and return true if the operation succeeded.
	Only use store_fixed_bit_field if fallback_p.  Don't recompute
	mode_for_extraction; use op_mode instead.  Try forcing memories
	into registers if the insv expander fails.
	(store_bit_field): Use store_bit_field_1 with fallback_p true.
	Don't return a value.
	(convert_extracted_bit_field): New function, extracted from
	store_bit_field.
	(extract_bit_field_1): Likewise.  Take a fallback_p argument
	and return NULL if the operation succeeded.  Only use
	extract_fixed_bit_field if fallback_p.  Only calculate one
	extraction mode.  Combine code for extv and extzv.  Try forcing
	memories into registers if the ext(z)v expander fails.
	(extract_bit_field): Use extract_bit_field_1 with fallback_p true.

gcc/testsuite/
	* gcc.target/mips/ins-1.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/mips/ins-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expmed.c
    trunk/gcc/expr.h
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list