Convert to Pmode if needed.
authorH.J. Lu <hongjiu.lu@intel.com>
Wed, 24 Aug 2011 13:24:07 +0000 (13:24 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Wed, 24 Aug 2011 13:24:07 +0000 (06:24 -0700)
2011-08-24  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if
needed.

From-SVN: r178039

gcc/ChangeLog
gcc/config/i386/i386.c

index 3b3731c..cc47d1e 100644 (file)
@@ -1,3 +1,8 @@
+2011-08-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if
+       needed.
+
 2011-08-24  Richard Guenther  <rguenther@suse.de>
 
        * tree-data-ref.c (dr_analyze_indices): Avoid unsharing the
index 61f2c5c..ce6fd80 100644 (file)
@@ -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);