From f89cc655ab27bab517751f010c15fbe2ae1051d8 Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Fri, 18 Jun 2004 06:28:10 +0000 Subject: [PATCH] Fix jmpl. Add some FP moves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14225 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Sparc/SparcInstrInfo.td | 10 +++++++--- lib/Target/SparcV8/SparcV8InstrInfo.td | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/Target/Sparc/SparcInstrInfo.td b/lib/Target/Sparc/SparcInstrInfo.td index aa423f109a7..24b741c77a8 100644 --- a/lib/Target/Sparc/SparcInstrInfo.td +++ b/lib/Target/Sparc/SparcInstrInfo.td @@ -161,11 +161,15 @@ def CALL : InstV8 { } // Section B.25 - Jump and Link, p. 126 -// FIXME: are they to be used as branches, calls, or returns? (not used now) -def JMPLrr : F3_1<2, 0b111000, "jmpl">; // jmpl [rs1+rs2], rd -def JMPLri : F3_2<2, 0b111000, "jmpl">; // jmpl [rs1+imm], rd +let isCall = 1 in + def JMPLrr : F3_1<2, 0b111000, "jmpl">; // jmpl [rs1+rs2], rd // Section B.29 - Write State Register Instructions def WRrr : F3_1<2, 0b110000, "wr">; // wr rs1, rs2, rd def WRri : F3_2<2, 0b110000, "wr">; // wr rs1, imm, rd +// Floating-point Move Instructions, p. 144 +def FMOVS : F3_3<2, 0b110100, 0b000000001, "fmovs">; +def FNEGS : F3_3<2, 0b110100, 0b000000101, "fnegs">; +def FABSS : F3_3<2, 0b110100, 0b000001001, "fabss">; + diff --git a/lib/Target/SparcV8/SparcV8InstrInfo.td b/lib/Target/SparcV8/SparcV8InstrInfo.td index aa423f109a7..24b741c77a8 100644 --- a/lib/Target/SparcV8/SparcV8InstrInfo.td +++ b/lib/Target/SparcV8/SparcV8InstrInfo.td @@ -161,11 +161,15 @@ def CALL : InstV8 { } // Section B.25 - Jump and Link, p. 126 -// FIXME: are they to be used as branches, calls, or returns? (not used now) -def JMPLrr : F3_1<2, 0b111000, "jmpl">; // jmpl [rs1+rs2], rd -def JMPLri : F3_2<2, 0b111000, "jmpl">; // jmpl [rs1+imm], rd +let isCall = 1 in + def JMPLrr : F3_1<2, 0b111000, "jmpl">; // jmpl [rs1+rs2], rd // Section B.29 - Write State Register Instructions def WRrr : F3_1<2, 0b110000, "wr">; // wr rs1, rs2, rd def WRri : F3_2<2, 0b110000, "wr">; // wr rs1, imm, rd +// Floating-point Move Instructions, p. 144 +def FMOVS : F3_3<2, 0b110100, 0b000000001, "fmovs">; +def FNEGS : F3_3<2, 0b110100, 0b000000101, "fnegs">; +def FABSS : F3_3<2, 0b110100, 0b000001001, "fabss">; +