[llvm-commits] CVS: llvm/lib/Target/SparcV8/README.txt SparcV8InstrInfo.td

Chris Lattner lattner at cs.uiuc.edu
Sat Dec 17 15:20:39 PST 2005



Changes in directory llvm/lib/Target/SparcV8:

README.txt updated: 1.39 -> 1.40
SparcV8InstrInfo.td updated: 1.69 -> 1.70
---
Log message:

add fneg,fabs,fsqrt instructions


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

 README.txt          |    4 +---
 SparcV8InstrInfo.td |   18 ++++++++++++++++--
 2 files changed, 17 insertions(+), 5 deletions(-)


Index: llvm/lib/Target/SparcV8/README.txt
diff -u llvm/lib/Target/SparcV8/README.txt:1.39 llvm/lib/Target/SparcV8/README.txt:1.40
--- llvm/lib/Target/SparcV8/README.txt:1.39	Sat Dec 17 01:17:59 2005
+++ llvm/lib/Target/SparcV8/README.txt	Sat Dec 17 17:20:27 2005
@@ -79,7 +79,5 @@
   where possible.  I think this is what afflicts the inner loop of Olden/tsp
   (hot block = tsp():no_exit.1.i, overall GCC/LLC = 0.03).
 
-* Generate fsqrtd for calls to sqrt()  (~ 4% speedup on Olden/tsp).
-
-$Date: 2005/12/17 07:17:59 $
+$Date: 2005/12/17 23:20:27 $
 


Index: llvm/lib/Target/SparcV8/SparcV8InstrInfo.td
diff -u llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.69 llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.70
--- llvm/lib/Target/SparcV8/SparcV8InstrInfo.td:1.69	Sat Dec 17 17:14:30 2005
+++ llvm/lib/Target/SparcV8/SparcV8InstrInfo.td	Sat Dec 17 17:20:27 2005
@@ -514,10 +514,24 @@
                  "fmovs $src, $dst", []>;
 def FNEGS : F3_3<2, 0b110100, 0b000000101, 
                  (ops FPRegs:$dst, FPRegs:$src),
-                 "fnegs $src, $dst", []>;
+                 "fnegs $src, $dst",
+                 [(set FPRegs:$dst, (fneg FPRegs:$src))]>;
 def FABSS : F3_3<2, 0b110100, 0b000001001, 
                  (ops FPRegs:$dst, FPRegs:$src),
-                 "fabss $src, $dst", []>;
+                 "fabss $src, $dst",
+                 [(set FPRegs:$dst, (fabs FPRegs:$src))]>;
+
+// Floating-point Square Root Instructions, p.145
+def FSQRTS : F3_3<2, 0b110100, 0b000101001, 
+                  (ops FPRegs:$dst, FPRegs:$src),
+                  "fsqrts $src, $dst",
+                  [(set FPRegs:$dst, (fsqrt FPRegs:$src))]>;
+def FSQRTD : F3_3<2, 0b110100, 0b000101010, 
+                  (ops DFPRegs:$dst, DFPRegs:$src),
+                  "fsqrtd $src, $dst",
+                  [(set DFPRegs:$dst, (fsqrt DFPRegs:$src))]>;
+
+
 
 // Floating-point Add and Subtract Instructions, p. 146
 def FADDS  : F3_3<2, 0b110100, 0b001000001,






More information about the llvm-commits mailing list