From: Richard Henderson Date: Sat, 12 Nov 2011 17:19:39 +0000 (-0800) Subject: rs6000: fix*_trunc insns use nonimmediate_operand X-Git-Tag: releases/gcc-4.7.0~2219 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=17fd74dde3a9a91265b751e5ab53846700e0060c;p=thirdparty%2Fgcc.git rs6000: fix*_trunc insns use nonimmediate_operand * config/rs6000/rs6000.md (fix_truncsi2_stfiwx): Use nonimmediate_operand for the destination. (fixuns_truncsi2_stfiwx): Likewise. From-SVN: r181324 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3f72d60cd2db..c6c20a2fbcff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2011-11-12 Richard Henderson + * config/rs6000/rs6000.md (fix_truncsi2_stfiwx): Use + nonimmediate_operand for the destination. + (fixuns_truncsi2_stfiwx): Likewise. + * builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap. (expand_builtin_atomic_compare_exchange): Likewise. diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 331aa79aac0c..93b0b6c70be0 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -6787,7 +6787,7 @@ ; register allocation so that it can allocate the memory slot if it ; needed (define_insn_and_split "fix_truncsi2_stfiwx" - [(set (match_operand:SI 0 "general_operand" "=rm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d"))) (clobber (match_scratch:DI 2 "=d"))] "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT @@ -6883,7 +6883,7 @@ }") (define_insn_and_split "fixuns_truncsi2_stfiwx" - [(set (match_operand:SI 0 "general_operand" "=rm") + [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") (unsigned_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d"))) (clobber (match_scratch:DI 2 "=d"))] "TARGET_HARD_FLOAT && TARGET_FPRS && && TARGET_FCTIWUZ