]> granicus.if.org Git - llvm/commitdiff
[NFC][PowerPC] Fast-isel VSX support test
authorJinsong Ji <jji@us.ibm.com>
Thu, 19 Sep 2019 18:18:18 +0000 (18:18 +0000)
committerJinsong Ji <jji@us.ibm.com>
Thu, 19 Sep 2019 18:18:18 +0000 (18:18 +0000)
We have fixed most of the VSX limitation in Fast-isel,
so we can remove the -mattr=-vsx for most testcases now.

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

test/CodeGen/PowerPC/fast-isel-call.ll
test/CodeGen/PowerPC/fast-isel-const.ll
test/CodeGen/PowerPC/fast-isel-load-store.ll
test/CodeGen/PowerPC/fast-isel-ret.ll

index 8823beb96844b841af220743cd9aca6ca7443f5d..d3a1bea87d1317db113e78c6866ad65e2ca071cb 100644 (file)
@@ -1,8 +1,4 @@
-; FIXME: FastISel currently returns false if it hits code that uses VSX
-; registers and with -fast-isel-abort=1 turned on the test case will then fail.
-; When fastisel better supports VSX fix up this test case.
-;
-; RUN: llc < %s -O0 -relocation-model=pic -verify-machineinstrs -mattr=-vsx -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -ppc-late-peephole=true | FileCheck %s --check-prefix=ELF64
+; RUN: llc < %s -O0 -relocation-model=pic -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -ppc-late-peephole=true | FileCheck %s --check-prefix=ELF64
 
 define i32 @t1(i8 signext %a) nounwind {
   %1 = sext i8 %a to i32
index 3987e54a8d1b605c22a9e046e8e52342ac32f162..c0b9fe43926a7211dd47116e48543d05cb95f2d4 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=-vsx | FileCheck %s --check-prefix=ELF64
+; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64
 
 define zeroext i1 @testi1(i8 %in) nounwind {
 entry:
index 80a733c5da8d96c23b3252a29e5f2f9b779224ad..cb9e1c9256d543d3d0273fc637b1dd55c9568b68 100644 (file)
@@ -1,8 +1,5 @@
-; FIXME: FastISel currently returns false if it hits code that uses VSX
-; registers and with -fast-isel-abort=1 turned on the test case will then fail.
-; When fastisel better supports VSX fix up this test case.
-;
 ; RUN: llc -relocation-model=static < %s -O0 -verify-machineinstrs -fast-isel -fast-isel-abort=1 -mattr=-vsx -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64
+; RUN: llc -relocation-model=static < %s -O0 -verify-machineinstrs -fast-isel -fast-isel-abort=1 -mattr=+vsx -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=VSX
 ; RUN: llc -relocation-model=static < %s -O0 -verify-machineinstrs -fast-isel -fast-isel-abort=1 -mattr=spe  -mtriple=powerpc-unknown-linux-gnu -mcpu=e500 | FileCheck %s --check-prefix=SPE
 
 ; This test verifies that load/store instructions are properly generated,
@@ -78,9 +75,11 @@ define double @t6() nounwind {
 ; SPE: t6
   %1 = load double, double* @f, align 8
 ; ELF64: lfd
+; VSX: lxsdx
 ; SPE: evldd
   %2 = fadd double %1, 1.0
 ; ELF64: fadd
+; VSX: xsadddp
 ; SPE: efdadd
   ret double %2
 }
@@ -150,6 +149,8 @@ define void @t12(double %v) nounwind {
   store double %1, double* @f, align 8
 ; ELF64: fadd
 ; ELF64: stfd
+; VSX: xsadddp
+; VSX: stxsdx
 ; SPE: efdadd
 ; SPE: evstdd
   ret void
index 4c499e44e4f04cf24f57ee906e21a6e2e6d8d74b..5fe786129b574620ecacd695ce8f6ce16d16a957 100644 (file)
@@ -1,8 +1,4 @@
-; FIXME: FastISel currently returns false if it hits code that uses VSX
-; registers and with -fast-isel-abort=1 turned on the test case will then fail.
-; When fastisel better supports VSX fix up this test case.
-;
-; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=-vsx | FileCheck %s --check-prefix=ELF64
+; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64
 
 define zeroext i1 @rettrue() nounwind {
 entry: