[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrVFP.td

2007-05-29 Thread Evan Cheng


Changes in directory llvm/lib/Target/ARM:

ARMInstrVFP.td updated: 1.6 - 1.7
---
Log message:

For VFP2 fldm, fstm instructions, the condition code is printed after the 
address mode and size specifier. e.g. fstmiaseq, not fstmeqias.

---
Diffs of the changes:  (+4 -4)

 ARMInstrVFP.td |8 
 1 files changed, 4 insertions(+), 4 deletions(-)


Index: llvm/lib/Target/ARM/ARMInstrVFP.td
diff -u llvm/lib/Target/ARM/ARMInstrVFP.td:1.6 
llvm/lib/Target/ARM/ARMInstrVFP.td:1.7
--- llvm/lib/Target/ARM/ARMInstrVFP.td:1.6  Mon May 14 20:29:07 2007
+++ llvm/lib/Target/ARM/ARMInstrVFP.td  Tue May 29 18:34:19 2007
@@ -108,21 +108,21 @@
 
 let isLoad = 1 in {
 def FLDMD : AXDI5(ops addrmode5:$addr, pred:$p, reglist:$dst1, variable_ops),
-  fldm${p}${addr:submode}d ${addr:base}, $dst1,
+  fldm${addr:submode}d${p} ${addr:base}, $dst1,
   [];
 
 def FLDMS : AXSI5(ops addrmode5:$addr, pred:$p, reglist:$dst1, variable_ops),
-  fldm${p}${addr:submode}s ${addr:base}, $dst1,
+  fldm${addr:submode}s${p} ${addr:base}, $dst1,
   [];
 } // isLoad
 
 let isStore = 1 in {
 def FSTMD : AXDI5(ops addrmode5:$addr, pred:$p, reglist:$src1, variable_ops),
- fstm${p}${addr:submode}d ${addr:base}, $src1,
+ fstm${addr:submode}d${p} ${addr:base}, $src1,
  [];
 
 def FSTMS : AXSI5(ops addrmode5:$addr, pred:$p, reglist:$src1, variable_ops),
- fstm${p}${addr:submode}s ${addr:base}, $src1,
+ fstm${addr:submode}s${p} ${addr:base}, $src1,
  [];
 } // isStore
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrVFP.td

2007-05-07 Thread Evan Cheng


Changes in directory llvm/lib/Target/ARM:

ARMInstrVFP.td updated: 1.3 - 1.4
---
Log message:

This is no longer needed after enabling the DAG combiner xform.

---
Diffs of the changes:  (+0 -5)

 ARMInstrVFP.td |5 -
 1 files changed, 5 deletions(-)


Index: llvm/lib/Target/ARM/ARMInstrVFP.td
diff -u llvm/lib/Target/ARM/ARMInstrVFP.td:1.3 
llvm/lib/Target/ARM/ARMInstrVFP.td:1.4
--- llvm/lib/Target/ARM/ARMInstrVFP.td:1.3  Thu May  3 15:54:42 2007
+++ llvm/lib/Target/ARM/ARMInstrVFP.td  Mon May  7 16:29:41 2007
@@ -78,11 +78,6 @@
  [(store SPR:$src, addrmode5:$addr)];
 } // isStore
 
-// avoid copying result of FTOUIZ to int reg when we're just storing it
-let AddedComplexity = 1 in
-def : ARMPat(store (i32 (bitconvert SPR:$src)), addrmode5:$addr),
- (FSTS SPR:$src, addrmode5:$addr);
-
 
//===--===//
 //  Load / store multiple Instructions.
 //



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrVFP.td

2007-05-03 Thread Dale Johannesen


Changes in directory llvm/lib/Target/ARM:

ARMInstrVFP.td updated: 1.2 - 1.3
---
Log message:

Evan's patch to avoid FPreg-intreg copy for cvt; store to mem


---
Diffs of the changes:  (+5 -0)

 ARMInstrVFP.td |5 +
 1 files changed, 5 insertions(+)


Index: llvm/lib/Target/ARM/ARMInstrVFP.td
diff -u llvm/lib/Target/ARM/ARMInstrVFP.td:1.2 
llvm/lib/Target/ARM/ARMInstrVFP.td:1.3
--- llvm/lib/Target/ARM/ARMInstrVFP.td:1.2  Wed May  2 19:32:00 2007
+++ llvm/lib/Target/ARM/ARMInstrVFP.td  Thu May  3 15:54:42 2007
@@ -78,6 +78,11 @@
  [(store SPR:$src, addrmode5:$addr)];
 } // isStore
 
+// avoid copying result of FTOUIZ to int reg when we're just storing it
+let AddedComplexity = 1 in
+def : ARMPat(store (i32 (bitconvert SPR:$src)), addrmode5:$addr),
+ (FSTS SPR:$src, addrmode5:$addr);
+
 
//===--===//
 //  Load / store multiple Instructions.
 //



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


Re: [llvm-commits] CVS: llvm/lib/Target/ARM/ARMInstrVFP.td

2007-05-03 Thread Chris Lattner
 Evan's patch to avoid FPreg-intreg copy for cvt; store to mem

 +// avoid copying result of FTOUIZ to int reg when we're just  
 storing it
 +let AddedComplexity = 1 in
 +def : ARMPat(store (i32 (bitconvert SPR:$src)), addrmode5:$addr),
 + (FSTS SPR:$src, addrmode5:$addr);
 +
  // 
 ===--- 
 ---===//
  //  Load / store multiple Instructions.
  //

Interesting approach.  Instead of adding this to one target's .td  
file, can you please investigate whether we can enable the dag  
combine xform at DAGCombiner.cpp:3412 now?

The primary thing blocking that xform was that we need to know (in  
this case) that an f32 store doesn't require greater alignment than  
an i32 store has.

-Chris
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits