A common fuel injection amount is calculated for the cylinders of a first
cylinder group, which performs a rich burn process, and the cylinders of
a second cylinder group, which performs a lean burn process. The
calculated fuel injection amount is corrected with an air-fuel ratio
learning value that is acquired beforehand during a stoichiometric
operation. Intake valve lift amounts for the cylinders of the first and
second cylinder groups are calculated in accordance with an engine speed
and engine load. In compliance with the calculated values, a variable
valve mechanism is driven, and fuel is ignited. When performing sulfur
poisoning recovery of the Ox catalyst, the exhaust air fuel ratio control
means change the intake air amount for each cylinder while providing
substantially the same fuel injection amount for all cylinders.