1476ed8f2SSimon Dardis# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -show-inst -mattr=micromips,eva | FileCheck %s 2846bdb74SHrvoje Varga 3846bdb74SHrvoje Varga.set noat 4846bdb74SHrvoje Vargaaddiusp -16 # CHECK: addiusp -16 # encoding: [0x4f,0xf9] 5d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUSP_MM 6846bdb74SHrvoje Vargaaddiusp -1028 # CHECK: addiusp -1028 # encoding: [0x4f,0xff] 7d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUSP_MM 8846bdb74SHrvoje Vargaaddiusp -1032 # CHECK: addiusp -1032 # encoding: [0x4f,0xfd] 9d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUSP_MM 10846bdb74SHrvoje Vargaaddiusp 1024 # CHECK: addiusp 1024 # encoding: [0x4c,0x01] 11d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUSP_MM 12846bdb74SHrvoje Vargaaddiusp 1028 # CHECK: addiusp 1028 # encoding: [0x4c,0x03] 13d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUSP_MM 14846bdb74SHrvoje Vargaandi16 $16, $2, 31 # CHECK: andi16 $16, $2, 31 # encoding: [0x2c,0x29] 15d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ANDI16_MM 16846bdb74SHrvoje Vargajraddiusp 20 # CHECK: jraddiusp 20 # encoding: [0x47,0x05] 17d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} JRADDIUSP 18846bdb74SHrvoje Vargaaddu16 $6, $17, $4 # CHECK: addu16 $6, $17, $4 # encoding: [0x07,0x42] 19d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDU16_MM 20846bdb74SHrvoje Vargasubu16 $5, $16, $3 # CHECK: subu16 $5, $16, $3 # encoding: [0x06,0xb1] 21d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SUBU16_MM 22846bdb74SHrvoje Vargaand16 $16, $2 # CHECK: and16 $16, $2 # encoding: [0x44,0x82] 23d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} AND16_MM 24846bdb74SHrvoje Varganot16 $17, $3 # CHECK: not16 $17, $3 # encoding: [0x44,0x0b] 25d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} NOT16_MM 26846bdb74SHrvoje Vargaor16 $16, $4 # CHECK: or16 $16, $4 # encoding: [0x44,0xc4] 27d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} OR16_MM 28846bdb74SHrvoje Vargaxor16 $17, $5 # CHECK: xor16 $17, $5 # encoding: [0x44,0x4d] 29d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} XOR16_MM 30846bdb74SHrvoje Vargasll16 $3, $16, 5 # CHECK: sll16 $3, $16, 5 # encoding: [0x25,0x8a] 31d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SLL16_MM 32846bdb74SHrvoje Vargasrl16 $4, $17, 6 # CHECK: srl16 $4, $17, 6 # encoding: [0x26,0x1d] 33d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SRL16_MM 34846bdb74SHrvoje Vargalbu16 $3, 4($17) # CHECK: lbu16 $3, 4($17) # encoding: [0x09,0x94] 35d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LBU16_MM 36846bdb74SHrvoje Vargalbu16 $3, -1($16) # CHECK: lbu16 $3, -1($16) # encoding: [0x09,0x8f] 37d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LBU16_MM 38846bdb74SHrvoje Vargalhu16 $3, 4($16) # CHECK: lhu16 $3, 4($16) # encoding: [0x29,0x82] 39d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LHU16_MM 40846bdb74SHrvoje Vargalw16 $4, 8($17) # CHECK: lw16 $4, 8($17) # encoding: [0x6a,0x12] 41d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LW16_MM 42846bdb74SHrvoje Vargasb16 $3, 4($16) # CHECK: sb16 $3, 4($16) # encoding: [0x89,0x84] 43d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SB16_MM 44846bdb74SHrvoje Vargash16 $4, 8($17) # CHECK: sh16 $4, 8($17) # encoding: [0xaa,0x14] 45d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SH16_MM 46846bdb74SHrvoje Vargasw16 $4, 4($17) # CHECK: sw16 $4, 4($17) # encoding: [0xea,0x11] 47d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SW16_MM 48846bdb74SHrvoje Vargasw16 $zero, 4($17) # CHECK: sw16 $zero, 4($17) # encoding: [0xe8,0x11] 49d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SW16_MM 500fad58cbSSimon Dardismfhi16 $9 # CHECK: mfhi16 $9 # encoding: [0x46,0x09] 51d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} MFHI16_MM 520fad58cbSSimon Dardismflo16 $9 # CHECK: mflo16 $9 # encoding: [0x46,0x49] 53d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} MFLO16_MM 54846bdb74SHrvoje Vargamove $25, $1 # CHECK: move $25, $1 # encoding: [0x0f,0x21] 55d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} MOVE16_MM 56846bdb74SHrvoje Vargajrc $9 # CHECK: jrc $9 # encoding: [0x45,0xa9] 57d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} JRC16_MM 58846bdb74SHrvoje Vargajalr $9 # CHECK: jalr $9 # encoding: [0x45,0xc9] 59d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} JALR16_MM 60846bdb74SHrvoje Vargajalrs16 $9 # CHECK: jalrs16 $9 # encoding: [0x45,0xe9] 61d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} MOVE16_MM 62846bdb74SHrvoje Vargajr16 $9 # CHECK: jr16 $9 # encoding: [0x45,0x89] 63d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} JR16_MM 64846bdb74SHrvoje Vargali16 $3, -1 # CHECK: li16 $3, -1 # encoding: [0xed,0xff] 65d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LI16_MM 66846bdb74SHrvoje Vargali16 $3, 126 # CHECK: li16 $3, 126 # encoding: [0xed,0xfe] 67d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LI16_MM 68846bdb74SHrvoje Vargaaddiur1sp $7, 4 # CHECK: addiur1sp $7, 4 # encoding: [0x6f,0x83] 69d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUR1SP_MM 70846bdb74SHrvoje Vargaaddiur2 $6, $7, -1 # CHECK: addiur2 $6, $7, -1 # encoding: [0x6f,0x7e] 71d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUR2_MM 72846bdb74SHrvoje Vargaaddiur2 $6, $7, 12 # CHECK: addiur2 $6, $7, 12 # encoding: [0x6f,0x76] 73d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} ADDIUR2_MM 74846bdb74SHrvoje Vargaaddius5 $7, -2 # CHECK: addius5 $7, -2 # encoding: [0x4c,0xfc] 75846bdb74SHrvoje Varganop # CHECK: nop # encoding: [0x00,0x00,0x00,0x00] 76846bdb74SHrvoje Vargabeqz16 $6, 20 # CHECK: beqz16 $6, 20 # encoding: [0x8f,0x0a] 77d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} BEQZ16_MM 78846bdb74SHrvoje Vargabnez16 $6, 20 # CHECK: bnez16 $6, 20 # encoding: [0xaf,0x0a] 79d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} BNEZ16_MM 80846bdb74SHrvoje Vargab16 132 # CHECK: b16 132 # encoding: [0xcc,0x42] 81d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} B16_MM 82846bdb74SHrvoje Vargalwm16 $16, $17, $ra, 8($sp) # CHECK: lwm16 $16, $17, $ra, 8($sp) # encoding: [0x45,0x12] 83d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LWM16_MM 84846bdb74SHrvoje Vargaswm16 $16, $17, $ra, 8($sp) # CHECK: swm16 $16, $17, $ra, 8($sp) # encoding: [0x45,0x52] 85d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SWM16_MM 86846bdb74SHrvoje Vargamovep $5, $6, $2, $3 # CHECK: movep $5, $6, $2, $3 # encoding: [0x84,0x34] 87d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} MOVEP_MM 88846bdb74SHrvoje Vargabreak16 8 # CHECK: break16 8 # encoding: [0x46,0x88] 89d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} BREAK16_MM 90846bdb74SHrvoje Vargasdbbp16 14 # CHECK: sdbbp16 14 # encoding: [0x46,0xce] 91d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SDBBP16_MM 92846bdb74SHrvoje Vargalw $3, 32($sp) # CHECK: lw $3, 32($sp) # encoding: [0x48,0x68] 93d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LWSP_MM 94846bdb74SHrvoje Vargasw $4, 124($sp) # CHECK: sw $4, 124($sp) # encoding: [0xc8,0x9f] 95d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} SWSP_MM 96846bdb74SHrvoje Vargalw $3, 32($gp) # CHECK: lw $3, 32($gp) # encoding: [0x65,0x88] 97d9a45383SSimon Dardis # CHECK: # <MCInst #{{.*}} LWGP_MM 98b633acacSSimon Dardisabs.s $f0, $f2 # CHECK: abs.s $f0, $f2 # encoding: [0x54,0x02,0x03,0x7b] 99b633acacSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_S_MM 100b633acacSSimon Dardisabs.d $f4, $f6 # CHECK: abs.d $f4, $f6 # encoding: [0x54,0x86,0x23,0x7b] 10198749e02SStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FABS_D32_MM 10298749e02SStefan Maksimovicsqrt.s $f0, $f12 # CHECK: sqrt.s $f0, $f12 # encoding: [0x54,0x0c,0x0a,0x3b] 10398749e02SStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_S_MM 10498749e02SStefan Maksimovicsqrt.d $f0, $f12 # CHECK: sqrt.d $f0, $f12 # encoding: [0x54,0x0c,0x4a,0x3b] 10598749e02SStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSQRT_D32_MM 106846bdb74SHrvoje Vargaadd $9, $6, $7 # CHECK: add $9, $6, $7 # encoding: [0x00,0xe6,0x49,0x10] 107b3e7ed3bSStefan Maksimovicadd.d $f0, $f2, $f4 # CHECK: add.d $f0, $f2, $f4 # encoding: [0x54,0x82,0x01,0x30] 108b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FADD_D32_MM 109846bdb74SHrvoje Vargaaddi $9, $6, 17767 # CHECK: addi $9, $6, 17767 # encoding: [0x11,0x26,0x45,0x67] 110846bdb74SHrvoje Vargaaddiu $9, $6, -15001 # CHECK: addiu $9, $6, -15001 # encoding: [0x31,0x26,0xc5,0x67] 111846bdb74SHrvoje Vargaaddi $9, $6, 17767 # CHECK: addi $9, $6, 17767 # encoding: [0x11,0x26,0x45,0x67] 112846bdb74SHrvoje Vargaaddiu $9, $6, -15001 # CHECK: addiu $9, $6, -15001 # encoding: [0x31,0x26,0xc5,0x67] 113846bdb74SHrvoje Vargaaddu $9, $6, $7 # CHECK: addu $9, $6, $7 # encoding: [0x00,0xe6,0x49,0x50] 114846bdb74SHrvoje Vargasub $9, $6, $7 # CHECK: sub $9, $6, $7 # encoding: [0x00,0xe6,0x49,0x90] 115846bdb74SHrvoje Vargasubu $4, $3, $5 # CHECK: subu $4, $3, $5 # encoding: [0x00,0xa3,0x21,0xd0] 116846bdb74SHrvoje Vargasub $6, $zero, $7 # CHECK: neg $6, $7 # encoding: [0x00,0xe0,0x31,0x90] 117b3e7ed3bSStefan Maksimovicsub.d $f0, $f2, $f4 # CHECK: sub.d $f0, $f2, $f4 # encoding: [0x54,0x82,0x01,0x70] 118b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FSUB_D32_MM 11939710e35SSimon Dardissubu $6, $zero, $7 # CHECK: negu $6, $7 # encoding: [0x00,0xe0,0x31,0xd0] 120846bdb74SHrvoje Vargaaddu $7, $8, $zero # CHECK: addu $7, $8, $zero # encoding: [0x00,0x08,0x39,0x50] 121846bdb74SHrvoje Vargaslt $3, $3, $5 # CHECK: slt $3, $3, $5 # encoding: [0x00,0xa3,0x1b,0x50] 122846bdb74SHrvoje Vargaslti $3, $3, 103 # CHECK: slti $3, $3, 103 # encoding: [0x90,0x63,0x00,0x67] 123846bdb74SHrvoje Vargaslti $3, $3, 103 # CHECK: slti $3, $3, 103 # encoding: [0x90,0x63,0x00,0x67] 124846bdb74SHrvoje Vargasltiu $3, $3, 103 # CHECK: sltiu $3, $3, 103 # encoding: [0xb0,0x63,0x00,0x67] 125846bdb74SHrvoje Vargasltu $3, $3, $5 # CHECK: sltu $3, $3, $5 # encoding: [0x00,0xa3,0x1b,0x90] 126846bdb74SHrvoje Vargalui $9, 17767 # CHECK: lui $9, 17767 # encoding: [0x41,0xa9,0x45,0x67] 127846bdb74SHrvoje Vargaand $9, $6, $7 # CHECK: and $9, $6, $7 # encoding: [0x00,0xe6,0x4a,0x50] 128846bdb74SHrvoje Vargaandi $9, $6, 17767 # CHECK: andi $9, $6, 17767 # encoding: [0xd1,0x26,0x45,0x67] 129846bdb74SHrvoje Vargaor $3, $4, $5 # CHECK: or $3, $4, $5 # encoding: [0x00,0xa4,0x1a,0x90] 130846bdb74SHrvoje Vargaori $9, $6, 17767 # CHECK: ori $9, $6, 17767 # encoding: [0x51,0x26,0x45,0x67] 131846bdb74SHrvoje Vargaxor $3, $3, $5 # CHECK: xor $3, $3, $5 # encoding: [0x00,0xa3,0x1b,0x10] 132846bdb74SHrvoje Vargaxori $9, $6, 17767 # CHECK: xori $9, $6, 17767 # encoding: [0x71,0x26,0x45,0x67] 133846bdb74SHrvoje Varganor $9, $6, $7 # CHECK: nor $9, $6, $7 # encoding: [0x00,0xe6,0x4a,0xd0] 134*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} NOR_MM 135846bdb74SHrvoje Varganot $7, $8 # CHECK: not $7, $8 # encoding: [0x00,0x08,0x3a,0xd0] 1367b7cb8d9SSimon Dardisnot $7 # CHECK: not $7, $7 # encoding: [0x00,0x07,0x3a,0xd0] 137846bdb74SHrvoje Vargamul $9, $6, $7 # CHECK: mul $9, $6, $7 # encoding: [0x00,0xe6,0x4a,0x10] 138b3e7ed3bSStefan Maksimovicmul.d $f0, $f2, $f4 # CHECK: mul.d $f0, $f2, $f4 # encoding: [0x54,0x82,0x01,0xb0] 139b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FMUL_D32_MM 140846bdb74SHrvoje Vargamult $9, $7 # CHECK: mult $9, $7 # encoding: [0x00,0xe9,0x8b,0x3c] 141846bdb74SHrvoje Vargamultu $9, $7 # CHECK: multu $9, $7 # encoding: [0x00,0xe9,0x9b,0x3c] 142846bdb74SHrvoje Vargadiv $zero, $9, $7 # CHECK: div $zero, $9, $7 # encoding: [0x00,0xe9,0xab,0x3c] 143b3e7ed3bSStefan Maksimovicdiv.d $f0, $f2, $f4 # CHECK: div.d $f0, $f2, $f4 # encoding: [0x54,0x82,0x01,0xf0] 144b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FDIV_D32_MM 145846bdb74SHrvoje Vargadivu $zero, $9, $7 # CHECK: divu $zero, $9, $7 # encoding: [0x00,0xe9,0xbb,0x3c] 146*6021424cSSimon Dardisrdhwr $5, $29, 2 # CHECK: rdhwr $5, $29, 2 # encoding: [0x00,0xbd,0x6b,0x3c] 147*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} RDHWR_MM 148*6021424cSSimon Dardisrdhwr $5, $29, 0 # CHECK: rdhwr $5, $29 # encoding: [0x00,0xbd,0x6b,0x3c] 149*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} RDHWR_MM 150*6021424cSSimon Dardisrdhwr $5, $29 # CHECK: rdhwr $5, $29 # encoding: [0x00,0xbd,0x6b,0x3c] 151*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} RDHWR_MM 152846bdb74SHrvoje Vargasll $4, $3, 7 # CHECK: sll $4, $3, 7 # encoding: [0x00,0x83,0x38,0x00] 1536cfc9ba5SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SLL_MM 154846bdb74SHrvoje Vargasllv $2, $3, $5 # CHECK: sllv $2, $3, $5 # encoding: [0x00,0x65,0x10,0x10] 1556cfc9ba5SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SLLV_MM 156846bdb74SHrvoje Vargasra $4, $3, 7 # CHECK: sra $4, $3, 7 # encoding: [0x00,0x83,0x38,0x80] 1576cfc9ba5SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SRA_MM 158846bdb74SHrvoje Vargasrav $2, $3, $5 # CHECK: srav $2, $3, $5 # encoding: [0x00,0x65,0x10,0x90] 1596cfc9ba5SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SRAV_MM 160846bdb74SHrvoje Vargasrl $4, $3, 7 # CHECK: srl $4, $3, 7 # encoding: [0x00,0x83,0x38,0x40] 1616cfc9ba5SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SRL_MM 162846bdb74SHrvoje Vargasrlv $2, $3, $5 # CHECK: srlv $2, $3, $5 # encoding: [0x00,0x65,0x10,0x50] 1636cfc9ba5SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SRLV_MM 164846bdb74SHrvoje Vargarotr $9, $6, 7 # CHECK: rotr $9, $6, 7 # encoding: [0x01,0x26,0x38,0xc0] 165846bdb74SHrvoje Vargarotrv $9, $6, $7 # CHECK: rotrv $9, $6, $7 # encoding: [0x00,0xc7,0x48,0xd0] 166846bdb74SHrvoje Vargalb $5, 8($4) # CHECK: lb $5, 8($4) # encoding: [0x1c,0xa4,0x00,0x08] 167*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} LB_MM 168846bdb74SHrvoje Vargalbu $6, 8($4) # CHECK: lbu $6, 8($4) # encoding: [0x14,0xc4,0x00,0x08] 169*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} LBu_MM 170846bdb74SHrvoje Vargalh $2, 8($4) # CHECK: lh $2, 8($4) # encoding: [0x3c,0x44,0x00,0x08] 171*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} LH_MM 172846bdb74SHrvoje Vargalhu $4, 8($2) # CHECK: lhu $4, 8($2) # encoding: [0x34,0x82,0x00,0x08] 173*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} LHu_MM 174846bdb74SHrvoje Vargalw $6, 4($5) # CHECK: lw $6, 4($5) # encoding: [0xfc,0xc5,0x00,0x04] 175*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} LW_MM 176846bdb74SHrvoje Vargalw $6, 123($sp) # CHECK: lw $6, 123($sp) # encoding: [0xfc,0xdd,0x00,0x7b] 177*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} LW_MM 178846bdb74SHrvoje Vargasb $5, 8($4) # CHECK: sb $5, 8($4) # encoding: [0x18,0xa4,0x00,0x08] 179*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SB_MM 180846bdb74SHrvoje Vargash $2, 8($4) # CHECK: sh $2, 8($4) # encoding: [0x38,0x44,0x00,0x08] 181*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SH_MM 182846bdb74SHrvoje Vargasw $5, 4($6) # CHECK: sw $5, 4($6) # encoding: [0xf8,0xa6,0x00,0x04] 183*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SW_MM 184846bdb74SHrvoje Vargasw $5, 123($sp) # CHECK: sw $5, 123($sp) # encoding: [0xf8,0xbd,0x00,0x7b] 185*6021424cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SW_MM 186846bdb74SHrvoje Vargalwu $2, 8($4) # CHECK: lwu $2, 8($4) # encoding: [0x60,0x44,0xe0,0x08] 187846bdb74SHrvoje Vargalwl $4, 16($5) # CHECK: lwl $4, 16($5) # encoding: [0x60,0x85,0x00,0x10] 188846bdb74SHrvoje Vargalwr $4, 16($5) # CHECK: lwr $4, 16($5) # encoding: [0x60,0x85,0x10,0x10] 189846bdb74SHrvoje Vargaswl $4, 16($5) # CHECK: swl $4, 16($5) # encoding: [0x60,0x85,0x80,0x10] 190846bdb74SHrvoje Vargaswr $4, 16($5) # CHECK: swr $4, 16($5) # encoding: [0x60,0x85,0x90,0x10] 19174fb5e67SSimon Dardismov.s $f0, $f2 # CHECK: mov.s $f0, $f2 # encoding: [0x54,0x02,0x00,0x7b] 19274fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} FMOV_S_MM 193b3e7ed3bSStefan Maksimovicmov.d $f0, $f2 # CHECK: mov.d $f0, $f2 # encoding: [0x54,0x02,0x20,0x7b] 194b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FMOV_D32_MM 195846bdb74SHrvoje Vargamovz $9, $6, $7 # CHECK: movz $9, $6, $7 # encoding: [0x00,0xe6,0x48,0x58] 196846bdb74SHrvoje Vargamovn $9, $6, $7 # CHECK: movn $9, $6, $7 # encoding: [0x00,0xe6,0x48,0x18] 197846bdb74SHrvoje Vargamovt $9, $6, $fcc0 # CHECK: movt $9, $6, $fcc0 # encoding: [0x55,0x26,0x09,0x7b] 198846bdb74SHrvoje Vargamovf $9, $6, $fcc0 # CHECK: movf $9, $6, $fcc0 # encoding: [0x55,0x26,0x01,0x7b] 199846bdb74SHrvoje Varga# FIXME: MTHI should also have its 16 bit implementation selected in micromips 200846bdb74SHrvoje Vargamthi $6 # CHECK: mthi $6 # encoding: [0x00,0x06,0x2d,0x7c] 2010fad58cbSSimon Dardismfhi $6 # CHECK: mfhi $6 # encoding: [0x00,0x06,0x0d,0x7c] 202846bdb74SHrvoje Varga# FIXME: MTLO should also have its 16 bit implementation selected in micromips 203846bdb74SHrvoje Vargamtlo $6 # CHECK: mtlo $6 # encoding: [0x00,0x06,0x3d,0x7c] 2040fad58cbSSimon Dardismflo $6 # CHECK: mflo $6 # encoding: [0x00,0x06,0x1d,0x7c] 20574fb5e67SSimon Dardismfc1 $3, $f4 # CHECK: mfc1 $3, $f4 # encoding: [0x54,0x64,0x20,0x3b] 20674fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} MFC1_MM 20774fb5e67SSimon Dardismtc1 $2, $f4 # CHECK: mtc1 $2, $f4 # encoding: [0x54,0x44,0x28,0x3b] 20874fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} MTC1_MM 209b3e7ed3bSStefan Maksimovicmfhc1 $4, $f0 # CHECK: mfhc1 $4, $f0 # encoding: [0x54,0x80,0x30,0x3b] 210b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} MFHC1_D32_MM 211b3e7ed3bSStefan Maksimovicmthc1 $4, $f0 # CHECK: mthc1 $4, $f0 # encoding: [0x54,0x80,0x38,0x3b] 212b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} MTHC1_D32_MM 213846bdb74SHrvoje Vargamadd $4, $5 # CHECK: madd $4, $5 # encoding: [0x00,0xa4,0xcb,0x3c] 214846bdb74SHrvoje Vargamaddu $4, $5 # CHECK: maddu $4, $5 # encoding: [0x00,0xa4,0xdb,0x3c] 215846bdb74SHrvoje Vargamsub $4, $5 # CHECK: msub $4, $5 # encoding: [0x00,0xa4,0xeb,0x3c] 216846bdb74SHrvoje Vargamsubu $4, $5 # CHECK: msubu $4, $5 # encoding: [0x00,0xa4,0xfb,0x3c] 217b3e7ed3bSStefan Maksimovicneg.d $f0, $f2 # CHECK: neg.d $f0, $f2 # encoding: [0x54,0x02,0x2b,0x7b] 218b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} FNEG_D32_MM 219846bdb74SHrvoje Vargaclz $9, $6 # CHECK: clz $9, $6 # encoding: [0x01,0x26,0x5b,0x3c] 2207563624fSSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} CLZ_MM 221846bdb74SHrvoje Vargaclo $9, $6 # CHECK: clo $9, $6 # encoding: [0x01,0x26,0x4b,0x3c] 2227563624fSSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} CLO_MM 223846bdb74SHrvoje Vargaseb $9, $6 # CHECK: seb $9, $6 # encoding: [0x01,0x26,0x2b,0x3c] 22465b0492fSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SEB_MM 2256efb8dd2SSimon Dardisseb $9 # CHECK: seb $9, $9 # encoding: [0x01,0x29,0x2b,0x3c] 22665b0492fSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SEB_MM 227846bdb74SHrvoje Vargaseh $9, $6 # CHECK: seh $9, $6 # encoding: [0x01,0x26,0x3b,0x3c] 22865b0492fSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SEH_MM 2296efb8dd2SSimon Dardisseh $9 # CHECK: seh $9, $9 # encoding: [0x01,0x29,0x3b,0x3c] 23065b0492fSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SEH_MM 231846bdb74SHrvoje Vargawsbh $9, $6 # CHECK: wsbh $9, $6 # encoding: [0x01,0x26,0x7b,0x3c] 232846bdb74SHrvoje Vargaext $9, $6, 3, 7 # CHECK: ext $9, $6, 3, 7 # encoding: [0x01,0x26,0x30,0xec] 233846bdb74SHrvoje Vargains $9, $6, 3, 7 # CHECK: ins $9, $6, 3, 7 # encoding: [0x01,0x26,0x48,0xcc] 234846bdb74SHrvoje Vargaj 1328 # CHECK: j 1328 # encoding: [0xd4,0x00,0x02,0x98] 235846bdb74SHrvoje Vargajal 1328 # CHECK: jal 1328 # encoding: [0xf4,0x00,0x02,0x98] 236846bdb74SHrvoje Vargajalr $ra, $6 # CHECK: jalr $ra, $6 # encoding: [0x03,0xe6,0x0f,0x3c] 237846bdb74SHrvoje Vargajr $7 # CHECK: jr $7 # encoding: [0x00,0x07,0x0f,0x3c] 238846bdb74SHrvoje Vargabeq $9, $6, 1332 # CHECK: beq $9, $6, 1332 # encoding: [0x94,0xc9,0x02,0x9a] 239846bdb74SHrvoje Vargabgez $6, 1332 # CHECK: bgez $6, 1332 # encoding: [0x40,0x46,0x02,0x9a] 240846bdb74SHrvoje Vargabgezal $6, 1332 # CHECK: bgezal $6, 1332 # encoding: [0x40,0x66,0x02,0x9a] 241846bdb74SHrvoje Vargabltzal $6, 1332 # CHECK: bltzal $6, 1332 # encoding: [0x40,0x26,0x02,0x9a] 242846bdb74SHrvoje Vargabgtz $6, 1332 # CHECK: bgtz $6, 1332 # encoding: [0x40,0xc6,0x02,0x9a] 243846bdb74SHrvoje Vargablez $6, 1332 # CHECK: blez $6, 1332 # encoding: [0x40,0x86,0x02,0x9a] 244846bdb74SHrvoje Vargabne $9, $6, 1332 # CHECK: bne $9, $6, 1332 # encoding: [0xb4,0xc9,0x02,0x9a] 245846bdb74SHrvoje Vargabltz $6, 1332 # CHECK: bltz $6, 1332 # encoding: [0x40,0x06,0x02,0x9a] 246846bdb74SHrvoje Vargateq $8, $9 # CHECK: teq $8, $9 # encoding: [0x01,0x28,0x00,0x3c] 247846bdb74SHrvoje Vargatge $8, $9 # CHECK: tge $8, $9 # encoding: [0x01,0x28,0x02,0x3c] 248846bdb74SHrvoje Vargatgeu $8, $9 # CHECK: tgeu $8, $9 # encoding: [0x01,0x28,0x04,0x3c] 249846bdb74SHrvoje Vargatlt $8, $9 # CHECK: tlt $8, $9 # encoding: [0x01,0x28,0x08,0x3c] 250846bdb74SHrvoje Vargatltu $8, $9 # CHECK: tltu $8, $9 # encoding: [0x01,0x28,0x0a,0x3c] 251846bdb74SHrvoje Vargatne $8, $9 # CHECK: tne $8, $9 # encoding: [0x01,0x28,0x0c,0x3c] 252846bdb74SHrvoje Vargateqi $9, 17767 # CHECK: teqi $9, 17767 # encoding: [0x41,0xc9,0x45,0x67] 253846bdb74SHrvoje Vargatgei $9, 17767 # CHECK: tgei $9, 17767 # encoding: [0x41,0x29,0x45,0x67] 254846bdb74SHrvoje Vargatgeiu $9, 17767 # CHECK: tgeiu $9, 17767 # encoding: [0x41,0x69,0x45,0x67] 255846bdb74SHrvoje Vargatlti $9, 17767 # CHECK: tlti $9, 17767 # encoding: [0x41,0x09,0x45,0x67] 256846bdb74SHrvoje Vargatltiu $9, 17767 # CHECK: tltiu $9, 17767 # encoding: [0x41,0x49,0x45,0x67] 257846bdb74SHrvoje Vargatnei $9, 17767 # CHECK: tnei $9, 17767 # encoding: [0x41,0x89,0x45,0x67] 258846bdb74SHrvoje Vargacache 1, 8($5) # CHECK: cache 1, 8($5) # encoding: [0x20,0x25,0x60,0x08] 259437153bbSSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} CACHE_MM 260846bdb74SHrvoje Vargapref 1, 8($5) # CHECK: pref 1, 8($5) # encoding: [0x60,0x25,0x20,0x08] 261437153bbSSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} PREF_MM 262846bdb74SHrvoje Vargassnop # CHECK: ssnop # encoding: [0x00,0x00,0x08,0x00] 263846bdb74SHrvoje Vargaehb # CHECK: ehb # encoding: [0x00,0x00,0x18,0x00] 264846bdb74SHrvoje Vargapause # CHECK: pause # encoding: [0x00,0x00,0x28,0x00] 265846bdb74SHrvoje Vargall $2, 8($4) # CHECK: ll $2, 8($4) # encoding: [0x60,0x44,0x30,0x08] 266846bdb74SHrvoje Vargasc $2, 8($4) # CHECK: sc $2, 8($4) # encoding: [0x60,0x44,0xb0,0x08] 267846bdb74SHrvoje Vargalwxs $2, $3($4) # CHECK: lwxs $2, $3($4) # encoding: [0x00,0x64,0x11,0x18] 268846bdb74SHrvoje Vargabgezals $6, 1332 # CHECK: bgezals $6, 1332 # encoding: [0x42,0x66,0x02,0x9a] 269846bdb74SHrvoje Vargabltzals $6, 1332 # CHECK: bltzals $6, 1332 # encoding: [0x42,0x26,0x02,0x9a] 270846bdb74SHrvoje Vargabeqzc $9, 1332 # CHECK: beqzc $9, 1332 # encoding: [0x40,0xe9,0x02,0x9a] 271846bdb74SHrvoje Vargabnezc $9, 1332 # CHECK: bnezc $9, 1332 # encoding: [0x40,0xa9,0x02,0x9a] 272846bdb74SHrvoje Vargajals 1328 # CHECK: jals 1328 # encoding: [0x74,0x00,0x02,0x98] 273846bdb74SHrvoje Vargajalrs $ra, $6 # CHECK: jalrs $ra, $6 # encoding: [0x03,0xe6,0x4f,0x3c] 274846bdb74SHrvoje Vargalwm32 $16, $17, 8($4) # CHECK: lwm32 $16, $17, 8($4) # encoding: [0x20,0x44,0x50,0x08] 275846bdb74SHrvoje Vargalwm32 $16, $17, $18, $19, $20, $21, $22, $23, $fp, -1660($27) # CHECK: lwm32 $16, $17, $18, $19, $20, $21, $22, $23, $fp, -1660($27) # encoding: [0x21,0x3b,0x59,0x84] 276846bdb74SHrvoje Vargaswm32 $16, $17, 8($4) # CHECK: swm32 $16, $17, 8($4) # encoding: [0x20,0x44,0xd0,0x08] 277846bdb74SHrvoje Vargaswp $16, 8($4) # CHECK: swp $16, 8($4) # encoding: [0x22,0x04,0x90,0x08] 278846bdb74SHrvoje Vargalwp $16, 8($4) # CHECK: lwp $16, 8($4) # encoding: [0x22,0x04,0x10,0x08] 279846bdb74SHrvoje Varganop # CHECK: nop # encoding: [0x00,0x00,0x00,0x00] 280846bdb74SHrvoje Vargaaddiupc $2, 20 # CHECK: addiupc $2, 20 # encoding: [0x79,0x00,0x00,0x05] 281846bdb74SHrvoje Vargaaddiupc $7, 16777212 # CHECK: addiupc $7, 16777212 # encoding: [0x7b,0xbf,0xff,0xff] 282846bdb74SHrvoje Vargaaddiupc $7, -16777216 # CHECK: addiupc $7, -16777216 # encoding: [0x7b,0xc0,0x00,0x00] 283846bdb74SHrvoje Vargaei # CHECK: ei # encoding: [0x00,0x00,0x57,0x7c] 284846bdb74SHrvoje Vargaei $10 # CHECK: ei $10 # encoding: [0x00,0x0a,0x57,0x7c] 285846bdb74SHrvoje Vargacachee 1, 8($5) # CHECK: cachee 1, 8($5) # encoding: [0x60,0x25,0xa6,0x08] 286846bdb74SHrvoje Vargaprefe 1, 8($5) # CHECK: prefe 1, 8($5) # encoding: [0x60,0x25,0xa4,0x08] 287846bdb74SHrvoje Vargaprefx 1, $3($5) # CHECK: prefx 1, $3($5) # encoding: [0x54,0x65,0x09,0xa0] 288846bdb74SHrvoje Vargalhue $4, 8($2) # CHECK: lhue $4, 8($2) # encoding: [0x60,0x82,0x62,0x08] 289846bdb74SHrvoje Vargalbe $4, 8($2) # CHECK: lbe $4, 8($2) # encoding: [0x60,0x82,0x68,0x08] 290846bdb74SHrvoje Vargalbue $4, 8($2) # CHECK: lbue $4, 8($2) # encoding: [0x60,0x82,0x60,0x08] 291846bdb74SHrvoje Vargalhe $4, 8($2) # CHECK: lhe $4, 8($2) # encoding: [0x60,0x82,0x6a,0x08] 292846bdb74SHrvoje Vargalwe $4, 8($2) # CHECK: lwe $4, 8($2) # encoding: [0x60,0x82,0x6e,0x08] 293846bdb74SHrvoje Vargasbe $5, 8($4) # CHECK: sbe $5, 8($4) # encoding: [0x60,0xa4,0xa8,0x08] 294846bdb74SHrvoje Vargashe $5, 8($4) # CHECK: she $5, 8($4) # encoding: [0x60,0xa4,0xaa,0x08] 295846bdb74SHrvoje Vargaswe $5, 8($4) # CHECK: swe $5, 8($4) # encoding: [0x60,0xa4,0xae,0x08] 296846bdb74SHrvoje Vargaswre $24, 5($3) # CHECK: swre $24, 5($3) # encoding: [0x63,0x03,0xa2,0x05] 297846bdb74SHrvoje Vargaswle $24, 5($3) # CHECK: swle $24, 5($3) # encoding: [0x63,0x03,0xa0,0x05] 298846bdb74SHrvoje Vargalwre $24, 5($3) # CHECK: lwre $24, 5($3) # encoding: [0x63,0x03,0x66,0x05] 299846bdb74SHrvoje Vargalwle $24, 2($4) # CHECK: lwle $24, 2($4) # encoding: [0x63,0x04,0x64,0x02] 300846bdb74SHrvoje Vargalle $2, 8($4) # CHECK: lle $2, 8($4) # encoding: [0x60,0x44,0x6c,0x08] 301846bdb74SHrvoje Vargasce $2, 8($4) # CHECK: sce $2, 8($4) # encoding: [0x60,0x44,0xac,0x08] 302846bdb74SHrvoje Vargasyscall # CHECK: syscall # encoding: [0x00,0x00,0x8b,0x7c] 303846bdb74SHrvoje Vargasyscall 396 # CHECK: syscall 396 # encoding: [0x01,0x8c,0x8b,0x7c] 304846bdb74SHrvoje Varga# FIXME: ldc1 should accept uneven registers 305846bdb74SHrvoje Varga# ldc1 $f7, 300($10) # -CHECK: ldc1 $f7, 300($10) # encoding: [0xbc,0xea,0x01,0x2c] 306846bdb74SHrvoje Vargaldc1 $f8, 300($10) # CHECK: ldc1 $f8, 300($10) # encoding: [0xbd,0x0a,0x01,0x2c] 307846bdb74SHrvoje Vargalwc1 $f2, 4($6) # CHECK: lwc1 $f2, 4($6) # encoding: [0x9c,0x46,0x00,0x04] 30874fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} LWC1_MM 309846bdb74SHrvoje Vargasdc1 $f2, 4($6) # CHECK: sdc1 $f2, 4($6) # encoding: [0xb8,0x46,0x00,0x04] 310846bdb74SHrvoje Varga# FIXME: sdc1 should accept uneven registers 311846bdb74SHrvoje Varga# sdc1 $f7, 64($10) # -CHECK: sdc1 $f7, 64($10) # encoding: [0xb8,0xea,0x00,0x40] 312846bdb74SHrvoje Vargaswc1 $f2, 4($6) # CHECK: swc1 $f2, 4($6) # encoding: [0x98,0x46,0x00,0x04] 31374fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst #{{.*}} SWC1_MM 314846bdb74SHrvoje Vargacfc1 $1, $2 # CHECK: cfc1 $1, $2 # encoding: [0x54,0x22,0x10,0x3b] 31574fb5e67SSimon Dardis # CHECK: # <MCInst #{{.*}} CFC1_MM 316846bdb74SHrvoje Vargacfc2 $3, $4 # CHECK: cfc2 $3, $4 # encoding: [0x00,0x64,0xcd,0x3c] 317846bdb74SHrvoje Vargactc1 $5, $6 # CHECK: ctc1 $5, $6 # encoding: [0x54,0xa6,0x18,0x3b] 31874fb5e67SSimon Dardis # CHECK: # <MCInst #{{.*}} CTC1_MM 319846bdb74SHrvoje Vargactc2 $7, $8 # CHECK: ctc2 $7, $8 # encoding: [0x00,0xe8,0xdd,0x3c] 320f45a59f8SSimon Dardisrecip.s $f2, $f4 # CHECK: recip.s $f2, $f4 # encoding: [0x54,0x44,0x12,0x3b] 321f45a59f8SSimon Dardisrecip.d $f2, $f4 # CHECK: recip.d $f2, $f4 # encoding: [0x54,0x44,0x52,0x3b] 322f45a59f8SSimon Dardisrsqrt.s $f3, $f5 # CHECK: rsqrt.s $f3, $f5 # encoding: [0x54,0x65,0x02,0x3b] 323f45a59f8SSimon Dardisrsqrt.d $f2, $f4 # CHECK: rsqrt.d $f2, $f4 # encoding: [0x54,0x44,0x42,0x3b] 324730fdb73SSimon Dardisc.eq.d $fcc1, $f14, $f14 # CHECK: c.eq.d $fcc1, $f14, $f14 # encoding: [0x55,0xce,0x24,0xbc] 325730fdb73SSimon Dardisc.eq.s $fcc5, $f24, $f17 # CHECK: c.eq.s $fcc5, $f24, $f17 # encoding: [0x56,0x38,0xa0,0xbc] 326730fdb73SSimon Dardisc.f.d $fcc4, $f10, $f20 # CHECK: c.f.d $fcc4, $f10, $f20 # encoding: [0x56,0x8a,0x84,0x3c] 327730fdb73SSimon Dardisc.f.s $fcc4, $f30, $f7 # CHECK: c.f.s $fcc4, $f30, $f7 # encoding: [0x54,0xfe,0x80,0x3c] 328730fdb73SSimon Dardisc.le.d $fcc4, $f18, $f0 # CHECK: c.le.d $fcc4, $f18, $f0 # encoding: [0x54,0x12,0x87,0xbc] 329730fdb73SSimon Dardisc.le.s $fcc6, $f24, $f4 # CHECK: c.le.s $fcc6, $f24, $f4 # encoding: [0x54,0x98,0xc3,0xbc] 330730fdb73SSimon Dardisc.lt.d $fcc3, $f8, $f2 # CHECK: c.lt.d $fcc3, $f8, $f2 # encoding: [0x54,0x48,0x67,0x3c] 331730fdb73SSimon Dardisc.lt.s $fcc2, $f17, $f14 # CHECK: c.lt.s $fcc2, $f17, $f14 # encoding: [0x55,0xd1,0x43,0x3c] 332730fdb73SSimon Dardisc.nge.d $fcc5, $f20, $f16 # CHECK: c.nge.d $fcc5, $f20, $f16 # encoding: [0x56,0x14,0xa7,0x7c] 333730fdb73SSimon Dardisc.nge.s $fcc3, $f11, $f8 # CHECK: c.nge.s $fcc3, $f11, $f8 # encoding: [0x55,0x0b,0x63,0x7c] 334730fdb73SSimon Dardisc.ngl.s $fcc2, $f31, $f23 # CHECK: c.ngl.s $fcc2, $f31, $f23 # encoding: [0x56,0xff,0x42,0xfc] 335730fdb73SSimon Dardisc.ngle.s $fcc2, $f18, $f23 # CHECK: c.ngle.s $fcc2, $f18, $f23 # encoding: [0x56,0xf2,0x42,0x7c] 336730fdb73SSimon Dardisc.ngl.d $f28, $f28 # CHECK: c.ngl.d $f28, $f28 # encoding: [0x57,0x9c,0x06,0xfc] 337730fdb73SSimon Dardisc.ngle.d $f0, $f16 # CHECK: c.ngle.d $f0, $f16 # encoding: [0x56,0x00,0x06,0x7c] 338730fdb73SSimon Dardisc.ngt.d $fcc4, $f24, $f6 # CHECK: c.ngt.d $fcc4, $f24, $f6 # encoding: [0x54,0xd8,0x87,0xfc] 339730fdb73SSimon Dardisc.ngt.s $fcc5, $f8, $f13 # CHECK: c.ngt.s $fcc5, $f8, $f13 # encoding: [0x55,0xa8,0xa3,0xfc] 340730fdb73SSimon Dardisc.ole.d $fcc2, $f16, $f30 # CHECK: c.ole.d $fcc2, $f16, $f30 # encoding: [0x57,0xd0,0x45,0xbc] 341730fdb73SSimon Dardisc.ole.s $fcc3, $f7, $f20 # CHECK: c.ole.s $fcc3, $f7, $f20 # encoding: [0x56,0x87,0x61,0xbc] 342730fdb73SSimon Dardisc.olt.d $fcc4, $f18, $f28 # CHECK: c.olt.d $fcc4, $f18, $f28 # encoding: [0x57,0x92,0x85,0x3c] 343730fdb73SSimon Dardisc.olt.s $fcc6, $f20, $f7 # CHECK: c.olt.s $fcc6, $f20, $f7 # encoding: [0x54,0xf4,0xc1,0x3c] 344730fdb73SSimon Dardisc.seq.d $fcc4, $f30, $f6 # CHECK: c.seq.d $fcc4, $f30, $f6 # encoding: [0x54,0xde,0x86,0xbc] 345730fdb73SSimon Dardisc.seq.s $fcc7, $f1, $f25 # CHECK: c.seq.s $fcc7, $f1, $f25 # encoding: [0x57,0x21,0xe2,0xbc] 346730fdb73SSimon Dardisc.sf.d $f30, $f0 # CHECK: c.sf.d $f30, $f0 # encoding: [0x54,0x1e,0x06,0x3c] 347730fdb73SSimon Dardisc.sf.s $f14, $f22 # CHECK: c.sf.s $f14, $f22 # encoding: [0x56,0xce,0x02,0x3c] 348730fdb73SSimon Dardisc.ueq.d $fcc4, $f12, $f24 # CHECK: c.ueq.d $fcc4, $f12, $f24 # encoding: [0x57,0x0c,0x84,0xfc] 349730fdb73SSimon Dardisc.ueq.s $fcc6, $f3, $f30 # CHECK: c.ueq.s $fcc6, $f3, $f30 # encoding: [0x57,0xc3,0xc0,0xfc] 350730fdb73SSimon Dardisc.ule.d $fcc7, $f24, $f18 # CHECK: c.ule.d $fcc7, $f24, $f18 # encoding: [0x56,0x58,0xe5,0xfc] 351730fdb73SSimon Dardisc.ule.s $fcc7, $f21, $f30 # CHECK: c.ule.s $fcc7, $f21, $f30 # encoding: [0x57,0xd5,0xe1,0xfc] 352730fdb73SSimon Dardisc.ult.d $fcc6, $f6, $f16 # CHECK: c.ult.d $fcc6, $f6, $f16 # encoding: [0x56,0x06,0xc5,0x7c] 353730fdb73SSimon Dardisc.ult.s $fcc7, $f24, $f10 # CHECK: c.ult.s $fcc7, $f24, $f10 # encoding: [0x55,0x58,0xe1,0x7c] 354730fdb73SSimon Dardisc.un.d $fcc6, $f22, $f24 # CHECK: c.un.d $fcc6, $f22, $f24 # encoding: [0x57,0x16,0xc4,0x7c] 355730fdb73SSimon Dardisc.un.s $fcc1, $f30, $f4 # CHECK: c.un.s $fcc1, $f30, $f4 # encoding: [0x54,0x9e,0x20,0x7c] 356b3e7ed3bSStefan Maksimoviccvt.w.d $f0, $f2 # CHECK: cvt.w.d $f0, $f2 # encoding: [0x54,0x02,0x49,0x3b] 357b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} CVT_W_D32_MM 358b3e7ed3bSStefan Maksimoviccvt.d.s $f0, $f2 # CHECK: cvt.d.s $f0, $f2 # encoding: [0x54,0x02,0x13,0x7b] 359b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} CVT_D32_S_MM 360b3e7ed3bSStefan Maksimoviccvt.d.w $f0, $f2 # CHECK: cvt.d.w $f0, $f2 # encoding: [0x54,0x02,0x33,0x7b] 361b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} CVT_D32_W_MM 362b3e7ed3bSStefan Maksimoviccvt.s.d $f0, $f2 # CHECK: cvt.s.d $f0, $f2 # encoding: [0x54,0x02,0x1b,0x7b] 363b3e7ed3bSStefan Maksimovic # CHECK-NEXT: # <MCInst #{{[0-9]+}} CVT_S_D32_MM 364730fdb73SSimon Dardisbc1t 8 # CHECK: bc1t 8 # encoding: [0x43,0xa0,0x00,0x04] 3650d378a9eSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} BC1T_MM 366730fdb73SSimon Dardisbc1f 16 # CHECK: bc1f 16 # encoding: [0x43,0x80,0x00,0x08] 3670d378a9eSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} BC1F_MM 3680d378a9eSSimon Dardisbc1t $fcc1, 4 # CHECK: bc1t $fcc1, 4 # encoding: [0x43,0xa4,0x00,0x02] 3690d378a9eSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} BC1T_MM 3700d378a9eSSimon Dardisbc1f $fcc2, -20 # CHECK: bc1f $fcc2, -20 # encoding: [0x43,0x88,0xff,0xf6] 3710d378a9eSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} BC1F_MM 3729c348548SSimon Dardissync # CHECK: sync # encoding: [0x00,0x00,0x6b,0x7c] 373eac9301cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SYNC_MM 374eac9301cSSimon Dardissync 0 # CHECK: sync # encoding: [0x00,0x00,0x6b,0x7c] 375eac9301cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SYNC_MM 3769c348548SSimon Dardissync 1 # CHECK: sync 1 # encoding: [0x00,0x01,0x6b,0x7c] 377eac9301cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SYNC_MM 378eac9301cSSimon Dardissynci 64($5) # CHECK: synci 64($5) # encoding: [0x42,0x05,0x00,0x40] 379eac9301cSSimon Dardis # CHECK-NEXT: # <MCInst #{{[0-9]+}} SYNCI_MM 38074fb5e67SSimon Dardisadd.s $f4, $f6, $f8 # CHECK: add.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0x30] 38174fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FADD_S_MM 38274fb5e67SSimon Dardissub.s $f4, $f6, $f8 # CHECK: sub.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0x70] 38374fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FSUB_S_MM 38474fb5e67SSimon Dardismul.s $f4, $f6, $f8 # CHECK: mul.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0xb0] 38574fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FMUL_S_MM 38674fb5e67SSimon Dardisdiv.s $f4, $f6, $f8 # CHECK: div.s $f4, $f6, $f8 # encoding: [0x55,0x06,0x20,0xf0] 38774fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FDIV_S_MM 38874fb5e67SSimon Dardisadd.d $f4, $f6, $f8 # CHECK: add.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0x30] 38974fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FADD_D32_MM 39074fb5e67SSimon Dardissub.d $f4, $f6, $f8 # CHECK: sub.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0x70] 39174fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FSUB_D32_MM 39274fb5e67SSimon Dardismul.d $f4, $f6, $f8 # CHECK: mul.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0xb0] 39374fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FMUL_D32_MM 39474fb5e67SSimon Dardisdiv.d $f4, $f6, $f8 # CHECK: div.d $f4, $f6, $f8 # encoding: [0x55,0x06,0x21,0xf0] 39574fb5e67SSimon Dardis # CHECK-NEXT: # <MCInst {{.*}} FDIV_D32_MM 396