xref: /illumos-gate/usr/src/tools/smatch/src/validation/fp-ops.c (revision 8e458de0baeb1fee50643403223bc7e909a48464)
1 double fadd(double x, double y) { return x + y; }
2 double fsub(double x, double y) { return x - y; }
3 double fmul(double x, double y) { return x * y; }
4 double fdiv(double x, double y) { return x / y; }
5 double fneg(double x)           { return -x; }
6 _Bool  ftst(double x)           { return !x; }
7 
8 /*
9  * check-name: floating-point ops
10  * check-command: test-linearize -Wno-decl $file
11 
12  * check-output-start
13 fadd:
14 .L0:
15 	<entry-point>
16 	fadd.64     %r3 <- %arg1, %arg2
17 	ret.64      %r3
18 
19 
20 fsub:
21 .L2:
22 	<entry-point>
23 	fsub.64     %r7 <- %arg1, %arg2
24 	ret.64      %r7
25 
26 
27 fmul:
28 .L4:
29 	<entry-point>
30 	fmul.64     %r11 <- %arg1, %arg2
31 	ret.64      %r11
32 
33 
34 fdiv:
35 .L6:
36 	<entry-point>
37 	fdiv.64     %r15 <- %arg1, %arg2
38 	ret.64      %r15
39 
40 
41 fneg:
42 .L8:
43 	<entry-point>
44 	fneg.64     %r18 <- %arg1
45 	ret.64      %r18
46 
47 
48 ftst:
49 .L10:
50 	<entry-point>
51 	setfval.64  %r21 <- 0.000000e+00
52 	fcmpoeq.1   %r23 <- %arg1, %r21
53 	ret.1       %r23
54 
55 
56  * check-output-end
57  */
58