Commit 27431d88 by Uros Bizjak

i386.md (ashr<mode>3): Macroize expander from ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.

	* config/i386/i386.md (ashr<mode>3): Macroize expander from
	ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
	(*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
	pattern from *ashr{di,ti}3_1 and corresponding splitters using
	DWI mode iterator.
	(*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
	from corresponding peephole2 patterns.
	(ashrdi3_cvt): Rename from ashrdi3_63_rex64.
	(ashrsi3_cvt): Rename from ashrsi3_31.
	(*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
	(x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
	and x86_64_shift_adj_3 using SWI48 mode iterator.
	(*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
	*ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
	and *ashrdi3_cmp_rex64 using SWI mode iterator.
	(*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
	(*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
	*ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
	and *ashrdi3_cmp_rex64 using SWI mode iterator.
	(*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
	(*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
	*ashrdi3_one_bit_cconly_rex64. Macroize insn from
	*ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
	SWI mode iterator.
	(sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
	* config/i386/i386.c (ix86_split_ashr): Update for renamed
	x86_shift<mode>_adj_3 expander.

From-SVN: r158195
parent a6d57223
2010-04-10 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (ashr<mode>3): Macroize expander from
ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
(*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
pattern from *ashr{di,ti}3_1 and corresponding splitters using
DWI mode iterator.
(*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
from corresponding peephole2 patterns.
(ashrdi3_cvt): Rename from ashrdi3_63_rex64.
(ashrsi3_cvt): Rename from ashrsi3_31.
(*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
(x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
and x86_64_shift_adj_3 using SWI48 mode iterator.
(*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
*ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
and *ashrdi3_cmp_rex64 using SWI mode iterator.
(*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
(*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
*ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
and *ashrdi3_cmp_rex64 using SWI mode iterator.
(*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
(*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
*ashrdi3_one_bit_cconly_rex64. Macroize insn from
*ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
SWI mode iterator.
(sign_extend splitters): Update for renamed ashr{di,si}3_patterns.
* config/i386/i386.c (ix86_split_ashr): Update for renamed
x86_shift<mode>_adj_3 expander.
2010-04-10 Wei Guozhi <carrot@google.com> 2010-04-10 Wei Guozhi <carrot@google.com>
PR target/42601 PR target/42601
...@@ -44,8 +74,8 @@ ...@@ -44,8 +74,8 @@
2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com> 2010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
* config/picochip/picochip.c (picochip_rtx_costs): Use correct function * config/picochip/picochip.c (picochip_rtx_costs): Use correct
template. function template.
(picochip_override_options): Enable section anchors only above -O1. (picochip_override_options): Enable section anchors only above -O1.
(picochip_reorg): Fixed a couple of build warnings. (picochip_reorg): Fixed a couple of build warnings.
...@@ -210,7 +240,7 @@ ...@@ -210,7 +240,7 @@
(ix86_attribute_table): Add description for thiscall attribute. (ix86_attribute_table): Add description for thiscall attribute.
* config/i386/i386.h (ix86_args): Adjust comment for member fastcall. * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
* doc/extend.texi: Add documentation for thiscall. * doc/extend.texi: Add documentation for thiscall.
2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/28584 PR c++/28584
...@@ -255,7 +285,7 @@ ...@@ -255,7 +285,7 @@
* gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V. * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com> 2010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
Wolfgang Gellerich <gellerich@de.ibm.com> Wolfgang Gellerich <gellerich@de.ibm.com>
Implement target hook for loop unrolling Implement target hook for loop unrolling
* target.h (loop_unroll_adjust): Add a new target hook function. * target.h (loop_unroll_adjust): Add a new target hook function.
...@@ -422,7 +452,7 @@ ...@@ -422,7 +452,7 @@
inserting GIMPLE_NOPs into the IL. inserting GIMPLE_NOPs into the IL.
* tree-ssa-structalias.c (get_constraint_for_component_ref): * tree-ssa-structalias.c (get_constraint_for_component_ref):
Explicitly strip handled components and indirect references. Explicitly strip handled components and indirect references.
* fold-const.c (fold_unary_loc): Do not strip qualifiers when * fold-const.c (fold_unary_loc): Do not strip qualifiers when
folding address expressions. folding address expressions.
* gimple.c (gimple_ior_addresses_taken_1): Use get_base_address. * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
......
...@@ -17224,8 +17224,8 @@ ix86_split_ashr (rtx *operands, rtx scratch, enum machine_mode mode) ...@@ -17224,8 +17224,8 @@ ix86_split_ashr (rtx *operands, rtx scratch, enum machine_mode mode)
} }
else else
emit_insn ((mode == DImode emit_insn ((mode == DImode
? gen_x86_shift_adj_3 ? gen_x86_shiftsi_adj_3
: gen_x86_64_shift_adj_3) (low[0], high[0], operands[2])); : gen_x86_shiftdi_adj_3) (low[0], high[0], operands[2]));
} }
} }
......
...@@ -54,15 +54,15 @@ ...@@ -54,15 +54,15 @@
* g++.dg/other/pr35504.C: Add check for thiscall. * g++.dg/other/pr35504.C: Add check for thiscall.
* g++.dg/torture/stackalign/eh-thiscall-1.C: New. * g++.dg/torture/stackalign/eh-thiscall-1.C: New.
* gcc.dg/torture/stackalign/thiscall-1.c: New. * gcc.dg/torture/stackalign/thiscall-1.c: New.
2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 2010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/28584 PR c++/28584
* gcc.dg/Wint-to-pointer-cast-1.c: Move to... * gcc.dg/Wint-to-pointer-cast-1.c: Move to...
* c-c++-common/Wint-to-pointer-cast-1.c: ... here. * c-c++-common/Wint-to-pointer-cast-1.c: ... here.
* gcc.dg/Wint-to-pointer-cast-2.c: Move to... * gcc.dg/Wint-to-pointer-cast-2.c: Move to...
* c-c++-common/Wint-to-pointer-cast-2.c: ... here. * c-c++-common/Wint-to-pointer-cast-2.c: ... here.
* gcc.dg/Wint-to-pointer-cast-3.c: Move to... * gcc.dg/Wint-to-pointer-cast-3.c: Move to...
* c-c++-common/Wint-to-pointer-cast-3.c: ... here. Update. * c-c++-common/Wint-to-pointer-cast-3.c: ... here. Update.
* g++.old-deja/g++.mike/warn1.C: Add -Wno-int-to-pointer-cast. * g++.old-deja/g++.mike/warn1.C: Add -Wno-int-to-pointer-cast.
* g++.dg/other/increment1.C: Likewise. * g++.dg/other/increment1.C: Likewise.
...@@ -218,7 +218,7 @@ ...@@ -218,7 +218,7 @@
2010-04-06 Dodji Seketeli <dodji@redhat.com> 2010-04-06 Dodji Seketeli <dodji@redhat.com>
* g++.dg/debug/dwarf2/redeclaration-1.C: Moved from * g++.dg/debug/dwarf2/redeclaration-1.C: Moved from
c-c++-common/dwarf2/redeclaration-1.C c-c++-common/dwarf2/redeclaration-1.C
2010-04-06 Jason Merrill <jason@redhat.com> 2010-04-06 Jason Merrill <jason@redhat.com>
...@@ -388,7 +388,7 @@ ...@@ -388,7 +388,7 @@
PR tree-optimization/43141 PR tree-optimization/43141
* gcc.dg/guality/pr43141.c: New test. * gcc.dg/guality/pr43141.c: New test.
2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/cpp/_Pragma1.C: Skip on alpha*-dec-osf*. * g++.dg/cpp/_Pragma1.C: Skip on alpha*-dec-osf*.
...@@ -701,13 +701,13 @@ ...@@ -701,13 +701,13 @@
* objc/execute/class_self-2.m: Include <stdlib.h>. * objc/execute/class_self-2.m: Include <stdlib.h>.
* objc/execute/forward-1.x: Do not XFAIL for 32bit powerpc-darwin. * objc/execute/forward-1.x: Do not XFAIL for 32bit powerpc-darwin.
* objc.dg/desig-init-1.m: Use shared wrapper headers (Object1.h, * objc.dg/desig-init-1.m: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required. XFAIL run if NeXT Protocol1.h) and next-mapping.h as required. XFAIL run if NeXT
and 64bit. Use new NeXT interface as required. and 64bit. Use new NeXT interface as required.
* objc.dg/special/unclaimed-category-1.m: Ditto. * objc.dg/special/unclaimed-category-1.m: Ditto.
* objc.dg/special/unclaimed-category-1.h: Ditto. * objc.dg/special/unclaimed-category-1.h: Ditto.
* objc.dg/special/unclaimed-category-1a.m: Ditto. * objc.dg/special/unclaimed-category-1a.m: Ditto.
* objc.dg/func-ptr-1.m: Ditto. * objc.dg/func-ptr-1.m: Ditto.
* objc.dg/stret-1.m: Ditto. * objc.dg/stret-1.m: Ditto.
* objc.dg/encode-2.m: Ditto. * objc.dg/encode-2.m: Ditto.
* objc.dg/category-1.m: Ditto. * objc.dg/category-1.m: Ditto.
* objc.dg/encode-3.m: Ditto. * objc.dg/encode-3.m: Ditto.
...@@ -727,10 +727,10 @@ ...@@ -727,10 +727,10 @@
* objc.dg/call-super-1.m: Ditto. * objc.dg/call-super-1.m: Ditto.
* objc.dg/type-size-2.m: Ditto. * objc.dg/type-size-2.m: Ditto.
* objc.dg/method-10.m: Ditto. * objc.dg/method-10.m: Ditto.
* objc.dg/defs.m: Ditto. * objc.dg/defs.m: Ditto.
* objc.dg/const-str-3.m: Ditto. * objc.dg/const-str-3.m: Ditto.
* objc.dg/try-catch-6.m: Use shared wrapper headers (Object1.h, * objc.dg/try-catch-6.m: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required. Use new NeXT Protocol1.h) and next-mapping.h as required. Use new NeXT
interface as required. interface as required.
* objc.dg/super-class-4.m: Ditto. * objc.dg/super-class-4.m: Ditto.
* objc.dg/comp-types-8.m: Ditto. * objc.dg/comp-types-8.m: Ditto.
...@@ -791,8 +791,7 @@ ...@@ -791,8 +791,7 @@
* objc.dg/try-catch-5.m: Ditto. * objc.dg/try-catch-5.m: Ditto.
* objc.dg/const-str-10.m: Use shared wrapper headers (Object1.h, * objc.dg/const-str-10.m: Use shared wrapper headers (Object1.h,
Protocol1.h) and next-mapping.h as required. Use new NeXT Protocol1.h) and next-mapping.h as required. Use new NeXT
interface as required. Skip for gnu-runtime. Test for .quad interface as required. Skip for gnu-runtime. Test for .quad at m64.
at m64.
* objc.dg/const-str-11.m: Ditto. * objc.dg/const-str-11.m: Ditto.
* objc.dg/const-str-9.m: Ditto. * objc.dg/const-str-9.m: Ditto.
* objc.dg/method-4.m: Skip for 64Bit NeXT. * objc.dg/method-4.m: Skip for 64Bit NeXT.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment