mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[NFC][PowerPC] Fast-isel VSX support test
We have fixed most of the VSX limitation in Fast-isel, so we can remove the -mattr=-vsx for most testcases now. llvm-svn: 372345
This commit is contained in:
parent
0d2758f267
commit
8695739f8c
@ -1,8 +1,4 @@
|
|||||||
; FIXME: FastISel currently returns false if it hits code that uses VSX
|
; 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
|
||||||
; 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
|
|
||||||
|
|
||||||
define i32 @t1(i8 signext %a) nounwind {
|
define i32 @t1(i8 signext %a) nounwind {
|
||||||
%1 = sext i8 %a to i32
|
%1 = sext i8 %a to i32
|
||||||
|
@ -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 {
|
define zeroext i1 @testi1(i8 %in) nounwind {
|
||||||
entry:
|
entry:
|
||||||
|
@ -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=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
|
; 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,
|
; This test verifies that load/store instructions are properly generated,
|
||||||
@ -78,9 +75,11 @@ define double @t6() nounwind {
|
|||||||
; SPE: t6
|
; SPE: t6
|
||||||
%1 = load double, double* @f, align 8
|
%1 = load double, double* @f, align 8
|
||||||
; ELF64: lfd
|
; ELF64: lfd
|
||||||
|
; VSX: lxsdx
|
||||||
; SPE: evldd
|
; SPE: evldd
|
||||||
%2 = fadd double %1, 1.0
|
%2 = fadd double %1, 1.0
|
||||||
; ELF64: fadd
|
; ELF64: fadd
|
||||||
|
; VSX: xsadddp
|
||||||
; SPE: efdadd
|
; SPE: efdadd
|
||||||
ret double %2
|
ret double %2
|
||||||
}
|
}
|
||||||
@ -150,6 +149,8 @@ define void @t12(double %v) nounwind {
|
|||||||
store double %1, double* @f, align 8
|
store double %1, double* @f, align 8
|
||||||
; ELF64: fadd
|
; ELF64: fadd
|
||||||
; ELF64: stfd
|
; ELF64: stfd
|
||||||
|
; VSX: xsadddp
|
||||||
|
; VSX: stxsdx
|
||||||
; SPE: efdadd
|
; SPE: efdadd
|
||||||
; SPE: evstdd
|
; SPE: evstdd
|
||||||
ret void
|
ret void
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
; FIXME: FastISel currently returns false if it hits code that uses VSX
|
; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s --check-prefix=ELF64
|
||||||
; 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
|
|
||||||
|
|
||||||
define zeroext i1 @rettrue() nounwind {
|
define zeroext i1 @rettrue() nounwind {
|
||||||
entry:
|
entry:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user