summaryrefslogtreecommitdiffstats
path: root/llvm/test/Verifier
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2012-04-10 08:22:43 +0000
committerDuncan Sands <baldrick@free.fr>2012-04-10 08:22:43 +0000
commitaf06b26c8ebc81de6b3e8337f8e5d501b89276d3 (patch)
treecac26ab0676d908cf2ee28f2d1a718d3739b6e58 /llvm/test/Verifier
parent4442bfe55931923ae829c22e99de658b2b210436 (diff)
downloadbcm5719-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.ll31
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 }
OpenPOWER on IntegriCloud