Commit 5b5513d0 by Richard Henderson Committed by Richard Henderson

re PR target/21051 (sync tests ICE on ia64)

        PR target/21051
        * builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
        Use the mode of boolean_type_node when the user doesn't provide one.
        * config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.

From-SVN: r98239
parent 92750a39
2005-04-16 Richard Henderson <rth@redhat.com>
PR target/21051
* builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
Use the mode of boolean_type_node when the user doesn't provide one.
* config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.
2005-04-16 Alexandre Oliva <aoliva@redhat.com>
PR target/20126
......
......@@ -6178,6 +6178,8 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode,
case BUILT_IN_BOOL_COMPARE_AND_SWAP_2:
case BUILT_IN_BOOL_COMPARE_AND_SWAP_4:
case BUILT_IN_BOOL_COMPARE_AND_SWAP_8:
if (mode == VOIDmode)
mode = TYPE_MODE (boolean_type_node);
if (!target || !register_operand (target, mode))
target = gen_reg_rtx (mode);
target = expand_builtin_compare_and_swap (arglist, true, target);
......
......@@ -114,7 +114,7 @@
(define_expand "sync_lock_release<mode>"
[(set (match_operand:I48MODE 0 "memory_operand" "")
(const_int 0))]
(match_operand:I48MODE 1 "gr_reg_or_0_operand" ""))]
""
{
gcc_assert (MEM_VOLATILE_P (operands[0]));
......
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