From 79564f1e936eb7783430d132813fca935564b5f0 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Tue, 1 Dec 2009 22:23:55 +0100 Subject: [PATCH] i386.md (SWI124): Rename from CRC32MODE. * config/i386/i386.md (SWI124): Rename from CRC32MODE. (crc32modesuffix): Remove. (crc32modeconstraint): Ditto. (sse4_2_crc32): Update for renamed mode iterator. Use imodesuffix instead of crc32modesuffix and m instead of crc32modeconstraint. From-SVN: r154882 --- gcc/ChangeLog | 33 ++++++++++++++++++++------------- gcc/config/i386/i386.md | 11 +++++------ 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef355dd7532..08a09724468 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2009-12-01 Uros Bizjak + + * config/i386/i386.md (SWI124): Rename from CRC32MODE. + (crc32modesuffix): Remove. + (crc32modeconstraint): Ditto. + (sse4_2_crc32): Update for renamed mode iterator. Use + imodesuffix instead of crc32modesuffix and m instead of + crc32modeconstraint. + 2009-12-01 Jakub Jelinek PR c++/42234 @@ -72,7 +81,7 @@ 2009-12-01 Martin Jambor - * cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest + * cgraph.h (struct cgraph_edge): Reorder fields. Make loop_nest unsigned short int. * ipa-prop.h (struct ipa_param_call_note): Likewise. * ipa-prop.c (ipa_note_param_call): Initialize note->loop_nest. @@ -167,13 +176,13 @@ vec_select form to vec_duplicate form. (*sse2_interleave_highv2df, sse2_interleave_lowv2df): Use 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. (*vec_dupv4si_avx): New. (*vec_dupv2di_avx): Add movddup alternative. (*vec_dupv2di_sse3): New. (vec_dup): Replace avx_vbroadcasts and - avx_vbroadcastss256; represent with vec_duplicate instead of + avx_vbroadcastss256; represent with vec_duplicate instead of nested vec_concat operations. (avx_vbroadcastf128_): Rename from avx_vbroadcastf128_p256. @@ -345,7 +354,8 @@ (cgraph_expand_function): Handle thunks. (thunk_adjust): 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. (input_node): Likewise. * langhooks.h (lang_hooks_for_callgraph): Remove emit_associated_thunks. @@ -459,7 +469,7 @@ 2009-11-28 Andy Hutchinson - * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add. + * config/avr/avr.h (ASM_OUTPUT_EXTERNAL): Add. 2009-11-28 David Binderman @@ -479,9 +489,8 @@ 2009-11-27 Nick Clifton - * longlong.h (count_leading_zeros): Define macro for stormy16 - target. - (COUNT_LEADING_ZEROS_0): Likewise. + * longlong.h (count_leading_zeros): Define macro for stormy16 target. + (COUNT_LEADING_ZEROS_0): Likewise. * config/stormy16/stormy16-lib2.c: Arrange for separate compilation of each function. (__ffshi2): New function. @@ -533,8 +542,7 @@ [SUPPORTS_WEAK && GTHREAD_USE_WEAK] (__gthread_active_p): Use __extension__ to allow cast from function pointer to object pointer in C++. - * doc/install.texi (--enable-threads): Clarify use of Solaris - threads. + * doc/install.texi (--enable-threads): Clarify use of Solaris threads. 2009-11-27 Steven Bosscher @@ -573,8 +581,7 @@ 2009-11-27 Andreas Krebbel - * emit-rtl.c (next_active_insn, prev_active_insn): Correct - comment. + * emit-rtl.c (next_active_insn, prev_active_insn): Correct comment. 2009-11-27 Jakub Jelinek @@ -781,7 +788,7 @@ (struct builtin_description) : Remove initailization. : Unconditionally initialize here. - + 2009-11-25 Paul Brook * config/arm/arm.md (consttable_4): Handle (high ...). diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index d401f92950f..851061dcd8d 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -747,6 +747,9 @@ ;; All single word integer modes. (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. (define_mode_iterator SWI248 [HI SI (DI "TARGET_64BIT")]) @@ -21169,18 +21172,14 @@ } [(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" [(set (match_operand:SI 0 "register_operand" "=r") (unspec:SI [(match_operand:SI 1 "register_operand" "0") - (match_operand:CRC32MODE 2 "nonimmediate_operand" "")] + (match_operand:SWI124 2 "nonimmediate_operand" "m")] UNSPEC_CRC32))] "TARGET_SSE4_2 || TARGET_CRC32" - "crc32\t{%2, %0|%0, %2}" + "crc32{}\t{%2, %0|%0, %2}" [(set_attr "type" "sselog1") (set_attr "prefix_rep" "1") (set_attr "prefix_extra" "1")