Commit 17fd74dd by Richard Henderson Committed by Richard Henderson

rs6000: fix*_trunc insns use nonimmediate_operand

        * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

From-SVN: r181324
parent f0409b19
2011-11-12 Richard Henderson <rth@redhat.com> 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, * builtins.c (expand_builtin_compare_and_swap): If target is const0,
don't pass the target to expand_atomic_compare_and_swap. don't pass the target to expand_atomic_compare_and_swap.
(expand_builtin_atomic_compare_exchange): Likewise. (expand_builtin_atomic_compare_exchange): Likewise.
...@@ -6787,7 +6787,7 @@ ...@@ -6787,7 +6787,7 @@
; register allocation so that it can allocate the memory slot if it ; register allocation so that it can allocate the memory slot if it
; needed ; needed
(define_insn_and_split "fix_trunc<mode>si2_stfiwx" (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"))) (fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d")))
(clobber (match_scratch:DI 2 "=d"))] (clobber (match_scratch:DI 2 "=d"))]
"TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT "TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_DOUBLE_FLOAT
...@@ -6883,7 +6883,7 @@ ...@@ -6883,7 +6883,7 @@
}") }")
(define_insn_and_split "fixuns_trunc<mode>si2_stfiwx" (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"))) (unsigned_fix:SI (match_operand:SFDF 1 "gpc_reg_operand" "d")))
(clobber (match_scratch:DI 2 "=d"))] (clobber (match_scratch:DI 2 "=d"))]
"TARGET_HARD_FLOAT && TARGET_FPRS && <TARGET_FLOAT> && TARGET_FCTIWUZ "TARGET_HARD_FLOAT && TARGET_FPRS && <TARGET_FLOAT> && TARGET_FCTIWUZ
......
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