1 #define	bool	_Bool
2 
bfimp(float a)3 bool bfimp(float a) { return a; }
bfexp(float a)4 bool bfexp(float a) { return (bool)a; }
5 
bfnot(float a)6 bool bfnot(float a) { return !a; }
ifnot(float a)7 int  ifnot(float a) { return !a; }
bfior(float a,float b)8 bool bfior(float a, float b) { return a || b; }
ifior(float a,float b)9 int  ifior(float a, float b) { return a || b; }
bfand(float a,float b)10 bool bfand(float a, float b) { return a && b; }
ifand(float a,float b)11 int  ifand(float a, float b) { return a && b; }
12 
13 /*
14  * check-name: bool context fp
15  * check-command: test-linearize -Wno-decl $file
16  *
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
24 
25 
26 bfexp:
27 .L2:
28 	<entry-point>
29 	setfval.32  %r6 <- 0.000000e+00
30 	fcmpune.1   %r7 <- %arg1, %r6
31 	ret.1       %r7
32 
33 
34 bfnot:
35 .L4:
36 	<entry-point>
37 	setfval.32  %r10 <- 0.000000e+00
38 	fcmpoeq.1   %r12 <- %arg1, %r10
39 	ret.1       %r12
40 
41 
42 ifnot:
43 .L6:
44 	<entry-point>
45 	setfval.32  %r15 <- 0.000000e+00
46 	fcmpoeq.32  %r16 <- %arg1, %r15
47 	ret.32      %r16
48 
49 
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
58 
59 
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
69 
70 
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
79 
80 
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
90 
91 
92  * check-output-end
93  */
94