[llvm-commits] [llvm-gcc-4.2] r62480 - in /llvm-gcc-4.2/trunk/gcc/config/i386: i386.md sse.md

Bill Wendling isanbard at gmail.com
Sun Jan 18 18:24:46 PST 2009


Author: void
Date: Sun Jan 18 20:24:45 2009
New Revision: 62480

URL: http://llvm.org/viewvc/llvm-project?rev=62480&view=rev
Log:
Move recipe to different file.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/i386/i386.md
    llvm-gcc-4.2/trunk/gcc/config/i386/sse.md

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

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.md Sun Jan 18 20:24:45 2009
@@ -4643,7 +4643,19 @@
   [(set (match_operand:SF 0 "register_operand" "")
 	(float:SF (match_operand:DI 1 "nonimmediate_operand" "")))]
   "TARGET_80387 || (TARGET_64BIT && TARGET_SSE_MATH)"
-  "")
+;; APPLE LOCAL begin 6382081
+{
+  if (!TARGET_64BIT)
+  {
+    rtx XFreg = gen_reg_rtx (XFmode);
+    rtx SFstack = assign_386_stack_local (SFmode, SLOT_VIRTUAL);
+    emit_insn (gen_floatdixf2 (copy_rtx (XFreg), operands[1]));
+    emit_insn (gen_truncxfsf2 (copy_rtx (SFstack), XFreg));
+    emit_move_insn (operands[0], SFstack);
+    DONE;
+  }
+})
+;; APPLE LOCAL end 6382081
 
 (define_insn "*floatdisf2_mixed"
   [(set (match_operand:SF 0 "register_operand" "=f,?f,x,x")
@@ -10457,6 +10469,21 @@
   DONE;
 })
 
+/* APPLE LOCAL begin 6440204 */
+/* Moved here from sse.md so this pattern gets recognized before ashlti3_2.  Ugh.  */
+(define_insn "sse2_ashlti3"
+  [(set (match_operand:TI 0 "register_operand" "=x")
+	(ashift:TI (match_operand:TI 1 "register_operand" "0")
+		   (match_operand:SI 2 "const_0_to_255_mul_8_operand" "n")))]
+  "TARGET_SSE2"
+{
+  operands[2] = GEN_INT (INTVAL (operands[2]) / 8);
+  return "pslldq\t{%2, %0|%0, %2}";
+}
+  [(set_attr "type" "sseishft")
+   (set_attr "mode" "TI")])
+/* APPLE LOCAL end 6440204 */
+
 (define_insn "ashlti3_1"
   [(set (match_operand:TI 0 "register_operand" "=r")
 	(ashift:TI (match_operand:TI 1 "register_operand" "0")

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/sse.md
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/sse.md?rev=62480&r1=62479&r2=62480&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/sse.md (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/sse.md Sun Jan 18 20:24:45 2009
@@ -3045,17 +3045,9 @@
   [(set_attr "type" "sseishft")
    (set_attr "mode" "TI")])
 
-(define_insn "sse2_ashlti3"
-  [(set (match_operand:TI 0 "register_operand" "=x")
-	(ashift:TI (match_operand:TI 1 "register_operand" "0")
-		   (match_operand:SI 2 "const_0_to_255_mul_8_operand" "n")))]
-  "TARGET_SSE2"
-{
-  operands[2] = GEN_INT (INTVAL (operands[2]) / 8);
-  return "pslldq\t{%2, %0|%0, %2}";
-}
-  [(set_attr "type" "sseishft")
-   (set_attr "mode" "TI")])
+/* APPLE LOCAL begin 6440204 */
+/* Moved to i386.md.  */
+/* APPLE LOCAL end 6440204 */
 
 (define_expand "vec_shl_<mode>"
   [(set (match_operand:SSEMODEI 0 "register_operand" "")





More information about the llvm-commits mailing list