From 543f70b0405165a98816c6e0b87349c38385cd40 Mon Sep 17 00:00:00 2001 From: Daniel Sanders Date: Mon, 14 Jul 2014 12:41:31 +0000 Subject: [mips] Use MFHC1 when it is available (MIPS32r2 and later) for both FP32 and FP64 moves Summary: This is similar to r210771 which did the same thing for MTHC1. Also corrected MTHC1_D32 and MTHC1_D64 which used AFGR64 and FGR64 on the wrong definitions. Differential Revision: http://reviews.llvm.org/D4483 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212936 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/Mips/buildpairextractelementf64.ll | 34 +++++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'test/CodeGen/Mips/buildpairextractelementf64.ll') diff --git a/test/CodeGen/Mips/buildpairextractelementf64.ll b/test/CodeGen/Mips/buildpairextractelementf64.ll index 88d1d07e29a..7682a98ace9 100644 --- a/test/CodeGen/Mips/buildpairextractelementf64.ll +++ b/test/CodeGen/Mips/buildpairextractelementf64.ll @@ -1,15 +1,19 @@ -; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=FP32 -check-prefix=CHECK -; RUN: llc -march=mips < %s | FileCheck %s -check-prefix=FP32 -check-prefix=CHECK -; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=+fp64 < %s | FileCheck %s -check-prefix=FP64 -check-prefix=CHECK -; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+fp64 < %s | FileCheck %s -check-prefix=FP64 -check-prefix=CHECK +; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefix=NO-MFHC1 -check-prefix=ALL +; RUN: llc -march=mips < %s | FileCheck %s -check-prefix=NO-MFHC1 -check-prefix=ALL +; RUN: llc -march=mipsel -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=HAS-MFHC1 -check-prefix=ALL +; RUN: llc -march=mips -mcpu=mips32r2 < %s | FileCheck %s -check-prefix=HAS-MFHC1 -check-prefix=ALL +; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=+fp64 < %s | FileCheck %s -check-prefix=HAS-MFHC1 -check-prefix=ALL +; RUN: llc -march=mips -mcpu=mips32r2 -mattr=+fp64 < %s | FileCheck %s -check-prefix=HAS-MFHC1 -check-prefix=ALL @a = external global i32 -; CHECK-LABEL: f: -; FP32: mtc1 -; FP32: mtc1 -; FP64-DAG: mtc1 -; FP64-DAG: mthc1 +; ALL-LABEL: f: + +; NO-MFHC1: mtc1 +; NO-MFHC1: mtc1 + +; HAS-MFHC1-DAG: mtc1 +; HAS-MFHC1-DAG: mthc1 define double @f(i32 %a1, double %d) nounwind { entry: @@ -18,11 +22,13 @@ entry: ret double %add } -; CHECK-LABEL: f3: -; FP32: mfc1 -; FP32: mfc1 -; FP64-DAG: mfc1 -; FP64-DAG: mfhc1 +; ALL-LABEL: f3: + +; NO-MFHC1: mfc1 +; NO-MFHC1: mfc1 + +; HAS-MFHC1-DAG: mfc1 +; HAS-MFHC1-DAG: mfhc1 define void @f3(double %d, i32 %a1) nounwind { entry: -- cgit v1.2.3