]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: fix*_trunc insns use nonimmediate_operand
authorRichard Henderson <rth@redhat.com>
Sat, 12 Nov 2011 17:19:39 +0000 (09:19 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 12 Nov 2011 17:19:39 +0000 (09:19 -0800)
        * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

From-SVN: r181324

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 3f72d60cd2dbacf66c48b2e623a14d504ce1345d..c6c20a2fbcff9231007b8bbf51401fa13e106d3e 100644 (file)
@@ -1,5 +1,9 @@
 2011-11-12  Richard Henderson  <rth@redhat.com>
 
+       * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use 
+       nonimmediate_operand for the destination.
+       (fixuns_trunc<SFDF>si2_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.
index 331aa79aac0c57c641602c912984322d3bec9c86..93b0b6c70be010a8d35ab231e15da428345dab0c 100644 (file)
 ; register allocation so that it can allocate the memory slot if it
 ; needed
 (define_insn_and_split "fix_trunc<mode>si2_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
 }")
 
 (define_insn_and_split "fixuns_trunc<mode>si2_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_FLOAT> && TARGET_FCTIWUZ