diff options
| author | Duncan Sands <baldrick@free.fr> | 2012-04-10 08:22:43 +0000 |
|---|---|---|
| committer | Duncan Sands <baldrick@free.fr> | 2012-04-10 08:22:43 +0000 |
| commit | af06b26c8ebc81de6b3e8337f8e5d501b89276d3 (patch) | |
| tree | cac26ab0676d908cf2ee28f2d1a718d3739b6e58 /llvm/test/Verifier | |
| parent | 4442bfe55931923ae829c22e99de658b2b210436 (diff) | |
| download | bcm5719-llvm-af06b26c8ebc81de6b3e8337f8e5d501b89276d3.tar.gz bcm5719-llvm-af06b26c8ebc81de6b3e8337f8e5d501b89276d3.zip | |
Express the number of ULPs in fpaccuracy metadata as a real rather than a
rational number, eg as 2.5 rather than 5, 2. OK'd by Peter Collingbourne.
llvm-svn: 154387
Diffstat (limited to 'llvm/test/Verifier')
| -rw-r--r-- | llvm/test/Verifier/fpaccuracy.ll | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/test/Verifier/fpaccuracy.ll b/llvm/test/Verifier/fpaccuracy.ll new file mode 100644 index 00000000000..2fefde09f18 --- /dev/null +++ b/llvm/test/Verifier/fpaccuracy.ll @@ -0,0 +1,31 @@ +; RUN: not llvm-as < %s |& FileCheck %s + +define void @foo(i32 %i, float %f, <2 x float> %g) { + %s = add i32 %i, %i, !fpaccuracy !0 +; CHECK: fpaccuracy requires a floating point result! + %t = fadd float %f, %f, !fpaccuracy !1 +; CHECK: fpaccuracy takes one operand! + %u = fadd float %f, %f, !fpaccuracy !2 +; CHECK: fpaccuracy takes one operand! + %v = fadd float %f, %f, !fpaccuracy !3 +; CHECK: fpaccuracy ULPs not a floating point number! + %w = fadd float %f, %f, !fpaccuracy !0 +; Above line is correct. + %w2 = fadd <2 x float> %g, %g, !fpaccuracy !0 +; Above line is correct. + %x = fadd float %f, %f, !fpaccuracy !4 +; CHECK: fpaccuracy ULPs is negative! + %y = fadd float %f, %f, !fpaccuracy !5 +; CHECK: fpaccuracy ULPs is negative! + %z = fadd float %f, %f, !fpaccuracy !6 +; CHECK: fpaccuracy ULPs not a normal number! + ret void +} + +!0 = metadata !{ float 1.0 } +!1 = metadata !{ } +!2 = metadata !{ float 1.0, float 1.0 } +!3 = metadata !{ i32 1 } +!4 = metadata !{ float -1.0 } +!5 = metadata !{ float -0.0 } +!6 = metadata !{ float 0x7FFFFFFF00000000 } |

