mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-04 06:26:28 +00:00
[PPC] Adjust some PowerPC tests to account for presence/absence of VSX
Patch by Bill Seurer; committed on his behalf. These test cases generate slightly different code sequences when VSX is activated and thus fail. The update turns off VSX explicitly for the existing checks and then adds a second set of checks for most of them that test the VSX instruction output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220019 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 | FileCheck %s
|
||||
; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=-vsx < %s | FileCheck %s
|
||||
; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -mattr=+vsx < %s | FileCheck -check-prefix=CHECK-VSX %s
|
||||
target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"
|
||||
target triple = "powerpc64-unknown-linux-gnu"
|
||||
|
||||
@@ -8,6 +9,8 @@ define float @test1(float %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test1:
|
||||
; CHECK: frim 1, 1
|
||||
; CHECK-VSX-LABEL: test1:
|
||||
; CHECK-VSX: frim 1, 1
|
||||
}
|
||||
|
||||
declare float @floorf(float) nounwind readnone
|
||||
@@ -18,6 +21,8 @@ define double @test2(double %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test2:
|
||||
; CHECK: frim 1, 1
|
||||
; CHECK-VSX-LABEL: test2:
|
||||
; CHECK-VSX: xsrdpim 1, 1
|
||||
}
|
||||
|
||||
declare double @floor(double) nounwind readnone
|
||||
@@ -28,6 +33,8 @@ define float @test3(float %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test3:
|
||||
; CHECK: frin 1, 1
|
||||
; CHECK-VSX-LABEL: test3:
|
||||
; CHECK-VSX: frin 1, 1
|
||||
}
|
||||
|
||||
declare float @roundf(float) nounwind readnone
|
||||
@@ -38,6 +45,8 @@ define double @test4(double %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test4:
|
||||
; CHECK: frin 1, 1
|
||||
; CHECK-VSX-LABEL: test4:
|
||||
; CHECK-VSX: xsrdpi 1, 1
|
||||
}
|
||||
|
||||
declare double @round(double) nounwind readnone
|
||||
@@ -48,6 +57,8 @@ define float @test5(float %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test5:
|
||||
; CHECK: frip 1, 1
|
||||
; CHECK-VSX-LABEL: test5:
|
||||
; CHECK-VSX: frip 1, 1
|
||||
}
|
||||
|
||||
declare float @ceilf(float) nounwind readnone
|
||||
@@ -58,6 +69,8 @@ define double @test6(double %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test6:
|
||||
; CHECK: frip 1, 1
|
||||
; CHECK-VSX-LABEL: test6:
|
||||
; CHECK-VSX: xsrdpip 1, 1
|
||||
}
|
||||
|
||||
declare double @ceil(double) nounwind readnone
|
||||
@@ -68,6 +81,8 @@ define float @test9(float %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test9:
|
||||
; CHECK: friz 1, 1
|
||||
; CHECK-VSX-LABEL: test9:
|
||||
; CHECK-VSX: friz 1, 1
|
||||
}
|
||||
|
||||
declare float @truncf(float) nounwind readnone
|
||||
@@ -78,6 +93,8 @@ define double @test10(double %x) nounwind {
|
||||
|
||||
; CHECK-LABEL: test10:
|
||||
; CHECK: friz 1, 1
|
||||
; CHECK-VSX-LABEL: test10:
|
||||
; CHECK-VSX: xsrdpiz 1, 1
|
||||
}
|
||||
|
||||
declare double @trunc(double) nounwind readnone
|
||||
|
Reference in New Issue
Block a user