mirror of git://gcc.gnu.org/git/gcc.git
i386.c (ix86_expand_special_args_builtin): Use ix86_zero_extend_to_Pmode where appropriate.
* config/i386/i386.c (ix86_expand_special_args_builtin): Use ix86_zero_extend_to_Pmode where appropriate. (ix86_expand_builtin): Ditto. From-SVN: r205236
This commit is contained in:
parent
51b83fdd47
commit
8c55ffeb2a
|
|
@ -1,3 +1,9 @@
|
||||||
|
2013-11-21 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
* config/i386/i386.c (ix86_expand_special_args_builtin): Use
|
||||||
|
ix86_zero_extend_to_Pmode where appropriate.
|
||||||
|
(ix86_expand_builtin): Ditto.
|
||||||
|
|
||||||
2013-11-21 Cary Coutant <ccoutant@google.com>
|
2013-11-21 Cary Coutant <ccoutant@google.com>
|
||||||
|
|
||||||
* dwarf2out.c (want_pubnames): Don't do pubnames for -g1.
|
* dwarf2out.c (want_pubnames): Don't do pubnames for -g1.
|
||||||
|
|
@ -96,8 +102,7 @@
|
||||||
2013-11-21 Richard Biener <rguenther@suse.de>
|
2013-11-21 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
PR tree-optimization/59058
|
PR tree-optimization/59058
|
||||||
* tree-loop-distribution.c (struct partition_s): Add plus_one
|
* tree-loop-distribution.c (struct partition_s): Add plus_one member.
|
||||||
member.
|
|
||||||
(build_size_arg_loc): Apply niter adjustment here.
|
(build_size_arg_loc): Apply niter adjustment here.
|
||||||
(generate_memset_builtin): Adjust.
|
(generate_memset_builtin): Adjust.
|
||||||
(generate_memcpy_builtin): Likewise.
|
(generate_memcpy_builtin): Likewise.
|
||||||
|
|
@ -145,13 +150,13 @@
|
||||||
|
|
||||||
2013-11-20 Andrew MacLeod <amacleod@redhat.com>
|
2013-11-20 Andrew MacLeod <amacleod@redhat.com>
|
||||||
|
|
||||||
* gimplify.h (gimplify_hasher : typed_free_remove, struct gimplify_ctx):
|
* gimplify.h (gimplify_hasher:typed_free_remove, struct gimplify_ctx):
|
||||||
Move to gimplify.c.
|
Move to gimplify.c.
|
||||||
(free_gimplify_stack): Add prototype.
|
(free_gimplify_stack): Add prototype.
|
||||||
* gimplify.c (gimplify_hasher:typed_free_remove): Relocate here.
|
* gimplify.c (gimplify_hasher:typed_free_remove): Relocate here.
|
||||||
(struct gimplify_ctx): Relocate here.
|
(struct gimplify_ctx): Relocate here.
|
||||||
(gimplify_ctxp): Make static.
|
(gimplify_ctxp): Make static.
|
||||||
(ctx_pool, ctx_alloc, ctx_free, free_gimplify_stack): New. Manage a
|
(ctx_pool, ctx_alloc, ctx_free, free_gimplify_stack): New. Manage a
|
||||||
list of struct gimplify_ctx.
|
list of struct gimplify_ctx.
|
||||||
(push_gimplify_context): Add default parameters and allocate a struct
|
(push_gimplify_context): Add default parameters and allocate a struct
|
||||||
from the pool.
|
from the pool.
|
||||||
|
|
@ -184,8 +189,7 @@
|
||||||
new pseudos.
|
new pseudos.
|
||||||
(lra_create_new_reg_with_unique_value): Pass new argument value.
|
(lra_create_new_reg_with_unique_value): Pass new argument value.
|
||||||
(lra_emit_add, lra_emit_move): Ditto.
|
(lra_emit_add, lra_emit_move): Ditto.
|
||||||
* lra-constraints.c (in_class_p): Add check for move for a new
|
* lra-constraints.c (in_class_p): Add check for move for a new insn.
|
||||||
insn.
|
|
||||||
(change_class): Rename to lra_change_class. Move to lra-int.h.
|
(change_class): Rename to lra_change_class. Move to lra-int.h.
|
||||||
(get_reload_reg, narrow_reload_pseudo_class): Adjust calls of
|
(get_reload_reg, narrow_reload_pseudo_class): Adjust calls of
|
||||||
change_class.
|
change_class.
|
||||||
|
|
@ -279,7 +283,8 @@
|
||||||
|
|
||||||
2013-11-20 Jan Hubicka <jh@suse.cz>
|
2013-11-20 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* opts.c (finish_options): Imply -ffat-lto-objects with -fno-use-linker-plugin.
|
* opts.c (finish_options): Imply -ffat-lto-objects with
|
||||||
|
-fno-use-linker-plugin.
|
||||||
* common.opt (fuse-linker-plugin): Add var.
|
* common.opt (fuse-linker-plugin): Add var.
|
||||||
|
|
||||||
2013-11-20 Ilya Enkovich <ilya.enkovich@intel.com>
|
2013-11-20 Ilya Enkovich <ilya.enkovich@intel.com>
|
||||||
|
|
@ -373,8 +378,7 @@
|
||||||
Remove inline and related attributes.
|
Remove inline and related attributes.
|
||||||
(__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
|
(__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
|
||||||
(__TM_is_illegal, __TM_is_footprint_exceeded)
|
(__TM_is_illegal, __TM_is_footprint_exceeded)
|
||||||
(__TM_is_nested_too_deep, __TM_is_conflict): Fix format value
|
(__TM_is_nested_too_deep, __TM_is_conflict): Fix format value check.
|
||||||
check.
|
|
||||||
|
|
||||||
2013-11-20 Richard Biener <rguenther@suse.de>
|
2013-11-20 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
|
@ -394,8 +398,7 @@
|
||||||
|
|
||||||
* gcc/config/aarch64/aarch64-builtins.c
|
* gcc/config/aarch64/aarch64-builtins.c
|
||||||
(aarch64_simd_itype): Remove.
|
(aarch64_simd_itype): Remove.
|
||||||
(aarch64_simd_builtin_datum): Remove itype, add
|
(aarch64_simd_builtin_datum): Remove itype, add qualifiers pointer.
|
||||||
qualifiers pointer.
|
|
||||||
(VAR1): Use qualifiers.
|
(VAR1): Use qualifiers.
|
||||||
(aarch64_build_scalar_type): New.
|
(aarch64_build_scalar_type): New.
|
||||||
(aarch64_build_vector_type): Likewise.
|
(aarch64_build_vector_type): Likewise.
|
||||||
|
|
|
||||||
|
|
@ -32577,7 +32577,7 @@ ix86_expand_special_args_builtin (const struct builtin_description *d,
|
||||||
gcc_assert (target == 0);
|
gcc_assert (target == 0);
|
||||||
if (memory)
|
if (memory)
|
||||||
{
|
{
|
||||||
op = force_reg (Pmode, convert_to_mode (Pmode, op, 1));
|
op = ix86_zero_extend_to_Pmode (op);
|
||||||
target = gen_rtx_MEM (tmode, op);
|
target = gen_rtx_MEM (tmode, op);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -32622,7 +32622,7 @@ ix86_expand_special_args_builtin (const struct builtin_description *d,
|
||||||
if (i == memory)
|
if (i == memory)
|
||||||
{
|
{
|
||||||
/* This must be the memory operand. */
|
/* This must be the memory operand. */
|
||||||
op = force_reg (Pmode, convert_to_mode (Pmode, op, 1));
|
op = ix86_zero_extend_to_Pmode (op);
|
||||||
op = gen_rtx_MEM (mode, op);
|
op = gen_rtx_MEM (mode, op);
|
||||||
gcc_assert (GET_MODE (op) == mode
|
gcc_assert (GET_MODE (op) == mode
|
||||||
|| GET_MODE (op) == VOIDmode);
|
|| GET_MODE (op) == VOIDmode);
|
||||||
|
|
@ -32870,7 +32870,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||||
mode1 = insn_data[icode].operand[1].mode;
|
mode1 = insn_data[icode].operand[1].mode;
|
||||||
mode2 = insn_data[icode].operand[2].mode;
|
mode2 = insn_data[icode].operand[2].mode;
|
||||||
|
|
||||||
op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
|
op0 = ix86_zero_extend_to_Pmode (op0);
|
||||||
op0 = gen_rtx_MEM (mode1, op0);
|
op0 = gen_rtx_MEM (mode1, op0);
|
||||||
|
|
||||||
if (!insn_data[icode].operand[0].predicate (op0, mode0))
|
if (!insn_data[icode].operand[0].predicate (op0, mode0))
|
||||||
|
|
@ -32902,7 +32902,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||||
op0 = expand_normal (arg0);
|
op0 = expand_normal (arg0);
|
||||||
icode = CODE_FOR_sse2_clflush;
|
icode = CODE_FOR_sse2_clflush;
|
||||||
if (!insn_data[icode].operand[0].predicate (op0, Pmode))
|
if (!insn_data[icode].operand[0].predicate (op0, Pmode))
|
||||||
op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
|
op0 = ix86_zero_extend_to_Pmode (op0);
|
||||||
|
|
||||||
emit_insn (gen_sse2_clflush (op0));
|
emit_insn (gen_sse2_clflush (op0));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -32915,7 +32915,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||||
op1 = expand_normal (arg1);
|
op1 = expand_normal (arg1);
|
||||||
op2 = expand_normal (arg2);
|
op2 = expand_normal (arg2);
|
||||||
if (!REG_P (op0))
|
if (!REG_P (op0))
|
||||||
op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
|
op0 = ix86_zero_extend_to_Pmode (op0);
|
||||||
if (!REG_P (op1))
|
if (!REG_P (op1))
|
||||||
op1 = copy_to_mode_reg (SImode, op1);
|
op1 = copy_to_mode_reg (SImode, op1);
|
||||||
if (!REG_P (op2))
|
if (!REG_P (op2))
|
||||||
|
|
@ -33172,7 +33172,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
||||||
op0 = expand_normal (arg0);
|
op0 = expand_normal (arg0);
|
||||||
icode = CODE_FOR_lwp_llwpcb;
|
icode = CODE_FOR_lwp_llwpcb;
|
||||||
if (!insn_data[icode].operand[0].predicate (op0, Pmode))
|
if (!insn_data[icode].operand[0].predicate (op0, Pmode))
|
||||||
op0 = force_reg (Pmode, convert_to_mode (Pmode, op0, 1));
|
op0 = ix86_zero_extend_to_Pmode (op0);
|
||||||
emit_insn (gen_lwp_llwpcb (op0));
|
emit_insn (gen_lwp_llwpcb (op0));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
@ -33468,7 +33468,7 @@ addcarryx:
|
||||||
/* Force memory operand only with base register here. But we
|
/* Force memory operand only with base register here. But we
|
||||||
don't want to do it on memory operand for other builtin
|
don't want to do it on memory operand for other builtin
|
||||||
functions. */
|
functions. */
|
||||||
op1 = force_reg (Pmode, convert_to_mode (Pmode, op1, 1));
|
op1 = ix86_zero_extend_to_Pmode (op1);
|
||||||
|
|
||||||
if (!insn_data[icode].operand[1].predicate (op0, mode0))
|
if (!insn_data[icode].operand[1].predicate (op0, mode0))
|
||||||
op0 = copy_to_mode_reg (mode0, op0);
|
op0 = copy_to_mode_reg (mode0, op0);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue