Revert r249123 - [mips][microMIPS] Fix an issue with selecting sqrt instruction in...
authorDaniel Sanders <daniel.sanders@imgtec.com>
Tue, 6 Oct 2015 15:13:16 +0000 (15:13 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Tue, 6 Oct 2015 15:13:16 +0000 (15:13 +0000)
The author was not credited and most of the commit message is missing. Will re-commit with this fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249415 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsInstrFPU.td
test/CodeGen/Mips/llvm-ir/sqrt.ll [deleted file]

index d1a72494433560da36e11e0bc0366bf91057baa1..9b9d5f6cc2e0d497d5010a5ec5245fea3bc7b51d 100644 (file)
@@ -353,8 +353,11 @@ def FNEG_S : MMRel, ABSS_FT<"neg.s", FGR32Opnd, FGR32Opnd, II_NEG, fneg>,
 defm FABS : ABSS_M<"abs.d", II_ABS, fabs>, ABSS_FM<0x5, 17>;
 defm FNEG : ABSS_M<"neg.d", II_NEG, fneg>, ABSS_FM<0x7, 17>;
 
-def FSQRT_S : MMRel, StdMMR6Rel, ABSS_FT<"sqrt.s", FGR32Opnd, FGR32Opnd,
-              II_SQRT_S, fsqrt>, ABSS_FM<0x4, 16>, ISA_MIPS2;
+let AdditionalPredicates = [NotInMicroMips] in {
+def FSQRT_S : MMRel, ABSS_FT<"sqrt.s", FGR32Opnd, FGR32Opnd, II_SQRT_S, fsqrt>,
+              ABSS_FM<0x4, 16>, ISA_MIPS2;
+}
+
 defm FSQRT : ABSS_M<"sqrt.d", II_SQRT_D, fsqrt>, ABSS_FM<0x4, 17>, ISA_MIPS2;
 
 // The odd-numbered registers are only referenced when doing loads,
diff --git a/test/CodeGen/Mips/llvm-ir/sqrt.ll b/test/CodeGen/Mips/llvm-ir/sqrt.ll
deleted file mode 100644 (file)
index 1a8892d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-; RUN: llc < %s -march=mipsel -mcpu=mips32r2 -mattr=+micromips | FileCheck %s
-; RUN: llc < %s -march=mips -mcpu=mips32r2 -mattr=+micromips | FileCheck %s
-; RUN: llc < %s -march=mips -mcpu=mips32r6 -mattr=+micromips | FileCheck %s
-
-define float @sqrt_fn(float %value) #0 {
-entry:
-  %sqrtf = tail call float @sqrtf(float %value) #0
-  ret float %sqrtf
-}
-
-declare float @sqrtf(float)
-
-; CHECK: sqrt.s $f0, $f12