expr.h (store_bit_field): Don't return a value.
commit6d7db3c5dfd52841132978ce53c041c2f3520562
authorRichard Sandiford <richard@codesourcery.com>
Fri, 27 Jul 2007 07:39:09 +0000 (27 07:39 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Fri, 27 Jul 2007 07:39:09 +0000 (27 07:39 +0000)
tree8ce86442f4e4bba58a4e2f1291077a1a62140ae8
parentab34041dfea64dec723185694ad33af0b8d76f78
expr.h (store_bit_field): Don't return a value.

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.

From-SVN: r126972
gcc/ChangeLog
gcc/expmed.c
gcc/expr.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/ins-1.c [new file with mode: 0644]