Having two identical conditions within an if / elsif conditional statement is likely a
bug (coming, for instance, from a copy/paste).
if (s1 = '0' and s2 = '1') then -- Noncompliant: The last condition is the same q <= 1; elsif (s1 = 0 and s2 = '0') then q <= 0; elsif (s1 = '0' and s2 = '1') then q <= 0; end if;
if (s1 = '1' and s2 = '1') then q <= 1; elsif (s1 = 0 and s2 = '0') then q <= 0; elsif (s1 = '0' and s2 = '1') then q <= 0; end if;