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
+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
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);
(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]));