1. A method for decompressing instructions, the method comprising: fetching compressed instructions from a memory, wherein each compressed instruction comprises an X-index and a Y-index; fetching for each compressed instruction two lines of X-bit patterns from an X memory using the X-index masked for two line access and two lines of Y-bit patterns from a Y memory using the Y-index masked for two line access, wherein the two lines of patterns are fetched to access to patterns that span across two lines; selecting an X-bit pattern from the fetched two lines of X-bit patterns according to the X-index and selecting a Y-bit pattern from the fetched two lines of Y-bit patterns according to the Y-index; and combining bits of the X-bit pattern with bits of the Y-bit pattern based on a mix mask associated with each compressed instruction into a decompressed instruction, wherein a format length of the decompressed instruction is determined by the associated mix mask and the mix mask, associated with each compressed instruction, is identified from an attribute stored in a translation look aside buffer (TLB) entry at an address of each compressed instruction, wherein the TLB entry is used to translate a virtual address to a physical address.