diff options
author | Torok Edwin <edwintorok@gmail.com> | 2009-02-01 18:24:20 +0000 |
---|---|---|
committer | Torok Edwin <edwintorok@gmail.com> | 2009-02-01 18:24:20 +0000 |
commit | 0c3c0214bc893344198722a7d2bd148f3dcd6469 (patch) | |
tree | a48e9d8717ae91d2d7fbf3ab579bdd74ef9f2e35 /test/CodeGen | |
parent | 3f142c36ad04c1aabac90df6a866bd2b0767f24f (diff) | |
download | external_llvm-0c3c0214bc893344198722a7d2bd148f3dcd6469.zip external_llvm-0c3c0214bc893344198722a7d2bd148f3dcd6469.tar.gz external_llvm-0c3c0214bc893344198722a7d2bd148f3dcd6469.tar.bz2 |
add 2 more testcases for -mattr=-sse (r63495).
--This line, and those below, will be ignaored--
A test/CodeGen/X86/nosse-error1.ll
A test/CodeGen/X86/nosse-error2.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63496 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r-- | test/CodeGen/X86/nosse-error1.ll | 33 | ||||
-rw-r--r-- | test/CodeGen/X86/nosse-error2.ll | 33 |
2 files changed, 66 insertions, 0 deletions
diff --git a/test/CodeGen/X86/nosse-error1.ll b/test/CodeGen/X86/nosse-error1.ll new file mode 100644 index 0000000..16cbb73 --- /dev/null +++ b/test/CodeGen/X86/nosse-error1.ll @@ -0,0 +1,33 @@ +; RUN: llvm-as < %s > %t1 +; RUN: not llc -march=x86-64 -mattr=-sse < %t1 2> %t2 +; RUN: grep "SSE register return with SSE disabled" %t2 +; RUN: llc -march=x86-64 < %t1 | grep xmm +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-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" +target triple = "x86_64-unknown-linux-gnu" +@f = external global float ; <float*> [#uses=4] +@d = external global double ; <double*> [#uses=4] + +define void @test() nounwind { +entry: + %0 = load float* @f, align 4 ; <float> [#uses=1] + %1 = tail call float @foo1(float %0) nounwind ; <float> [#uses=1] + store float %1, float* @f, align 4 + %2 = load double* @d, align 8 ; <double> [#uses=1] + %3 = tail call double @foo2(double %2) nounwind ; <double> [#uses=1] + store double %3, double* @d, align 8 + %4 = load float* @f, align 4 ; <float> [#uses=1] + %5 = tail call float @foo3(float %4) nounwind ; <float> [#uses=1] + store float %5, float* @f, align 4 + %6 = load double* @d, align 8 ; <double> [#uses=1] + %7 = tail call double @foo4(double %6) nounwind ; <double> [#uses=1] + store double %7, double* @d, align 8 + ret void +} + +declare float @foo1(float) + +declare double @foo2(double) + +declare float @foo3(float) + +declare double @foo4(double) diff --git a/test/CodeGen/X86/nosse-error2.ll b/test/CodeGen/X86/nosse-error2.ll new file mode 100644 index 0000000..45a5eaf --- /dev/null +++ b/test/CodeGen/X86/nosse-error2.ll @@ -0,0 +1,33 @@ +; RUN: llvm-as < %s > %t1 +; RUN: not llc -march=x86 -mcpu=i686 -mattr=-sse < %t1 2> %t2 +; RUN: grep "SSE register return with SSE disabled" %t2 +; RUN: llc -march=x86 -mcpu=i686 -mattr=+sse < %t1 | grep xmm +target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" +target triple = "i386-unknown-linux-gnu" +@f = external global float ; <float*> [#uses=4] +@d = external global double ; <double*> [#uses=4] + +define void @test() nounwind { +entry: + %0 = load float* @f, align 4 ; <float> [#uses=1] + %1 = tail call inreg float @foo1(float inreg %0) nounwind ; <float> [#uses=1] + store float %1, float* @f, align 4 + %2 = load double* @d, align 8 ; <double> [#uses=1] + %3 = tail call inreg double @foo2(double inreg %2) nounwind ; <double> [#uses=1] + store double %3, double* @d, align 8 + %4 = load float* @f, align 4 ; <float> [#uses=1] + %5 = tail call inreg float @foo3(float inreg %4) nounwind ; <float> [#uses=1] + store float %5, float* @f, align 4 + %6 = load double* @d, align 8 ; <double> [#uses=1] + %7 = tail call inreg double @foo4(double inreg %6) nounwind ; <double> [#uses=1] + store double %7, double* @d, align 8 + ret void +} + +declare inreg float @foo1(float inreg) + +declare inreg double @foo2(double inreg) + +declare inreg float @foo3(float inreg) + +declare inreg double @foo4(double inreg) |