-OoDEADSTORE takes on too much, chapter Ⅱ.
This code compiled with `-O4 -OoDEADSTORE` on something that uses min/max intrinsics (like `x86-64`, or `i386` with `-CfSSE3`):
- drops `minData := data[0]`,
- drops `maxData := data[0]` as well,
- and even drops the first copy of the unrolled loop body (with `i = 1`).
```pascal
var
data: array[0 .. 2] of single = (8, 7, 6);
minData, maxData: single;
i: SizeInt;
begin
minData := data[0];
maxData := data[0];
for i := 1 to High(data) do
begin
if data[i] < minData then minData := data[i];
if data[i] > maxData then maxData := data[i];
end;
writeln('min = ', minData:0:2, ' (must be 6), max = ', maxData:0:2, ' (must be 8).');
end.
```
```
min = 0.00 (must be 6), max = 6.00 (must be 8).
```
issue