diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b3731c7d20..cc47d1e76a9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-08-24 H.J. Lu + + * config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if + needed. + 2011-08-24 Richard Guenther * tree-data-ref.c (dr_analyze_indices): Avoid unsharing the diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 61f2c5c87e7..ce6fd80e11a 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -27880,6 +27880,8 @@ rdrand_step: /* Force memory operand only with base register here. But we don't want to do it on memory operand for other builtin functions. */ + if (GET_MODE (op1) != Pmode) + op1 = convert_to_mode (Pmode, op1, 1); op1 = force_reg (Pmode, op1); op1 = gen_rtx_MEM (mode1, op1);