db/fixup_kernel.sh: fix clear_user() handling
[smatch.git] / validation / optim / bool-context-fp.c
blobc41370ba4a8c0e2036782e8339591d59c8226482
1 #define bool _Bool
3 bool bfimp(float a) { return a; }
4 bool bfexp(float a) { return (bool)a; }
6 bool bfnot(float a) { return !a; }
7 int ifnot(float a) { return !a; }
8 bool bfior(float a, float b) { return a || b; }
9 int ifior(float a, float b) { return a || b; }
10 bool bfand(float a, float b) { return a && b; }
11 int ifand(float a, float b) { return a && b; }
14 * check-name: bool context fp
15 * check-command: test-linearize -Wno-decl $file
17 * check-output-start
18 bfimp:
19 .L0:
20 <entry-point>
21 setfval.32 %r2 <- 0.000000e+00
22 fcmpune.1 %r3 <- %arg1, %r2
23 ret.1 %r3
26 bfexp:
27 .L2:
28 <entry-point>
29 setfval.32 %r6 <- 0.000000e+00
30 fcmpune.1 %r7 <- %arg1, %r6
31 ret.1 %r7
34 bfnot:
35 .L4:
36 <entry-point>
37 setfval.32 %r10 <- 0.000000e+00
38 fcmpoeq.1 %r12 <- %arg1, %r10
39 ret.1 %r12
42 ifnot:
43 .L6:
44 <entry-point>
45 setfval.32 %r15 <- 0.000000e+00
46 fcmpoeq.32 %r16 <- %arg1, %r15
47 ret.32 %r16
50 bfior:
51 .L8:
52 <entry-point>
53 setfval.32 %r19 <- 0.000000e+00
54 fcmpune.1 %r20 <- %arg1, %r19
55 fcmpune.1 %r23 <- %arg2, %r19
56 or.1 %r24 <- %r20, %r23
57 ret.1 %r24
60 ifior:
61 .L10:
62 <entry-point>
63 setfval.32 %r29 <- 0.000000e+00
64 fcmpune.1 %r30 <- %arg1, %r29
65 fcmpune.1 %r33 <- %arg2, %r29
66 or.1 %r34 <- %r30, %r33
67 zext.32 %r35 <- (1) %r34
68 ret.32 %r35
71 bfand:
72 .L12:
73 <entry-point>
74 setfval.32 %r38 <- 0.000000e+00
75 fcmpune.1 %r39 <- %arg1, %r38
76 fcmpune.1 %r42 <- %arg2, %r38
77 and.1 %r43 <- %r39, %r42
78 ret.1 %r43
81 ifand:
82 .L14:
83 <entry-point>
84 setfval.32 %r48 <- 0.000000e+00
85 fcmpune.1 %r49 <- %arg1, %r48
86 fcmpune.1 %r52 <- %arg2, %r48
87 and.1 %r53 <- %r49, %r52
88 zext.32 %r54 <- (1) %r53
89 ret.32 %r54
92 * check-output-end