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, _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits