| # RUN: llvm-mc %s -triple=mipsel -show-encoding -show-inst -mcpu=mips32r2 \ |
| # RUN: -mattr=+micromips,+eva | FileCheck -check-prefix=CHECK-EL %s |
| # RUN: llvm-mc %s -triple=mips -show-encoding -show-inst -mcpu=mips32r2 \ |
| # RUN: -mattr=+micromips,+eva | FileCheck -check-prefix=CHECK-EB %s |
| # Check that the assembler can handle the documented syntax |
| # for EVA instructions. |
| #------------------------------------------------------------------------------ |
| # microMIPS EVA Instructions |
| #------------------------------------------------------------------------------ |
| # Little endian |
| #------------------------------------------------------------------------------ |
| # CHECK-EL: prefe 1, 8($5) # encoding: [0x25,0x60,0x08,0xa4] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} PREFE_MM |
| # CHECK-EL: cachee 1, 8($5) # encoding: [0x25,0x60,0x08,0xa6] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CACHEE_MM |
| # CHECK-EL: lle $2, 8($4) # encoding: [0x44,0x60,0x08,0x6c] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LLE_MM |
| # CHECK-EL: sce $2, 8($4) # encoding: [0x44,0x60,0x08,0xac] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} SCE_MM |
| # CHECK-EL: swre $24, 5($3) # encoding: [0x03,0x63,0x05,0xa2] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} SWRE_MM |
| # CHECK-EL: swle $24, 5($3) # encoding: [0x03,0x63,0x05,0xa0] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} SWLE_MM |
| # CHECK-EL: lwre $24, 5($3) # encoding: [0x03,0x63,0x05,0x66] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LWRE_MM |
| # CHECK-EL: lwle $24, 2($4) # encoding: [0x04,0x63,0x02,0x64] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LWLE_MM |
| # CHECK-EL: lhue $4, 8($2) # encoding: [0x82,0x60,0x08,0x62] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LHuE_M |
| # CHECK-EL: lbe $4, 8($2) # encoding: [0x82,0x60,0x08,0x68] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LBE_MM |
| # CHECK-EL: lbue $4, 8($2) # encoding: [0x82,0x60,0x08,0x60] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LBuE_MM |
| # CHECK-EL: lhe $4, 8($2) # encoding: [0x82,0x60,0x08,0x6a] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LHE_MM |
| # CHECK-EL: lwe $4, 8($2) # encoding: [0x82,0x60,0x08,0x6e] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} LWE_MM |
| # CHECK-EL: sbe $5, 8($4) # encoding: [0xa4,0x60,0x08,0xa8] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} SBE_MM |
| # CHECK-EL: she $5, 8($4) # encoding: [0xa4,0x60,0x08,0xaa] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} SHE_MM |
| # CHECK-EL: swe $5, 8($4) # encoding: [0xa4,0x60,0x08,0xae] |
| # CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} SWE_MM |
| #------------------------------------------------------------------------------ |
| # Big endian |
| #------------------------------------------------------------------------------ |
| # CHECK-EB: prefe 1, 8($5) # encoding: [0x60,0x25,0xa4,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} PREFE_MM |
| # CHECK-EB: cachee 1, 8($5) # encoding: [0x60,0x25,0xa6,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CACHEE_MM |
| # CHECK-EB: lle $2, 8($4) # encoding: [0x60,0x44,0x6c,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LLE_MM |
| # CHECK-EB: sce $2, 8($4) # encoding: [0x60,0x44,0xac,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} SCE_MM |
| # CHECK-EB: swre $24, 5($3) # encoding: [0x63,0x03,0xa2,0x05] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} SWRE_MM |
| # CHECK-EB: swle $24, 5($3) # encoding: [0x63,0x03,0xa0,0x05] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} SWLE_MM |
| # CHECK-EB: lwre $24, 5($3) # encoding: [0x63,0x03,0x66,0x05] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LWRE_MM |
| # CHECK-EB: lwle $24, 2($4) # encoding: [0x63,0x04,0x64,0x02] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LWLE_MM |
| # CHECK-EB: lhue $4, 8($2) # encoding: [0x60,0x82,0x62,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LHuE_MM |
| # CHECK-EB: lbe $4, 8($2) # encoding: [0x60,0x82,0x68,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LBE_MM |
| # CHECK-EB: lbue $4, 8($2) # encoding: [0x60,0x82,0x60,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LBuE_MM |
| # CHECK-EB: lhe $4, 8($2) # encoding: [0x60,0x82,0x6a,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LHE_MM |
| # CHECK-EB: lwe $4, 8($2) # encoding: [0x60,0x82,0x6e,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} LWE_MM |
| # CHECK-EB: sbe $5, 8($4) # encoding: [0x60,0xa4,0xa8,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} SBE_MM |
| # CHECK-EB: she $5, 8($4) # encoding: [0x60,0xa4,0xaa,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} SHE_MM |
| # CHECK-EB: swe $5, 8($4) # encoding: [0x60,0xa4,0xae,0x08] |
| # CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} SWE_MM |
| |
| prefe 1, 8($5) |
| cachee 1, 8($5) |
| lle $2, 8($4) |
| sce $2, 8($4) |
| swre $24, 5($3) |
| swle $24, 5($3) |
| lwre $24, 5($3) |
| lwle $24, 2($4) |
| lhue $4, 8($2) |
| lbe $4, 8($2) |
| lbue $4, 8($2) |
| lhe $4, 8($2) |
| lwe $4, 8($2) |
| sbe $5, 8($4) |
| she $5, 8($4) |
| swe $5, 8($4) |
| |