409 lines · plain
1# RUN: llvm-mc %s -triple=mipsel -show-encoding -show-inst -mattr=micromips \2# RUN: -mcpu=mips32r2 | FileCheck -check-prefix=CHECK-EL %s3# RUN: llvm-mc %s -triple=mips -show-encoding -show-inst -mattr=micromips \4# RUN: -mcpu=mips32r2 | FileCheck -check-prefix=CHECK-EB %s5# Check that the assembler can handle the documented syntax6# for fpu instructions7#------------------------------------------------------------------------------8# FPU Instructions9#------------------------------------------------------------------------------10# Little endian11#------------------------------------------------------------------------------12# CHECK-EL: add.s $f4, $f6, $f8 # encoding: [0x06,0x55,0x30,0x20]13# CHECK-EL: add.d $f4, $f6, $f8 # encoding: [0x06,0x55,0x30,0x21]14# CHECK-EL: div.s $f4, $f6, $f8 # encoding: [0x06,0x55,0xf0,0x20]15# CHECK-EL: div.d $f4, $f6, $f8 # encoding: [0x06,0x55,0xf0,0x21]16# CHECK-EL: mul.s $f4, $f6, $f8 # encoding: [0x06,0x55,0xb0,0x20]17# CHECK-EL: mul.d $f4, $f6, $f8 # encoding: [0x06,0x55,0xb0,0x21]18# CHECK-EL: sub.s $f4, $f6, $f8 # encoding: [0x06,0x55,0x70,0x20]19# CHECK-EL: sub.d $f4, $f6, $f8 # encoding: [0x06,0x55,0x70,0x21]20# CHECK-EL: lwc1 $f2, 4($6) # encoding: [0x46,0x9c,0x04,0x00]21# CHECK-EL: ldc1 $f2, 4($6) # encoding: [0x46,0xbc,0x04,0x00]22# CHECK-EL: swc1 $f2, 4($6) # encoding: [0x46,0x98,0x04,0x00]23# CHECK-EL: sdc1 $f2, 4($6) # encoding: [0x46,0xb8,0x04,0x00]24# CHECK-EL: bc1f 1332 # encoding: [0x80,0x43,0x9a,0x02]25# CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00]26# CHECK-EL: bc1t 1332 # encoding: [0xa0,0x43,0x9a,0x02]27# CHECK-EL: nop # encoding: [0x00,0x00,0x00,0x00]28# CHECK-EL: ceil.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x1b]29# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_S_MM30# CHECK-EL: ceil.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x5b]31# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_MM32# CHECK-EL: cvt.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x09]33# CHECK-EL: cvt.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x49]34# CHECK-EL: floor.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x0b]35# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_S_MM36# CHECK-EL: floor.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x4b]37# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_MM38# CHECK-EL: round.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x3b]39# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_S_MM40# CHECK-EL: round.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x7b]41# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_MM42# CHECK-EL: sqrt.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x0a]43# CHECK-EL: sqrt.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x4a]44# CHECK-EL: trunc.w.s $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x2b]45# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_S_MM46# CHECK-EL: trunc.w.d $f6, $f8 # encoding: [0xc8,0x54,0x3b,0x6b]47# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_MM48# CHECK-EL: abs.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x03]49# CHECK-EL: abs.d $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x23]50# CHECK-EL: mov.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x00]51# CHECK-EL: mov.d $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x20]52# CHECK-EL: neg.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x0b]53# CHECK-EL: neg.d $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x2b]54# CHECK-EL: cvt.d.s $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x13]55# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CVT_D32_S_MM56# CHECK-EL: cvt.d.w $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x33]57# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CVT_D32_W_MM58# CHECK-EL: cvt.s.d $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x1b]59# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CVT_S_D32_MM60# CHECK-EL: cvt.s.w $f6, $f8 # encoding: [0xc8,0x54,0x7b,0x3b]61# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} CVT_S_W_MM62# CHECK-EL: cfc1 $6, $0 # encoding: [0xc0,0x54,0x3b,0x10]63# CHECK-EL: ctc1 $6, $0 # encoding: [0xc0,0x54,0x3b,0x18]64# CHECK-EL: mfc1 $6, $f8 # encoding: [0xc8,0x54,0x3b,0x20]65# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MFC1_MM66# CHECK-EL: mtc1 $6, $f8 # encoding: [0xc8,0x54,0x3b,0x28]67# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MTC1_MM68# CHECK-EL: mfhc1 $6, $f8 # encoding: [0xc8,0x54,0x3b,0x30]69# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MFHC1_D32_MM70# CHECK-EL: mthc1 $6, $f8 # encoding: [0xc8,0x54,0x3b,0x38]71# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MTHC1_D32_MM72# CHECK-EL: movz.s $f4, $f6, $7 # encoding: [0xe6,0x54,0x78,0x20]73# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVZ_I_S_MM74# CHECK-EL: movz.d $f4, $f6, $7 # encoding: [0xe6,0x54,0x78,0x21]75# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVZ_I_D32_MM76# CHECK-EL: movn.s $f4, $f6, $7 # encoding: [0xe6,0x54,0x38,0x20]77# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVN_I_S_MM78# CHECK-EL: movn.d $f4, $f6, $7 # encoding: [0xe6,0x54,0x38,0x21]79# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVN_I_D32_MM80# CHECK-EL: movt.s $f4, $f6, $fcc0 # encoding: [0x86,0x54,0x60,0x00]81# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVT_S_MM82# CHECK-EL: movt.d $f4, $f6, $fcc0 # encoding: [0x86,0x54,0x60,0x02]83# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVT_D32_MM84# CHECK-EL: movf.s $f4, $f6, $fcc0 # encoding: [0x86,0x54,0x20,0x00]85# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVF_S_MM86# CHECK-EL: movf.d $f4, $f6, $fcc0 # encoding: [0x86,0x54,0x20,0x02]87# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} MOVF_D32_MM88# CHECK-EL: madd.s $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x01,0x11]89# CHECK-EL: madd.d $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x09,0x11]90# CHECK-EL: msub.s $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x21,0x11]91# CHECK-EL: msub.d $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x29,0x11]92# CHECK-EL: nmadd.s $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x02,0x11]93# CHECK-EL: nmadd.d $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x0a,0x11]94# CHECK-EL: nmsub.s $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x22,0x11]95# CHECK-EL: nmsub.d $f2, $f4, $f6, $f8 # encoding: [0x06,0x55,0x2a,0x11]96# CHECK-EL: c.f.s $f6, $f7 # encoding: [0xe6,0x54,0x3c,0x00]97# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_F_S_MM98# CHECK-EL: c.un.s $f6, $f7 # encoding: [0xe6,0x54,0x7c,0x00]99# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_UN_S_MM100# CHECK-EL: c.eq.s $f6, $f7 # encoding: [0xe6,0x54,0xbc,0x00]101# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_EQ_S_MM102# CHECK-EL: c.olt.s $f6, $f7 # encoding: [0xe6,0x54,0x3c,0x01]103# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_OLT_S_MM104# CHECK-EL: c.ult.s $f6, $f7 # encoding: [0xe6,0x54,0x7c,0x01]105# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_ULT_S_MM106# CHECK-EL: c.ole.s $f6, $f7 # encoding: [0xe6,0x54,0xbc,0x01]107# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_OLE_S_MM108# CHECK-EL: c.ule.s $f6, $f7 # encoding: [0xe6,0x54,0xfc,0x01]109# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_ULE_S_MM110# CHECK-EL: c.sf.s $f6, $f7 # encoding: [0xe6,0x54,0x3c,0x02]111# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_SF_S_MM112# CHECK-EL: c.ngle.s $f6, $f7 # encoding: [0xe6,0x54,0x7c,0x02]113# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGLE_S_MM114# CHECK-EL: c.seq.s $f6, $f7 # encoding: [0xe6,0x54,0xbc,0x02]115# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_SEQ_S_MM116# CHECK-EL: c.ngl.s $f6, $f7 # encoding: [0xe6,0x54,0xfc,0x02]117# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGL_S_MM118# CHECK-EL: c.lt.s $f6, $f7 # encoding: [0xe6,0x54,0x3c,0x03]119# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_LT_S_MM120# CHECK-EL: c.nge.s $f6, $f7 # encoding: [0xe6,0x54,0x7c,0x03]121# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGE_S_MM122# CHECK-EL: c.le.s $f6, $f7 # encoding: [0xe6,0x54,0xbc,0x03]123# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_LE_S_MM124# CHECK-EL: c.ngt.s $f6, $f7 # encoding: [0xe6,0x54,0xfc,0x03]125# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGT_S_MM126# CHECK-EL: c.sf.d $f30, $f0 # encoding: [0x1e,0x54,0x3c,0x06]127# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_SF_D32_MM128# CHECK-EL: c.f.d $f12, $f14 # encoding: [0xcc,0x55,0x3c,0x04]129# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_F_D32_MM130# CHECK-EL: c.un.d $f12, $f14 # encoding: [0xcc,0x55,0x7c,0x04]131# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_UN_D32_MM132# CHECK-EL: c.eq.d $f12, $f14 # encoding: [0xcc,0x55,0xbc,0x04]133# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_EQ_D32_MM134# CHECK-EL: c.ueq.d $f12, $f14 # encoding: [0xcc,0x55,0xfc,0x04]135# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_UEQ_D32_MM136# CHECK-EL: c.olt.d $f12, $f14 # encoding: [0xcc,0x55,0x3c,0x05]137# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_OLT_D32_MM138# CHECK-EL: c.ult.d $f12, $f14 # encoding: [0xcc,0x55,0x7c,0x05]139# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_ULT_D32_MM140# CHECK-EL: c.ole.d $f12, $f14 # encoding: [0xcc,0x55,0xbc,0x05]141# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_OLE_D32_MM142# CHECK-EL: c.ule.d $f12, $f14 # encoding: [0xcc,0x55,0xfc,0x05]143# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_ULE_D32_MM144# CHECK-EL: c.sf.d $f12, $f14 # encoding: [0xcc,0x55,0x3c,0x06]145# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_SF_D32_MM146# CHECK-EL: c.ngle.d $f12, $f14 # encoding: [0xcc,0x55,0x7c,0x06]147# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGLE_D32_MM148# CHECK-EL: c.seq.d $f12, $f14 # encoding: [0xcc,0x55,0xbc,0x06]149# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_SEQ_D32_MM150# CHECK-EL: c.ngl.d $f12, $f14 # encoding: [0xcc,0x55,0xfc,0x06]151# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGL_D32_MM152# CHECK-EL: c.lt.d $f12, $f14 # encoding: [0xcc,0x55,0x3c,0x07]153# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_LT_D32_MM154# CHECK-EL: c.nge.d $f12, $f14 # encoding: [0xcc,0x55,0x7c,0x07]155# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGE_D32_MM156# CHECK-EL: c.le.d $f12, $f14 # encoding: [0xcc,0x55,0xbc,0x07]157# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_LE_D32_MM158# CHECK-EL: c.ngt.d $f12, $f14 # encoding: [0xcc,0x55,0xfc,0x07]159# CHECK-EL-NEXT: # <MCInst #{{[0-9]+}} C_NGT_D32_MM160#------------------------------------------------------------------------------161# Big endian162#------------------------------------------------------------------------------163# CHECK-EB: add.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0x30]164# CHECK-EB: add.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0x30]165# CHECK-EB: div.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0xf0]166# CHECK-EB: div.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0xf0]167# CHECK-EB: mul.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0xb0]168# CHECK-EB: mul.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0xb0]169# CHECK-EB: sub.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0x70]170# CHECK-EB: sub.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0x70]171# CHECK-EB: lwc1 $f2, 4($6) # encoding: [0x9c,0x46,0x00,0x04]172# CHECK-EB: ldc1 $f2, 4($6) # encoding: [0xbc,0x46,0x00,0x04]173# CHECK-EB: swc1 $f2, 4($6) # encoding: [0x98,0x46,0x00,0x04]174# CHECK-EB: sdc1 $f2, 4($6) # encoding: [0xb8,0x46,0x00,0x04]175# CHECK-EB: bc1f 1332 # encoding: [0x43,0x80,0x02,0x9a]176# CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00]177# CHECK-EB: bc1t 1332 # encoding: [0x43,0xa0,0x02,0x9a]178# CHECK-EB: nop # encoding: [0x00,0x00,0x00,0x00]179# CHECK-EB: ceil.w.s $f6, $f8 # encoding: [0x54,0xc8,0x1b,0x3b]180# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_S_MM181# CHECK-EB: ceil.w.d $f6, $f8 # encoding: [0x54,0xc8,0x5b,0x3b]182# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CEIL_W_MM183# CHECK-EB: cvt.w.s $f6, $f8 # encoding: [0x54,0xc8,0x09,0x3b]184# CHECK-EB: cvt.w.d $f6, $f8 # encoding: [0x54,0xc8,0x49,0x3b]185# CHECK-EB: floor.w.s $f6, $f8 # encoding: [0x54,0xc8,0x0b,0x3b]186# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_S_MM187# CHECK-EB: floor.w.d $f6, $f8 # encoding: [0x54,0xc8,0x4b,0x3b]188# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} FLOOR_W_MM189# CHECK-EB: round.w.s $f6, $f8 # encoding: [0x54,0xc8,0x3b,0x3b]190# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_S_MM191# CHECK-EB: round.w.d $f6, $f8 # encoding: [0x54,0xc8,0x7b,0x3b]192# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} ROUND_W_MM193# CHECK-EB: sqrt.s $f6, $f8 # encoding: [0x54,0xc8,0x0a,0x3b]194# CHECK-EB: sqrt.d $f6, $f8 # encoding: [0x54,0xc8,0x4a,0x3b]195# CHECK-EB: trunc.w.s $f6, $f8 # encoding: [0x54,0xc8,0x2b,0x3b]196# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_S_MM197# CHECK-EB: trunc.w.d $f6, $f8 # encoding: [0x54,0xc8,0x6b,0x3b]198# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} TRUNC_W_MM199# CHECK-EB: abs.s $f6, $f8 # encoding: [0x54,0xc8,0x03,0x7b]200# CHECK-EB: abs.d $f6, $f8 # encoding: [0x54,0xc8,0x23,0x7b]201# CHECK-EB: mov.s $f6, $f8 # encoding: [0x54,0xc8,0x00,0x7b]202# CHECK-EB: mov.d $f6, $f8 # encoding: [0x54,0xc8,0x20,0x7b]203# CHECK-EB: neg.s $f6, $f8 # encoding: [0x54,0xc8,0x0b,0x7b]204# CHECK-EB: neg.d $f6, $f8 # encoding: [0x54,0xc8,0x2b,0x7b]205# CHECK-EB: cvt.d.s $f6, $f8 # encoding: [0x54,0xc8,0x13,0x7b]206# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CVT_D32_S_MM207# CHECK-EB: cvt.d.w $f6, $f8 # encoding: [0x54,0xc8,0x33,0x7b]208# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CVT_D32_W_MM209# CHECK-EB: cvt.s.d $f6, $f8 # encoding: [0x54,0xc8,0x1b,0x7b]210# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CVT_S_D32_MM211# CHECK-EB: cvt.s.w $f6, $f8 # encoding: [0x54,0xc8,0x3b,0x7b]212# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} CVT_S_W_MM213# CHECK-EB: cfc1 $6, $0 # encoding: [0x54,0xc0,0x10,0x3b]214# CHECK-EB: ctc1 $6, $0 # encoding: [0x54,0xc0,0x18,0x3b]215# CHECK-EB: mfc1 $6, $f8 # encoding: [0x54,0xc8,0x20,0x3b]216# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MFC1_MM217# CHECK-EB: mtc1 $6, $f8 # encoding: [0x54,0xc8,0x28,0x3b]218# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MTC1_MM219# CHECK-EB: mfhc1 $6, $f8 # encoding: [0x54,0xc8,0x30,0x3b]220# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MFHC1_D32_MM221# CHECK-EB: mthc1 $6, $f8 # encoding: [0x54,0xc8,0x38,0x3b]222# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MTHC1_D32_MM223# CHECK-EB: movz.s $f4, $f6, $7 # encoding: [0x54,0xe6,0x20,0x78]224# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVZ_I_S_MM225# CHECK-EB: movz.d $f4, $f6, $7 # encoding: [0x54,0xe6,0x21,0x78]226# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVZ_I_D32_MM227# CHECK-EB: movn.s $f4, $f6, $7 # encoding: [0x54,0xe6,0x20,0x38]228# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVN_I_S_MM229# CHECK-EB: movn.d $f4, $f6, $7 # encoding: [0x54,0xe6,0x21,0x38]230# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVN_I_D32_MM231# CHECK-EB: movt.s $f4, $f6, $fcc0 # encoding: [0x54,0x86,0x00,0x60]232# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVT_S_MM233# CHECK-EB: movt.d $f4, $f6, $fcc0 # encoding: [0x54,0x86,0x02,0x60]234# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVT_D32_MM235# CHECK-EB: movf.s $f4, $f6, $fcc0 # encoding: [0x54,0x86,0x00,0x20]236# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVF_S_MM237# CHECK-EB: movf.d $f4, $f6, $fcc0 # encoding: [0x54,0x86,0x02,0x20]238# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MOVF_D32_MM239# CHECK-EB: madd.s $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x01]240# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MADD_S_MM241# CHECK-EB: madd.d $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x09]242# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MADD_D32_MM243# CHECK-EB: msub.s $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x21]244# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MSUB_S_MM245# CHECK-EB: msub.d $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x29]246# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} MSUB_D32_MM247# CHECK-EB: nmadd.s $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x02]248# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} NMADD_S_MM249# CHECK-EB: nmadd.d $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x0a]250# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} NMADD_D32_MM251# CHECK-EB: nmsub.s $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x22]252# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} NMSUB_S_MM253# CHECK-EB: nmsub.d $f2, $f4, $f6, $f8 # encoding: [0x55,0x06,0x11,0x2a]254# CHECK-EB: c.f.s $f6, $f7 # encoding: [0x54,0xe6,0x00,0x3c]255# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_F_S_MM256# CHECK-EB: c.un.s $f6, $f7 # encoding: [0x54,0xe6,0x00,0x7c]257# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_UN_S_MM258# CHECK-EB: c.eq.s $f6, $f7 # encoding: [0x54,0xe6,0x00,0xbc]259# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_EQ_S_MM260# CHECK-EB: c.olt.s $f6, $f7 # encoding: [0x54,0xe6,0x01,0x3c]261# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_OLT_S_MM262# CHECK-EB: c.ult.s $f6, $f7 # encoding: [0x54,0xe6,0x01,0x7c]263# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_ULT_S_MM264# CHECK-EB: c.ole.s $f6, $f7 # encoding: [0x54,0xe6,0x01,0xbc]265# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_OLE_S_MM266# CHECK-EB: c.ule.s $f6, $f7 # encoding: [0x54,0xe6,0x01,0xfc]267# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_ULE_S_MM268# CHECK-EB: c.sf.s $f6, $f7 # encoding: [0x54,0xe6,0x02,0x3c]269# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_SF_S_MM270# CHECK-EB: c.ngle.s $f6, $f7 # encoding: [0x54,0xe6,0x02,0x7c]271# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGLE_S_MM272# CHECK-EB: c.seq.s $f6, $f7 # encoding: [0x54,0xe6,0x02,0xbc]273# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_SEQ_S_MM274# CHECK-EB: c.ngl.s $f6, $f7 # encoding: [0x54,0xe6,0x02,0xfc]275# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGL_S_MM276# CHECK-EB: c.lt.s $f6, $f7 # encoding: [0x54,0xe6,0x03,0x3c]277# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_LT_S_MM278# CHECK-EB: c.nge.s $f6, $f7 # encoding: [0x54,0xe6,0x03,0x7c]279# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGE_S_MM280# CHECK-EB: c.le.s $f6, $f7 # encoding: [0x54,0xe6,0x03,0xbc]281# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_LE_S_MM282# CHECK-EB: c.ngt.s $f6, $f7 # encoding: [0x54,0xe6,0x03,0xfc]283# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGT_S_MM284# CHECK-EB: c.sf.d $f30, $f0 # encoding: [0x54,0x1e,0x06,0x3c]285# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_SF_D32_MM286# CHECK-EB: c.f.d $f12, $f14 # encoding: [0x55,0xcc,0x04,0x3c]287# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_F_D32_MM288# CHECK-EB: c.un.d $f12, $f14 # encoding: [0x55,0xcc,0x04,0x7c]289# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_UN_D32_MM290# CHECK-EB: c.eq.d $f12, $f14 # encoding: [0x55,0xcc,0x04,0xbc]291# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_EQ_D32_MM292# CHECK-EB: c.ueq.d $f12, $f14 # encoding: [0x55,0xcc,0x04,0xfc]293# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_UEQ_D32_MM294# CHECK-EB: c.olt.d $f12, $f14 # encoding: [0x55,0xcc,0x05,0x3c]295# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_OLT_D32_MM296# CHECK-EB: c.ult.d $f12, $f14 # encoding: [0x55,0xcc,0x05,0x7c]297# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_ULT_D32_MM298# CHECK-EB: c.ole.d $f12, $f14 # encoding: [0x55,0xcc,0x05,0xbc]299# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_OLE_D32_MM300# CHECK-EB: c.ule.d $f12, $f14 # encoding: [0x55,0xcc,0x05,0xfc]301# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_ULE_D32_MM302# CHECK-EB: c.sf.d $f12, $f14 # encoding: [0x55,0xcc,0x06,0x3c]303# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_SF_D32_MM304# CHECK-EB: c.ngle.d $f12, $f14 # encoding: [0x55,0xcc,0x06,0x7c]305# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGLE_D32_MM306# CHECK-EB: c.seq.d $f12, $f14 # encoding: [0x55,0xcc,0x06,0xbc]307# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_SEQ_D32_MM308# CHECK-EB: c.ngl.d $f12, $f14 # encoding: [0x55,0xcc,0x06,0xfc]309# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGL_D32_MM310# CHECK-EB: c.lt.d $f12, $f14 # encoding: [0x55,0xcc,0x07,0x3c]311# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_LT_D32_MM312# CHECK-EB: c.nge.d $f12, $f14 # encoding: [0x55,0xcc,0x07,0x7c]313# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGE_D32_MM314# CHECK-EB: c.le.d $f12, $f14 # encoding: [0x55,0xcc,0x07,0xbc]315# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_LE_D32_MM316# CHECK-EB: c.ngt.d $f12, $f14 # encoding: [0x55,0xcc,0x07,0xfc]317# CHECK-EB-NEXT: # <MCInst #{{[0-9]+}} C_NGT_D32_MM318 319 add.s $f4, $f6, $f8320 add.d $f4, $f6, $f8321 div.s $f4, $f6, $f8322 div.d $f4, $f6, $f8323 mul.s $f4, $f6, $f8324 mul.d $f4, $f6, $f8325 sub.s $f4, $f6, $f8326 sub.d $f4, $f6, $f8327 lwc1 $f2, 4($6)328 ldc1 $f2, 4($6)329 swc1 $f2, 4($6)330 sdc1 $f2, 4($6)331 bc1f 1332332 bc1t 1332333 ceil.w.s $f6, $f8334 ceil.w.d $f6, $f8335 cvt.w.s $f6, $f8336 cvt.w.d $f6, $f8337 floor.w.s $f6, $f8338 floor.w.d $f6, $f8339 round.w.s $f6, $f8340 round.w.d $f6, $f8341 sqrt.s $f6, $f8342 sqrt.d $f6, $f8343 trunc.w.s $f6, $f8344 trunc.w.d $f6, $f8345 abs.s $f6, $f8346 abs.d $f6, $f8347 mov.s $f6, $f8348 mov.d $f6, $f8349 neg.s $f6, $f8350 neg.d $f6, $f8351 cvt.d.s $f6, $f8352 cvt.d.w $f6, $f8353 cvt.s.d $f6, $f8354 cvt.s.w $f6, $f8355 cfc1 $6, $0356 ctc1 $6, $0357 mfc1 $6, $f8358 mtc1 $6, $f8359 mfhc1 $6, $f8360 mthc1 $6, $f8361 movz.s $f4, $f6, $7362 movz.d $f4, $f6, $7363 movn.s $f4, $f6, $7364 movn.d $f4, $f6, $7365 movt.s $f4, $f6, $fcc0366 movt.d $f4, $f6, $fcc0367 movf.s $f4, $f6, $fcc0368 movf.d $f4, $f6, $fcc0369 madd.s $f2, $f4, $f6, $f8370 madd.d $f2, $f4, $f6, $f8371 msub.s $f2, $f4, $f6, $f8372 msub.d $f2, $f4, $f6, $f8373 nmadd.s $f2, $f4, $f6, $f8374 nmadd.d $f2, $f4, $f6, $f8375 nmsub.s $f2, $f4, $f6, $f8376 nmsub.d $f2, $f4, $f6, $f8377 c.f.s $f6, $f7378 c.un.s $f6, $f7379 c.eq.s $f6, $f7380 c.olt.s $f6, $f7381 c.ult.s $f6, $f7382 c.ole.s $f6, $f7383 c.ule.s $f6, $f7384 c.sf.s $f6, $f7385 c.ngle.s $f6, $f7386 c.seq.s $f6, $f7387 c.ngl.s $f6, $f7388 c.lt.s $f6, $f7389 c.nge.s $f6, $f7390 c.le.s $f6, $f7391 c.ngt.s $f6, $f7392 c.sf.d $f30, $f0393 c.f.d $f12, $f14394 c.un.d $f12, $f14395 c.eq.d $f12, $f14396 c.ueq.d $f12, $f14397 c.olt.d $f12, $f14398 c.ult.d $f12, $f14399 c.ole.d $f12, $f14400 c.ule.d $f12, $f14401 c.sf.d $f12, $f14402 c.ngle.d $f12, $f14403 c.seq.d $f12, $f14404 c.ngl.d $f12, $f14405 c.lt.d $f12, $f14406 c.nge.d $f12, $f14407 c.le.d $f12, $f14408 c.ngt.d $f12, $f14409