A processor capable of fetching and executing variable length instructions
is described having instructions of at least two lengths. The processor
operates in multiple modes. One of the modes restricts instructions that
can be fetched and executed to the longer length instructions. An
instruction cache is used for storing variable length instructions and
their associated predecode bit fields in an instruction cache line and
storing the instruction address and processor operating mode state
information at the time of the fetch in a tag line. The processor
operating mode state information indicates the program specified mode of
operation of the processor. The processor fetches instructions from the
instruction cache for execution. As a result of an instruction fetch
operation, the instruction cache may selectively enable the writing of
predecode bit fields in the instruction cache and may selectively enable
the reading of predecode bit fields stored in the instruction cache based
on the processor state at the time of the fetch.