[llvm-commits] [llvm-gcc-4.2] r56738 - /llvm-gcc-4.2/trunk/gcc/config/i386/i386.c

Bill Wendling isanbard at gmail.com
Fri Sep 26 17:47:50 PDT 2008


Author: void
Date: Fri Sep 26 19:47:50 2008
New Revision: 56738

URL: http://llvm.org/viewvc/llvm-project?rev=56738&view=rev
Log:
Merge to Apple GCC's TOT.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/i386/i386.c

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386.c?rev=56738&r1=56737&r2=56738&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.c Fri Sep 26 19:47:50 2008
@@ -5838,7 +5838,7 @@
       r11 = gen_rtx_REG (DImode, FIRST_REX_INT_REG + 3 /* R11 */);
       insn = emit_insn (gen_rtx_SET (DImode, r11, offset));
       /* APPLE LOCAL async unwind info 5949469 */
-      if (style < 0 || flag_asynchronous_unwind_tables)
+      if (style < 0 /* || flag_asynchronous_unwind_tables*/)
 	RTX_FRAME_RELATED_P (insn) = 1;
       insn = emit_insn (gen_pro_epilogue_adjust_stack_rex64_2 (dest, src, r11,
 							       offset));
@@ -5846,10 +5846,12 @@
   if (style < 0)
     RTX_FRAME_RELATED_P (insn) = 1;
   /* APPLE LOCAL begin async unwind info 5949350 5949469 */
+#if 0
   else if (flag_asynchronous_unwind_tables
 	   && (src == hard_frame_pointer_rtx
 	       || src == stack_pointer_rtx))
     RTX_FRAME_RELATED_P (insn) = 1;
+#endif
   /* APPLE LOCAL end async unwind info 5949350 5949469 */
 }
 
@@ -18176,6 +18178,17 @@
       mode1 = insn_data[icode].operand[1].mode;
       mode2 = insn_data[icode].operand[2].mode;
 
+      /* APPLE LOCAL begin 591583 */
+      if (! CONST_INT_P (op1))
+	{
+	  error ("shift must be an immediate");
+	  return const0_rtx;
+	}
+      /* The _mm_srli_si128/_mm_slli_si128 primitives are defined with
+	 a byte-shift count; inside of GCC, we prefer to specify the
+	 width of a shift in bits.  */
+      op1 = gen_rtx_CONST_INT (SImode, INTVAL (op1) * 8);
+      /* APPLE LOCAL end 591583 */
       if (! (*insn_data[icode].operand[1].predicate) (op0, mode1))
 	{
 	  op0 = copy_to_reg (op0);





More information about the llvm-commits mailing list