Commit 79564f1e by Uros Bizjak

i386.md (SWI124): Rename from CRC32MODE.

	* config/i386/i386.md (SWI124): Rename from CRC32MODE.
	(crc32modesuffix): Remove.
	(crc32modeconstraint): Ditto.
	(sse4_2_crc32<mode>): Update for renamed mode iterator.  Use
	imodesuffix instead of crc32modesuffix and <r>m instead of
	crc32modeconstraint.

From-SVN: r154882
parent 24b3ff2c
2009-12-01 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (SWI124): Rename from CRC32MODE.
(crc32modesuffix): Remove.
(crc32modeconstraint): Ditto.
(sse4_2_crc32<mode>): Update for renamed mode iterator. Use
imodesuffix instead of crc32modesuffix and <r>m instead of
crc32modeconstraint.
2009-12-01 Jakub Jelinek <jakub@redhat.com> 2009-12-01 Jakub Jelinek <jakub@redhat.com>
PR c++/42234 PR c++/42234
...@@ -72,7 +81,7 @@ ...@@ -72,7 +81,7 @@
2009-12-01 Martin Jambor <mjambor@suse.cz> 2009-12-01 Martin Jambor <mjambor@suse.cz>
* cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest * cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest
unsigned short int. unsigned short int.
* ipa-prop.h (struct ipa_param_call_note): Likewise. * ipa-prop.h (struct ipa_param_call_note): Likewise.
* ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest. * ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest.
...@@ -167,13 +176,13 @@ ...@@ -167,13 +176,13 @@
vec_select form to vec_duplicate form. vec_select form to vec_duplicate form.
(*sse2_interleave_highv2df, sse2_interleave_lowv2df): Use (*sse2_interleave_highv2df, sse2_interleave_lowv2df): Use
ix86_vec_interleave_v2df_operator_ok. ix86_vec_interleave_v2df_operator_ok.
(avx_movddup256, avx_unpcklpd256): Change to expanders, merge into ... (avx_movddup256, avx_unpcklpd256): Change to expanders, merge into ...
(*avx_unpcklpd256): ... here. (*avx_unpcklpd256): ... here.
(*vec_dupv4si_avx): New. (*vec_dupv4si_avx): New.
(*vec_dupv2di_avx): Add movddup alternative. (*vec_dupv2di_avx): Add movddup alternative.
(*vec_dupv2di_sse3): New. (*vec_dupv2di_sse3): New.
(vec_dup<AVX256MODE24P>): Replace avx_vbroadcasts<AVXMODEF4P> and (vec_dup<AVX256MODE24P>): Replace avx_vbroadcasts<AVXMODEF4P> and
avx_vbroadcastss256; represent with vec_duplicate instead of avx_vbroadcastss256; represent with vec_duplicate instead of
nested vec_concat operations. nested vec_concat operations.
(avx_vbroadcastf128_<mode>): Rename from (avx_vbroadcastf128_<mode>): Rename from
avx_vbroadcastf128_p<avxmodesuffixf2c>256. avx_vbroadcastf128_p<avxmodesuffixf2c>256.
...@@ -345,7 +354,8 @@ ...@@ -345,7 +354,8 @@
(cgraph_expand_function): Handle thunks. (cgraph_expand_function): Handle thunks.
(thunk_adjust): New. (thunk_adjust): New.
(init_lowered_empty_function): New. (init_lowered_empty_function): New.
* cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Remove. * cp-objcp-common.h (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS):
Remove.
* lto-cgraph.c (lto_output_node): Stream thunk info. * lto-cgraph.c (lto_output_node): Stream thunk info.
(input_node): Likewise. (input_node): Likewise.
* langhooks.h (lang_hooks_for_callgraph): Remove emit_associated_thunks. * langhooks.h (lang_hooks_for_callgraph): Remove emit_associated_thunks.
...@@ -459,7 +469,7 @@ ...@@ -459,7 +469,7 @@
2009-11-28 Andy Hutchinson <hutchinsonandy@gcc.gnu.org> 2009-11-28 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
* config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add. * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add.
2009-11-28 David Binderman <dcb314@hotmail.com> 2009-11-28 David Binderman <dcb314@hotmail.com>
...@@ -479,9 +489,8 @@ ...@@ -479,9 +489,8 @@
2009-11-27 Nick Clifton <nickc@redhat.com> 2009-11-27 Nick Clifton <nickc@redhat.com>
* longlong.h (count_leading_zeros): Define macro for stormy16 * longlong.h (count_leading_zeros): Define macro for stormy16 target.
target. (COUNT_LEADING_ZEROS_0): Likewise.
(COUNT_LEADING_ZEROS_0): Likewise.
* config/stormy16/stormy16-lib2.c: Arrange for separate * config/stormy16/stormy16-lib2.c: Arrange for separate
compilation of each function. compilation of each function.
(__ffshi2): New function. (__ffshi2): New function.
...@@ -533,8 +542,7 @@ ...@@ -533,8 +542,7 @@
[SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use [SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use
__extension__ to allow cast from function pointer to object __extension__ to allow cast from function pointer to object
pointer in C++. pointer in C++.
* doc/install.texi (--enable-threads): Clarify use of Solaris * doc/install.texi (--enable-threads): Clarify use of Solaris threads.
threads.
2009-11-27 Steven Bosscher <steven@gcc.gnu.org> 2009-11-27 Steven Bosscher <steven@gcc.gnu.org>
...@@ -573,8 +581,7 @@ ...@@ -573,8 +581,7 @@
2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* emit-rtl.c (next_active_insn, prev_active_insn): Correct * emit-rtl.c (next_active_insn, prev_active_insn): Correct comment.
comment.
2009-11-27 Jakub Jelinek <jakub@redhat.com> 2009-11-27 Jakub Jelinek <jakub@redhat.com>
...@@ -781,7 +788,7 @@ ...@@ -781,7 +788,7 @@
(struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>: (struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>:
Remove initailization. Remove initailization.
<CODE_FOR_avx_vzeroupper>: Unconditionally initialize here. <CODE_FOR_avx_vzeroupper>: Unconditionally initialize here.
2009-11-25 Paul Brook <paul@codesourcery.com> 2009-11-25 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md (consttable_4): Handle (high ...). * config/arm/arm.md (consttable_4): Handle (high ...).
...@@ -747,6 +747,9 @@ ...@@ -747,6 +747,9 @@
;; All single word integer modes. ;; All single word integer modes.
(define_mode_iterator SWI [QI HI SI (DI "TARGET_64BIT")]) (define_mode_iterator SWI [QI HI SI (DI "TARGET_64BIT")])
;; Single word integer modes without DImode.
(define_mode_iterator SWI124 [QI HI SI])
;; Single word integer modes without QImode. ;; Single word integer modes without QImode.
(define_mode_iterator SWI248 [HI SI (DI "TARGET_64BIT")]) (define_mode_iterator SWI248 [HI SI (DI "TARGET_64BIT")])
...@@ -21169,18 +21172,14 @@ ...@@ -21169,18 +21172,14 @@
} }
[(set_attr "type" "multi")]) [(set_attr "type" "multi")])
(define_mode_iterator CRC32MODE [QI HI SI])
(define_mode_attr crc32modesuffix [(QI "{b}") (HI "{w}") (SI "{l}")])
(define_mode_attr crc32modeconstraint [(QI "qm") (HI "rm") (SI "rm")])
(define_insn "sse4_2_crc32<mode>" (define_insn "sse4_2_crc32<mode>"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
(unspec:SI (unspec:SI
[(match_operand:SI 1 "register_operand" "0") [(match_operand:SI 1 "register_operand" "0")
(match_operand:CRC32MODE 2 "nonimmediate_operand" "<crc32modeconstraint>")] (match_operand:SWI124 2 "nonimmediate_operand" "<r>m")]
UNSPEC_CRC32))] UNSPEC_CRC32))]
"TARGET_SSE4_2 || TARGET_CRC32" "TARGET_SSE4_2 || TARGET_CRC32"
"crc32<crc32modesuffix>\t{%2, %0|%0, %2}" "crc32{<imodesuffix>}\t{%2, %0|%0, %2}"
[(set_attr "type" "sselog1") [(set_attr "type" "sselog1")
(set_attr "prefix_rep" "1") (set_attr "prefix_rep" "1")
(set_attr "prefix_extra" "1") (set_attr "prefix_extra" "1")
......
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