[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