2 -- { dg-options "-fdump-tree-gimple" }
4 with VFA1_Pkg
; use VFA1_Pkg
;
10 function F
(I
: Int8_t
) return Int8_t
is
15 function F2
return Int8_t
is
17 return Int8_t
(Mixer1
(1).R
);
20 procedure P3
(I
: out Int8_t
) is
33 Temp
:= Mixer1
(1).R
+ Mixer2
(2).R
;
35 if Mixer1
(1).R
/= Mixer2
(2).R
then
39 Temp
:= F
(Mixer1
(1).R
);
40 Mixer2
(2).R
:= F
(Temp
);
42 Temp
:= F
(Mixer2
(2).R
);
43 Mixer1
(1).R
:= F
(Temp
);
50 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&vfa1_pkg__mixer1" 7 "gimple"} }
51 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&vfa1_pkg__mixer2" 7 "gimple"} }
52 -- { dg-final { scan-tree-dump-times "atomic_load\[^\n\r\]*&temp" 0 "gimple"} }
54 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&vfa1_pkg__mixer1" 2 "gimple"} }
55 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&vfa1_pkg__mixer2" 3 "gimple"} }
56 -- { dg-final { scan-tree-dump-times "atomic_store\[^\n\r\]*&temp" 0 "gimple"} }