Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

View File

@@ -0,0 +1,37 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa | \
# RUN: FileCheck %s -check-prefix=CHECK-ASM
#
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -filetype=obj -o - | \
# RUN: llvm-readobj -sections -section-data -section-relocations - | \
# RUN: FileCheck %s -check-prefix=CHECK-OBJ
# CHECK-ASM: .module fp=32
# CHECK-ASM: .set fp=64
# Checking if the Mips.abiflags were correctly emitted.
# CHECK-OBJ: Section {
# CHECK-OBJ: Index: 5
# CHECK-OBJ-LABEL: Name: .MIPS.abiflags (12)
# CHECK-OBJ: Type: SHT_MIPS_ABIFLAGS (0x7000002A)
# CHECK-OBJ: Flags [ (0x2)
# CHECK-OBJ: SHF_ALLOC (0x2)
# CHECK-OBJ: ]
# CHECK-OBJ: Address: 0x0
# CHECK-OBJ: Size: 24
# CHECK-OBJ: Link: 0
# CHECK-OBJ: Info: 0
# CHECK-OBJ: AddressAlignment: 8
# CHECK-OBJ: EntrySize: 24
# CHECK-OBJ: Relocations [
# CHECK-OBJ: ]
# CHECK-OBJ: SectionData (
# CHECK-OBJ: 0000: 00002002 01030001 00000000 00000200 |.. .............|
# CHECK-OBJ: 0010: 00000001 00000000 |........|
# CHECK-OBJ: )
# CHECK-OBJ-LABEL: }
.module fp=32
.set fp=64
# FIXME: Test should include gnu_attributes directive when implemented.
# An explicit .gnu_attribute must be checked against the effective
# command line options and any inconsistencies reported via a warning.

View File

@@ -0,0 +1,66 @@
# Instructions that are invalid
#
# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips64r2 -mattr=+msa \
# RUN: -show-encoding 2>%t1
# RUN: FileCheck %s < %t1
.set noat
dlsa $2, $3, $4, 0 # CHECK: :[[@LINE]]:25: error: expected immediate in range 1 .. 4
dlsa $2, $3, $4, 5 # CHECK: :[[@LINE]]:25: error: expected immediate in range 1 .. 4
insve.b $w25[-1], $w9[0] # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
insve.b $w25[16], $w9[0] # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
insve.h $w24[-1], $w2[0] # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
insve.h $w24[8], $w2[0] # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
insve.w $w0[-1], $w13[0] # CHECK: :[[@LINE]]:17: error: expected 2-bit unsigned immediate
insve.w $w0[4], $w13[0] # CHECK: :[[@LINE]]:17: error: expected 2-bit unsigned immediate
insve.d $w3[-1], $w18[0] # CHECK: :[[@LINE]]:17: error: expected 1-bit unsigned immediate
insve.d $w3[2], $w18[0] # CHECK: :[[@LINE]]:17: error: expected 1-bit unsigned immediate
insve.b $w25[3], $w9[1] # CHECK: :[[@LINE]]:26: error: expected '0'
insve.h $w24[2], $w2[1] # CHECK: :[[@LINE]]:26: error: expected '0'
insve.w $w0[2], $w13[1] # CHECK: :[[@LINE]]:26: error: expected '0'
insve.d $w3[0], $w18[1] # CHECK: :[[@LINE]]:26: error: expected '0'
lsa $2, $3, $4, 0 # CHECK: :[[@LINE]]:25: error: expected immediate in range 1 .. 4
lsa $2, $3, $4, 5 # CHECK: :[[@LINE]]:25: error: expected immediate in range 1 .. 4
sat_s.b $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_s.b $w31, $w31, 8 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_s.h $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_s.h $w31, $w31, 16 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_s.w $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_s.w $w31, $w31, 32 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_s.d $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
sat_s.d $w31, $w31, 64 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
sat_u.b $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_u.b $w31, $w31, 8 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_u.h $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_u.h $w31, $w31, 16 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_u.w $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_u.w $w31, $w31, 32 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_u.d $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
sat_u.d $w31, $w31, 64 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
shf.b $w19, $w30, -1 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
shf.h $w17, $w8, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
shf.w $w14, $w3, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
sldi.b $w0, $w29[-1] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
sldi.b $w0, $w29[16] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
sldi.d $w4, $w12[-1] # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
sldi.d $w4, $w12[2] # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
sldi.h $w8, $w17[-1] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
sldi.h $w8, $w17[8] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
sldi.w $w20, $w27[-1] # CHECK: :[[@LINE]]:23: error: expected 2-bit unsigned immediate
sldi.w $w20, $w27[4] # CHECK: :[[@LINE]]:23: error: expected 2-bit unsigned immediate
srari.b $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srari.b $w5, $w25, 8 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srari.h $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srari.h $w5, $w25, 16 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srari.w $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srari.w $w5, $w25, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srari.d $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
srari.d $w5, $w25, 64 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
srlri.b $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srlri.b $w18, $w3, 8 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srlri.h $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srlri.h $w18, $w3, 16 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srlri.w $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srlri.w $w18, $w3, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srlri.d $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
srlri.d $w18, $w3, 64 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate

View File

@@ -0,0 +1,287 @@
# Instructions that are invalid
#
# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 -mattr=+msa \
# RUN: -show-encoding 2>%t1
# RUN: FileCheck %s < %t1
.set noat
addvi.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.b $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.h $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.h $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.w $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.w $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.d $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
addvi.d $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
andi.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
andi.b $w1, $w2, 256 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
bclri.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
bclri.b $w1, $w2, 8 # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
bclri.h $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
bclri.h $w1, $w2, 16 # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
bclri.w $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
bclri.w $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
bclri.d $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
bclri.d $w1, $w2, 64 # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
binsli.b $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
binsli.b $w1, $w2, 8 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
binsli.h $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
binsli.h $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
binsli.w $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
binsli.w $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
binsli.d $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
binsli.d $w1, $w2, 64 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
binsri.b $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
binsri.b $w1, $w2, 8 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
binsri.h $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
binsri.h $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
binsri.w $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
binsri.w $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
binsri.d $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
binsri.d $w1, $w2, 64 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
bmnzi.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
bmnzi.b $w1, $w2, 256 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
bmzi.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
bmzi.b $w1, $w2, 256 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
bnegi.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
bnegi.b $w1, $w2, 8 # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
bnegi.h $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
bnegi.h $w1, $w2, 16 # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
bnegi.w $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
bnegi.w $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
bnegi.d $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
bnegi.d $w1, $w2, 64 # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
bseli.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
bseli.b $w1, $w2, 256 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
bseti.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
bseti.b $w1, $w2, 8 # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
bseti.h $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
bseti.h $w1, $w2, 16 # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
bseti.w $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
bseti.w $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
bseti.d $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
bseti.d $w1, $w2, 64 # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
ceqi.b $w1, $w2, -17 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.b $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.h $w1, $w2, -17 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.h $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.w $w1, $w2, -17 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.w $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.d $w1, $w2, -17 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
ceqi.d $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
clei_s.b $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.b $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.h $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.h $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.w $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.w $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.d $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_s.d $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clei_u.b $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.b $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.h $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.h $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.w $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.w $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.d $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clei_u.d $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_s.b $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.b $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.h $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.h $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.w $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.w $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.d $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_s.d $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
clti_u.b $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.b $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.h $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.h $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.w $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.w $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.d $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
clti_u.d $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
copy_s.b $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
copy_s.b $2, $w9[16] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
copy_s.h $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
copy_s.h $2, $w9[8] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
copy_s.w $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: expected 2-bit unsigned immediate
copy_s.w $2, $w9[4] # CHECK: :[[@LINE]]:22: error: expected 2-bit unsigned immediate
copy_s.d $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: invalid operand for instruction
copy_s.d $2, $w9[2] # CHECK: :[[@LINE]]:22: error: invalid operand for instruction
copy_u.b $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
copy_u.b $2, $w9[16] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
copy_u.h $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
copy_u.h $2, $w9[8] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
copy_u.w $2, $w9[-1] # CHECK: :[[@LINE]]:22: error: invalid operand for instruction
copy_u.w $2, $w9[4] # CHECK: :[[@LINE]]:22: error: invalid operand for instruction
insert.b $w9[-1], $2 # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
insert.b $w9[16], $2 # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
insert.h $w9[-1], $2 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
insert.h $w9[8], $2 # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
insert.w $w9[-1], $2 # CHECK: :[[@LINE]]:18: error: expected 2-bit unsigned immediate
insert.w $w9[4], $2 # CHECK: :[[@LINE]]:18: error: expected 2-bit unsigned immediate
insert.d $w9[-1], $2 # CHECK: :[[@LINE]]:18: error: invalid operand for instruction
insert.d $w9[2], $2 # CHECK: :[[@LINE]]:18: error: invalid operand for instruction
insve.b $w25[-1], $w9[0] # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
insve.b $w25[16], $w9[0] # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
insve.h $w24[-1], $w2[0] # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
insve.h $w24[8], $w2[0] # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
insve.w $w0[-1], $w13[0] # CHECK: :[[@LINE]]:17: error: expected 2-bit unsigned immediate
insve.w $w0[4], $w13[0] # CHECK: :[[@LINE]]:17: error: expected 2-bit unsigned immediate
insve.d $w3[-1], $w18[0] # CHECK: :[[@LINE]]:17: error: expected 1-bit unsigned immediate
insve.d $w3[2], $w18[0] # CHECK: :[[@LINE]]:17: error: expected 1-bit unsigned immediate
insve.b $w25[3], $w9[1] # CHECK: :[[@LINE]]:26: error: expected '0'
insve.h $w24[2], $w2[1] # CHECK: :[[@LINE]]:26: error: expected '0'
insve.w $w0[2], $w13[1] # CHECK: :[[@LINE]]:26: error: expected '0'
insve.d $w3[0], $w18[1] # CHECK: :[[@LINE]]:26: error: expected '0'
ld.b $w0, -513($2) # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
ld.b $w0, 512($2) # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
ld.h $w0, -1025($2) # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
ld.h $w0, 1024($2) # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
ld.w $w0, -2049($2) # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
ld.w $w0, 2048($2) # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
ld.d $w0, -4097($2) # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
ld.d $w0, 4096($2) # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
ldi.b $w1, -1025 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.b $w1, 1024 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.h $w1, -1025 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.h $w1, 1024 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.w $w1, -1025 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.w $w1, 1024 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.d $w1, -1025 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
ldi.d $w1, 1024 # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
lsa $2, $3, $4, 0 # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 4
lsa $2, $3, $4, 5 # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 4
maxi_s.b $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.b $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.h $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.h $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.w $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.w $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.d $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_s.d $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
maxi_u.b $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.b $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.h $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.h $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.w $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.w $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.d $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
maxi_u.d $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_s.b $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.b $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.h $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.h $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.w $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.w $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.d $w1, $w2, -17 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_s.d $w1, $w2, 16 # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
mini_u.b $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.b $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.h $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.h $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.w $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.w $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.d $w1, $w2, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
mini_u.d $w1, $w2, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
nori.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
nori.b $w1, $w2, 256 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
ori.b $w1, $w2, -1 # CHECK: :[[@LINE]]:21: error: expected 8-bit unsigned immediate
ori.b $w1, $w2, 256 # CHECK: :[[@LINE]]:21: error: expected 8-bit unsigned immediate
sat_s.b $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_s.b $w31, $w31, 8 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_s.h $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_s.h $w31, $w31, 16 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_s.w $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_s.w $w31, $w31, 32 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_s.d $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
sat_s.d $w31, $w31, 64 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
sat_u.b $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_u.b $w31, $w31, 8 # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
sat_u.h $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_u.h $w31, $w31, 16 # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
sat_u.w $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_u.w $w31, $w31, 32 # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
sat_u.d $w31, $w31, -1 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
sat_u.d $w31, $w31, 64 # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
shf.b $w19, $w30, -1 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
shf.b $w19, $w30, 256 # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
shf.h $w17, $w8, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
shf.h $w17, $w8, 256 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
shf.w $w14, $w3, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
shf.w $w14, $w3, 256 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
sldi.b $w0, $w29[-1] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
sldi.b $w0, $w29[16] # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
sldi.h $w8, $w17[-1] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
sldi.h $w8, $w17[8] # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
sldi.w $w20, $w27[-1] # CHECK: :[[@LINE]]:23: error: expected 2-bit unsigned immediate
sldi.w $w20, $w27[4] # CHECK: :[[@LINE]]:23: error: expected 2-bit unsigned immediate
sldi.d $w4, $w12[-1] # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
sldi.d $w4, $w12[2] # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
slli.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
slli.b $w1, $w2, 8 # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
slli.h $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
slli.h $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
slli.w $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
slli.w $w1, $w2, 32 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
slli.d $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
slli.d $w1, $w2, 64 # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
splati.b $w0, $w29[-1] # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
splati.b $w0, $w29[16] # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
splati.h $w8, $w17[-1] # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
splati.h $w8, $w17[8] # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
splati.w $w2, $w27[-1] # CHECK: :[[@LINE]]:24: error: expected 2-bit unsigned immediate
splati.w $w2, $w27[4] # CHECK: :[[@LINE]]:24: error: expected 2-bit unsigned immediate
splati.d $w4, $w12[-1] # CHECK: :[[@LINE]]:24: error: expected 1-bit unsigned immediate
splati.d $w4, $w12[2] # CHECK: :[[@LINE]]:24: error: expected 1-bit unsigned immediate
srai.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
srai.b $w1, $w2, 8 # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
srai.h $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
srai.h $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
srai.w $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
srai.w $w1, $w2, 32 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
srai.d $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
srai.d $w1, $w2, 64 # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
srari.b $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srari.b $w5, $w25, 8 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srari.h $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srari.h $w5, $w25, 16 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srari.w $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srari.w $w5, $w25, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srari.d $w5, $w25, -1 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
srari.d $w5, $w25, 64 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
srli.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
srli.b $w1, $w2, 8 # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
srli.h $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
srli.h $w1, $w2, 16 # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
srli.w $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
srli.w $w1, $w2, 32 # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
srli.d $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
srli.d $w1, $w2, 64 # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
srlri.b $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srlri.b $w18, $w3, 8 # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
srlri.h $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srlri.h $w18, $w3, 16 # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
srlri.w $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srlri.w $w18, $w3, 32 # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
srlri.d $w18, $w3, -1 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
srlri.d $w18, $w3, 64 # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
st.b $w0, -513($2) # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
st.b $w0, 512($2) # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
st.h $w0, -1025($2) # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
st.h $w0, 1024($2) # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
st.w $w0, -2049($2) # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
st.w $w0, 2048($2) # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
st.d $w0, -4097($2) # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
st.d $w0, 4096($2) # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
subvi.b $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.b $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.h $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.h $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.w $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.w $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.d $w1, $w2, -1 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
subvi.d $w1, $w2, 32 # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
xori.b $w1, $w2, -1 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
xori.b $w1, $w2, 256 # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate

View File

@@ -0,0 +1,11 @@
# RUN: not llvm-mc %s -arch=mips -mcpu=mips32r2 2>%t1
# RUN: FileCheck %s < %t1
.set nomsa
addvi.b $w14, $w12, 14 # CHECK: error: instruction requires a CPU feature not currently enabled
.set msa
addvi.h $w26, $w17, 4
.set nomsa
addvi.w $w19, $w13, 11 # CHECK: error: instruction requires a CPU feature not currently enabled

View File

@@ -0,0 +1,22 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 | FileCheck %s
# CHECK: .set msa
# CHECK: addvi.b $w14, $w12, 14
# CHECK: addvi.h $w26, $w17, 4
# CHECK: addvi.w $w19, $w13, 11
# CHECK: addvi.d $w16, $w19, 7
# CHECK: subvi.b $w14, $w12, 14
# CHECK: subvi.h $w26, $w17, 4
# CHECK: subvi.w $w19, $w13, 11
# CHECK: subvi.d $w16, $w19, 7
.set msa
addvi.b $w14, $w12, 14
addvi.h $w26, $w17, 4
addvi.w $w19, $w13, 11
addvi.d $w16, $w19, 7
subvi.b $w14, $w12, 14
subvi.h $w26, $w17, 4
subvi.w $w19, $w13, 11
subvi.d $w16, $w19, 7

View File

@@ -0,0 +1,33 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: fill.b $w30, $9 # encoding: [0x7b,0x00,0x4f,0x9e]
# CHECK: fill.h $w31, $23 # encoding: [0x7b,0x01,0xbf,0xde]
# CHECK: fill.w $w16, $24 # encoding: [0x7b,0x02,0xc4,0x1e]
# CHECK: nloc.b $w21, $w0 # encoding: [0x7b,0x08,0x05,0x5e]
# CHECK: nloc.h $w18, $w31 # encoding: [0x7b,0x09,0xfc,0x9e]
# CHECK: nloc.w $w2, $w23 # encoding: [0x7b,0x0a,0xb8,0x9e]
# CHECK: nloc.d $w4, $w10 # encoding: [0x7b,0x0b,0x51,0x1e]
# CHECK: nlzc.b $w31, $w2 # encoding: [0x7b,0x0c,0x17,0xde]
# CHECK: nlzc.h $w27, $w22 # encoding: [0x7b,0x0d,0xb6,0xde]
# CHECK: nlzc.w $w10, $w29 # encoding: [0x7b,0x0e,0xea,0x9e]
# CHECK: nlzc.d $w25, $w9 # encoding: [0x7b,0x0f,0x4e,0x5e]
# CHECK: pcnt.b $w20, $w18 # encoding: [0x7b,0x04,0x95,0x1e]
# CHECK: pcnt.h $w0, $w8 # encoding: [0x7b,0x05,0x40,0x1e]
# CHECK: pcnt.w $w23, $w9 # encoding: [0x7b,0x06,0x4d,0xde]
# CHECK: pcnt.d $w21, $w24 # encoding: [0x7b,0x07,0xc5,0x5e]
fill.b $w30, $9
fill.h $w31, $23
fill.w $w16, $24
nloc.b $w21, $w0
nloc.h $w18, $w31
nloc.w $w2, $w23
nloc.d $w4, $w10
nlzc.b $w31, $w2
nlzc.h $w27, $w22
nlzc.w $w10, $w29
nlzc.d $w25, $w9
pcnt.b $w20, $w18
pcnt.h $w0, $w8
pcnt.w $w23, $w9
pcnt.d $w21, $w24

View File

@@ -0,0 +1,5 @@
# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: fill.d $w27, $9 # encoding: [0x7b,0x03,0x4e,0xde]
fill.d $w27, $9

View File

@@ -0,0 +1,67 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: fclass.w $w26, $w12 # encoding: [0x7b,0x20,0x66,0x9e]
# CHECK: fclass.d $w24, $w17 # encoding: [0x7b,0x21,0x8e,0x1e]
# CHECK: fexupl.w $w8, $w0 # encoding: [0x7b,0x30,0x02,0x1e]
# CHECK: fexupl.d $w17, $w29 # encoding: [0x7b,0x31,0xec,0x5e]
# CHECK: fexupr.w $w13, $w4 # encoding: [0x7b,0x32,0x23,0x5e]
# CHECK: fexupr.d $w5, $w2 # encoding: [0x7b,0x33,0x11,0x5e]
# CHECK: ffint_s.w $w20, $w29 # encoding: [0x7b,0x3c,0xed,0x1e]
# CHECK: ffint_s.d $w12, $w15 # encoding: [0x7b,0x3d,0x7b,0x1e]
# CHECK: ffint_u.w $w7, $w27 # encoding: [0x7b,0x3e,0xd9,0xde]
# CHECK: ffint_u.d $w19, $w16 # encoding: [0x7b,0x3f,0x84,0xde]
# CHECK: ffql.w $w31, $w13 # encoding: [0x7b,0x34,0x6f,0xde]
# CHECK: ffql.d $w12, $w13 # encoding: [0x7b,0x35,0x6b,0x1e]
# CHECK: ffqr.w $w27, $w30 # encoding: [0x7b,0x36,0xf6,0xde]
# CHECK: ffqr.d $w30, $w15 # encoding: [0x7b,0x37,0x7f,0x9e]
# CHECK: flog2.w $w25, $w31 # encoding: [0x7b,0x2e,0xfe,0x5e]
# CHECK: flog2.d $w18, $w10 # encoding: [0x7b,0x2f,0x54,0x9e]
# CHECK: frint.w $w7, $w15 # encoding: [0x7b,0x2c,0x79,0xde]
# CHECK: frint.d $w21, $w22 # encoding: [0x7b,0x2d,0xb5,0x5e]
# CHECK: frcp.w $w19, $w0 # encoding: [0x7b,0x2a,0x04,0xde]
# CHECK: frcp.d $w4, $w14 # encoding: [0x7b,0x2b,0x71,0x1e]
# CHECK: frsqrt.w $w12, $w17 # encoding: [0x7b,0x28,0x8b,0x1e]
# CHECK: frsqrt.d $w23, $w11 # encoding: [0x7b,0x29,0x5d,0xde]
# CHECK: fsqrt.w $w0, $w11 # encoding: [0x7b,0x26,0x58,0x1e]
# CHECK: fsqrt.d $w15, $w12 # encoding: [0x7b,0x27,0x63,0xde]
# CHECK: ftint_s.w $w30, $w5 # encoding: [0x7b,0x38,0x2f,0x9e]
# CHECK: ftint_s.d $w5, $w23 # encoding: [0x7b,0x39,0xb9,0x5e]
# CHECK: ftint_u.w $w20, $w14 # encoding: [0x7b,0x3a,0x75,0x1e]
# CHECK: ftint_u.d $w23, $w21 # encoding: [0x7b,0x3b,0xad,0xde]
# CHECK: ftrunc_s.w $w29, $w17 # encoding: [0x7b,0x22,0x8f,0x5e]
# CHECK: ftrunc_s.d $w12, $w27 # encoding: [0x7b,0x23,0xdb,0x1e]
# CHECK: ftrunc_u.w $w17, $w15 # encoding: [0x7b,0x24,0x7c,0x5e]
# CHECK: ftrunc_u.d $w5, $w27 # encoding: [0x7b,0x25,0xd9,0x5e]
fclass.w $w26, $w12
fclass.d $w24, $w17
fexupl.w $w8, $w0
fexupl.d $w17, $w29
fexupr.w $w13, $w4
fexupr.d $w5, $w2
ffint_s.w $w20, $w29
ffint_s.d $w12, $w15
ffint_u.w $w7, $w27
ffint_u.d $w19, $w16
ffql.w $w31, $w13
ffql.d $w12, $w13
ffqr.w $w27, $w30
ffqr.d $w30, $w15
flog2.w $w25, $w31
flog2.d $w18, $w10
frint.w $w7, $w15
frint.d $w21, $w22
frcp.w $w19, $w0
frcp.d $w4, $w14
frsqrt.w $w12, $w17
frsqrt.d $w23, $w11
fsqrt.w $w0, $w11
fsqrt.d $w15, $w12
ftint_s.w $w30, $w5
ftint_s.d $w5, $w23
ftint_u.w $w20, $w14
ftint_u.d $w23, $w21
ftrunc_s.w $w29, $w17
ftrunc_s.d $w12, $w27
ftrunc_u.w $w17, $w15
ftrunc_u.d $w5, $w27

View File

@@ -0,0 +1,487 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: add_a.b $w26, $w9, $w4 # encoding: [0x78,0x04,0x4e,0x90]
# CHECK: add_a.h $w23, $w27, $w31 # encoding: [0x78,0x3f,0xdd,0xd0]
# CHECK: add_a.w $w11, $w6, $w22 # encoding: [0x78,0x56,0x32,0xd0]
# CHECK: add_a.d $w6, $w10, $w0 # encoding: [0x78,0x60,0x51,0x90]
# CHECK: adds_a.b $w19, $w24, $w19 # encoding: [0x78,0x93,0xc4,0xd0]
# CHECK: adds_a.h $w25, $w6, $w4 # encoding: [0x78,0xa4,0x36,0x50]
# CHECK: adds_a.w $w25, $w17, $w27 # encoding: [0x78,0xdb,0x8e,0x50]
# CHECK: adds_a.d $w15, $w18, $w26 # encoding: [0x78,0xfa,0x93,0xd0]
# CHECK: adds_s.b $w29, $w11, $w19 # encoding: [0x79,0x13,0x5f,0x50]
# CHECK: adds_s.h $w5, $w23, $w26 # encoding: [0x79,0x3a,0xb9,0x50]
# CHECK: adds_s.w $w16, $w14, $w13 # encoding: [0x79,0x4d,0x74,0x10]
# CHECK: adds_s.d $w2, $w14, $w28 # encoding: [0x79,0x7c,0x70,0x90]
# CHECK: adds_u.b $w3, $w17, $w14 # encoding: [0x79,0x8e,0x88,0xd0]
# CHECK: adds_u.h $w10, $w30, $w4 # encoding: [0x79,0xa4,0xf2,0x90]
# CHECK: adds_u.w $w15, $w18, $w20 # encoding: [0x79,0xd4,0x93,0xd0]
# CHECK: adds_u.d $w30, $w10, $w9 # encoding: [0x79,0xe9,0x57,0x90]
# CHECK: addv.b $w24, $w20, $w21 # encoding: [0x78,0x15,0xa6,0x0e]
# CHECK: addv.h $w4, $w13, $w27 # encoding: [0x78,0x3b,0x69,0x0e]
# CHECK: addv.w $w19, $w11, $w14 # encoding: [0x78,0x4e,0x5c,0xce]
# CHECK: addv.d $w2, $w21, $w31 # encoding: [0x78,0x7f,0xa8,0x8e]
# CHECK: asub_s.b $w23, $w16, $w3 # encoding: [0x7a,0x03,0x85,0xd1]
# CHECK: asub_s.h $w22, $w17, $w25 # encoding: [0x7a,0x39,0x8d,0x91]
# CHECK: asub_s.w $w24, $w1, $w9 # encoding: [0x7a,0x49,0x0e,0x11]
# CHECK: asub_s.d $w13, $w12, $w12 # encoding: [0x7a,0x6c,0x63,0x51]
# CHECK: asub_u.b $w10, $w29, $w11 # encoding: [0x7a,0x8b,0xea,0x91]
# CHECK: asub_u.h $w18, $w9, $w15 # encoding: [0x7a,0xaf,0x4c,0x91]
# CHECK: asub_u.w $w10, $w19, $w31 # encoding: [0x7a,0xdf,0x9a,0x91]
# CHECK: asub_u.d $w17, $w10, $w0 # encoding: [0x7a,0xe0,0x54,0x51]
# CHECK: ave_s.b $w2, $w5, $w1 # encoding: [0x7a,0x01,0x28,0x90]
# CHECK: ave_s.h $w16, $w19, $w9 # encoding: [0x7a,0x29,0x9c,0x10]
# CHECK: ave_s.w $w17, $w31, $w5 # encoding: [0x7a,0x45,0xfc,0x50]
# CHECK: ave_s.d $w27, $w25, $w10 # encoding: [0x7a,0x6a,0xce,0xd0]
# CHECK: ave_u.b $w16, $w19, $w9 # encoding: [0x7a,0x89,0x9c,0x10]
# CHECK: ave_u.h $w28, $w28, $w11 # encoding: [0x7a,0xab,0xe7,0x10]
# CHECK: ave_u.w $w11, $w12, $w11 # encoding: [0x7a,0xcb,0x62,0xd0]
# CHECK: ave_u.d $w30, $w19, $w28 # encoding: [0x7a,0xfc,0x9f,0x90]
# CHECK: aver_s.b $w26, $w16, $w2 # encoding: [0x7b,0x02,0x86,0x90]
# CHECK: aver_s.h $w31, $w27, $w27 # encoding: [0x7b,0x3b,0xdf,0xd0]
# CHECK: aver_s.w $w28, $w18, $w25 # encoding: [0x7b,0x59,0x97,0x10]
# CHECK: aver_s.d $w29, $w21, $w27 # encoding: [0x7b,0x7b,0xaf,0x50]
# CHECK: aver_u.b $w29, $w26, $w3 # encoding: [0x7b,0x83,0xd7,0x50]
# CHECK: aver_u.h $w18, $w18, $w9 # encoding: [0x7b,0xa9,0x94,0x90]
# CHECK: aver_u.w $w17, $w25, $w29 # encoding: [0x7b,0xdd,0xcc,0x50]
# CHECK: aver_u.d $w22, $w22, $w19 # encoding: [0x7b,0xf3,0xb5,0x90]
# CHECK: bclr.b $w2, $w15, $w29 # encoding: [0x79,0x9d,0x78,0x8d]
# CHECK: bclr.h $w16, $w21, $w28 # encoding: [0x79,0xbc,0xac,0x0d]
# CHECK: bclr.w $w19, $w2, $w9 # encoding: [0x79,0xc9,0x14,0xcd]
# CHECK: bclr.d $w27, $w31, $w4 # encoding: [0x79,0xe4,0xfe,0xcd]
# CHECK: binsl.b $w5, $w16, $w24 # encoding: [0x7b,0x18,0x81,0x4d]
# CHECK: binsl.h $w30, $w5, $w10 # encoding: [0x7b,0x2a,0x2f,0x8d]
# CHECK: binsl.w $w14, $w15, $w13 # encoding: [0x7b,0x4d,0x7b,0x8d]
# CHECK: binsl.d $w23, $w20, $w12 # encoding: [0x7b,0x6c,0xa5,0xcd]
# CHECK: binsr.b $w22, $w11, $w2 # encoding: [0x7b,0x82,0x5d,0x8d]
# CHECK: binsr.h $w0, $w26, $w6 # encoding: [0x7b,0xa6,0xd0,0x0d]
# CHECK: binsr.w $w26, $w3, $w28 # encoding: [0x7b,0xdc,0x1e,0x8d]
# CHECK: binsr.d $w0, $w0, $w21 # encoding: [0x7b,0xf5,0x00,0x0d]
# CHECK: bneg.b $w0, $w11, $w24 # encoding: [0x7a,0x98,0x58,0x0d]
# CHECK: bneg.h $w28, $w16, $w4 # encoding: [0x7a,0xa4,0x87,0x0d]
# CHECK: bneg.w $w3, $w26, $w19 # encoding: [0x7a,0xd3,0xd0,0xcd]
# CHECK: bneg.d $w13, $w29, $w15 # encoding: [0x7a,0xef,0xeb,0x4d]
# CHECK: bset.b $w31, $w5, $w31 # encoding: [0x7a,0x1f,0x2f,0xcd]
# CHECK: bset.h $w14, $w12, $w6 # encoding: [0x7a,0x26,0x63,0x8d]
# CHECK: bset.w $w31, $w9, $w12 # encoding: [0x7a,0x4c,0x4f,0xcd]
# CHECK: bset.d $w5, $w22, $w5 # encoding: [0x7a,0x65,0xb1,0x4d]
# CHECK: ceq.b $w31, $w31, $w18 # encoding: [0x78,0x12,0xff,0xcf]
# CHECK: ceq.h $w10, $w27, $w9 # encoding: [0x78,0x29,0xda,0x8f]
# CHECK: ceq.w $w9, $w5, $w14 # encoding: [0x78,0x4e,0x2a,0x4f]
# CHECK: ceq.d $w5, $w17, $w0 # encoding: [0x78,0x60,0x89,0x4f]
# CHECK: cle_s.b $w23, $w4, $w9 # encoding: [0x7a,0x09,0x25,0xcf]
# CHECK: cle_s.h $w22, $w27, $w19 # encoding: [0x7a,0x33,0xdd,0x8f]
# CHECK: cle_s.w $w30, $w26, $w10 # encoding: [0x7a,0x4a,0xd7,0x8f]
# CHECK: cle_s.d $w18, $w5, $w10 # encoding: [0x7a,0x6a,0x2c,0x8f]
# CHECK: cle_u.b $w1, $w25, $w0 # encoding: [0x7a,0x80,0xc8,0x4f]
# CHECK: cle_u.h $w7, $w0, $w29 # encoding: [0x7a,0xbd,0x01,0xcf]
# CHECK: cle_u.w $w25, $w18, $w1 # encoding: [0x7a,0xc1,0x96,0x4f]
# CHECK: cle_u.d $w6, $w0, $w30 # encoding: [0x7a,0xfe,0x01,0x8f]
# CHECK: clt_s.b $w25, $w2, $w21 # encoding: [0x79,0x15,0x16,0x4f]
# CHECK: clt_s.h $w2, $w19, $w9 # encoding: [0x79,0x29,0x98,0x8f]
# CHECK: clt_s.w $w23, $w8, $w16 # encoding: [0x79,0x50,0x45,0xcf]
# CHECK: clt_s.d $w7, $w30, $w12 # encoding: [0x79,0x6c,0xf1,0xcf]
# CHECK: clt_u.b $w2, $w31, $w13 # encoding: [0x79,0x8d,0xf8,0x8f]
# CHECK: clt_u.h $w16, $w31, $w23 # encoding: [0x79,0xb7,0xfc,0x0f]
# CHECK: clt_u.w $w3, $w24, $w9 # encoding: [0x79,0xc9,0xc0,0xcf]
# CHECK: clt_u.d $w7, $w0, $w1 # encoding: [0x79,0xe1,0x01,0xcf]
# CHECK: div_s.b $w29, $w3, $w18 # encoding: [0x7a,0x12,0x1f,0x52]
# CHECK: div_s.h $w17, $w16, $w13 # encoding: [0x7a,0x2d,0x84,0x52]
# CHECK: div_s.w $w4, $w25, $w30 # encoding: [0x7a,0x5e,0xc9,0x12]
# CHECK: div_s.d $w31, $w9, $w20 # encoding: [0x7a,0x74,0x4f,0xd2]
# CHECK: div_u.b $w6, $w29, $w10 # encoding: [0x7a,0x8a,0xe9,0x92]
# CHECK: div_u.h $w24, $w21, $w14 # encoding: [0x7a,0xae,0xae,0x12]
# CHECK: div_u.w $w29, $w14, $w25 # encoding: [0x7a,0xd9,0x77,0x52]
# CHECK: div_u.d $w31, $w1, $w21 # encoding: [0x7a,0xf5,0x0f,0xd2]
# CHECK: dotp_s.h $w23, $w22, $w25 # encoding: [0x78,0x39,0xb5,0xd3]
# CHECK: dotp_s.w $w20, $w14, $w5 # encoding: [0x78,0x45,0x75,0x13]
# CHECK: dotp_s.d $w17, $w2, $w22 # encoding: [0x78,0x76,0x14,0x53]
# CHECK: dotp_u.h $w13, $w2, $w6 # encoding: [0x78,0xa6,0x13,0x53]
# CHECK: dotp_u.w $w15, $w22, $w21 # encoding: [0x78,0xd5,0xb3,0xd3]
# CHECK: dotp_u.d $w4, $w16, $w26 # encoding: [0x78,0xfa,0x81,0x13]
# CHECK: dpadd_s.h $w1, $w28, $w22 # encoding: [0x79,0x36,0xe0,0x53]
# CHECK: dpadd_s.w $w10, $w1, $w12 # encoding: [0x79,0x4c,0x0a,0x93]
# CHECK: dpadd_s.d $w3, $w21, $w27 # encoding: [0x79,0x7b,0xa8,0xd3]
# CHECK: dpadd_u.h $w17, $w5, $w20 # encoding: [0x79,0xb4,0x2c,0x53]
# CHECK: dpadd_u.w $w24, $w8, $w16 # encoding: [0x79,0xd0,0x46,0x13]
# CHECK: dpadd_u.d $w15, $w29, $w16 # encoding: [0x79,0xf0,0xeb,0xd3]
# CHECK: dpsub_s.h $w4, $w11, $w12 # encoding: [0x7a,0x2c,0x59,0x13]
# CHECK: dpsub_s.w $w4, $w7, $w6 # encoding: [0x7a,0x46,0x39,0x13]
# CHECK: dpsub_s.d $w31, $w12, $w28 # encoding: [0x7a,0x7c,0x67,0xd3]
# CHECK: dpsub_u.h $w4, $w25, $w17 # encoding: [0x7a,0xb1,0xc9,0x13]
# CHECK: dpsub_u.w $w19, $w25, $w16 # encoding: [0x7a,0xd0,0xcc,0xd3]
# CHECK: dpsub_u.d $w7, $w10, $w26 # encoding: [0x7a,0xfa,0x51,0xd3]
# CHECK: hadd_s.h $w28, $w24, $w2 # encoding: [0x7a,0x22,0xc7,0x15]
# CHECK: hadd_s.w $w24, $w17, $w11 # encoding: [0x7a,0x4b,0x8e,0x15]
# CHECK: hadd_s.d $w17, $w15, $w20 # encoding: [0x7a,0x74,0x7c,0x55]
# CHECK: hadd_u.h $w12, $w29, $w17 # encoding: [0x7a,0xb1,0xeb,0x15]
# CHECK: hadd_u.w $w9, $w5, $w6 # encoding: [0x7a,0xc6,0x2a,0x55]
# CHECK: hadd_u.d $w1, $w20, $w6 # encoding: [0x7a,0xe6,0xa0,0x55]
# CHECK: hsub_s.h $w16, $w14, $w29 # encoding: [0x7b,0x3d,0x74,0x15]
# CHECK: hsub_s.w $w9, $w13, $w11 # encoding: [0x7b,0x4b,0x6a,0x55]
# CHECK: hsub_s.d $w30, $w18, $w14 # encoding: [0x7b,0x6e,0x97,0x95]
# CHECK: hsub_u.h $w7, $w12, $w14 # encoding: [0x7b,0xae,0x61,0xd5]
# CHECK: hsub_u.w $w21, $w5, $w5 # encoding: [0x7b,0xc5,0x2d,0x55]
# CHECK: hsub_u.d $w11, $w12, $w31 # encoding: [0x7b,0xff,0x62,0xd5]
# CHECK: ilvev.b $w18, $w16, $w30 # encoding: [0x7b,0x1e,0x84,0x94]
# CHECK: ilvev.h $w14, $w0, $w13 # encoding: [0x7b,0x2d,0x03,0x94]
# CHECK: ilvev.w $w12, $w25, $w22 # encoding: [0x7b,0x56,0xcb,0x14]
# CHECK: ilvev.d $w30, $w27, $w3 # encoding: [0x7b,0x63,0xdf,0x94]
# CHECK: ilvl.b $w29, $w3, $w21 # encoding: [0x7a,0x15,0x1f,0x54]
# CHECK: ilvl.h $w27, $w10, $w17 # encoding: [0x7a,0x31,0x56,0xd4]
# CHECK: ilvl.w $w6, $w1, $w0 # encoding: [0x7a,0x40,0x09,0x94]
# CHECK: ilvl.d $w3, $w16, $w24 # encoding: [0x7a,0x78,0x80,0xd4]
# CHECK: ilvod.b $w11, $w5, $w20 # encoding: [0x7b,0x94,0x2a,0xd4]
# CHECK: ilvod.h $w18, $w13, $w31 # encoding: [0x7b,0xbf,0x6c,0x94]
# CHECK: ilvod.w $w29, $w16, $w24 # encoding: [0x7b,0xd8,0x87,0x54]
# CHECK: ilvod.d $w22, $w12, $w29 # encoding: [0x7b,0xfd,0x65,0x94]
# CHECK: ilvr.b $w4, $w30, $w6 # encoding: [0x7a,0x86,0xf1,0x14]
# CHECK: ilvr.h $w28, $w19, $w29 # encoding: [0x7a,0xbd,0x9f,0x14]
# CHECK: ilvr.w $w18, $w20, $w21 # encoding: [0x7a,0xd5,0xa4,0x94]
# CHECK: ilvr.d $w23, $w30, $w12 # encoding: [0x7a,0xec,0xf5,0xd4]
# CHECK: maddv.b $w17, $w31, $w29 # encoding: [0x78,0x9d,0xfc,0x52]
# CHECK: maddv.h $w7, $w24, $w9 # encoding: [0x78,0xa9,0xc1,0xd2]
# CHECK: maddv.w $w22, $w22, $w20 # encoding: [0x78,0xd4,0xb5,0x92]
# CHECK: maddv.d $w30, $w26, $w20 # encoding: [0x78,0xf4,0xd7,0x92]
# CHECK: max_a.b $w23, $w11, $w23 # encoding: [0x7b,0x17,0x5d,0xce]
# CHECK: max_a.h $w20, $w5, $w30 # encoding: [0x7b,0x3e,0x2d,0x0e]
# CHECK: max_a.w $w7, $w18, $w30 # encoding: [0x7b,0x5e,0x91,0xce]
# CHECK: max_a.d $w8, $w8, $w31 # encoding: [0x7b,0x7f,0x42,0x0e]
# CHECK: max_s.b $w10, $w1, $w19 # encoding: [0x79,0x13,0x0a,0x8e]
# CHECK: max_s.h $w15, $w29, $w17 # encoding: [0x79,0x31,0xeb,0xce]
# CHECK: max_s.w $w15, $w29, $w14 # encoding: [0x79,0x4e,0xeb,0xce]
# CHECK: max_s.d $w25, $w24, $w3 # encoding: [0x79,0x63,0xc6,0x4e]
# CHECK: max_u.b $w12, $w24, $w5 # encoding: [0x79,0x85,0xc3,0x0e]
# CHECK: max_u.h $w5, $w6, $w7 # encoding: [0x79,0xa7,0x31,0x4e]
# CHECK: max_u.w $w16, $w4, $w7 # encoding: [0x79,0xc7,0x24,0x0e]
# CHECK: max_u.d $w26, $w12, $w24 # encoding: [0x79,0xf8,0x66,0x8e]
# CHECK: min_a.b $w4, $w26, $w1 # encoding: [0x7b,0x81,0xd1,0x0e]
# CHECK: min_a.h $w12, $w13, $w31 # encoding: [0x7b,0xbf,0x6b,0x0e]
# CHECK: min_a.w $w28, $w20, $w0 # encoding: [0x7b,0xc0,0xa7,0x0e]
# CHECK: min_a.d $w12, $w20, $w19 # encoding: [0x7b,0xf3,0xa3,0x0e]
# CHECK: min_s.b $w19, $w3, $w14 # encoding: [0x7a,0x0e,0x1c,0xce]
# CHECK: min_s.h $w27, $w21, $w8 # encoding: [0x7a,0x28,0xae,0xce]
# CHECK: min_s.w $w0, $w14, $w30 # encoding: [0x7a,0x5e,0x70,0x0e]
# CHECK: min_s.d $w6, $w8, $w21 # encoding: [0x7a,0x75,0x41,0x8e]
# CHECK: min_u.b $w22, $w26, $w8 # encoding: [0x7a,0x88,0xd5,0x8e]
# CHECK: min_u.h $w7, $w27, $w12 # encoding: [0x7a,0xac,0xd9,0xce]
# CHECK: min_u.w $w8, $w20, $w14 # encoding: [0x7a,0xce,0xa2,0x0e]
# CHECK: min_u.d $w26, $w14, $w15 # encoding: [0x7a,0xef,0x76,0x8e]
# CHECK: mod_s.b $w18, $w1, $w26 # encoding: [0x7b,0x1a,0x0c,0x92]
# CHECK: mod_s.h $w31, $w30, $w28 # encoding: [0x7b,0x3c,0xf7,0xd2]
# CHECK: mod_s.w $w2, $w6, $w13 # encoding: [0x7b,0x4d,0x30,0x92]
# CHECK: mod_s.d $w21, $w27, $w22 # encoding: [0x7b,0x76,0xdd,0x52]
# CHECK: mod_u.b $w16, $w7, $w13 # encoding: [0x7b,0x8d,0x3c,0x12]
# CHECK: mod_u.h $w24, $w8, $w7 # encoding: [0x7b,0xa7,0x46,0x12]
# CHECK: mod_u.w $w30, $w2, $w17 # encoding: [0x7b,0xd1,0x17,0x92]
# CHECK: mod_u.d $w31, $w2, $w25 # encoding: [0x7b,0xf9,0x17,0xd2]
# CHECK: msubv.b $w14, $w5, $w12 # encoding: [0x79,0x0c,0x2b,0x92]
# CHECK: msubv.h $w6, $w7, $w30 # encoding: [0x79,0x3e,0x39,0x92]
# CHECK: msubv.w $w13, $w2, $w21 # encoding: [0x79,0x55,0x13,0x52]
# CHECK: msubv.d $w16, $w14, $w27 # encoding: [0x79,0x7b,0x74,0x12]
# CHECK: mulv.b $w20, $w3, $w13 # encoding: [0x78,0x0d,0x1d,0x12]
# CHECK: mulv.h $w27, $w26, $w14 # encoding: [0x78,0x2e,0xd6,0xd2]
# CHECK: mulv.w $w10, $w29, $w3 # encoding: [0x78,0x43,0xea,0x92]
# CHECK: mulv.d $w7, $w19, $w29 # encoding: [0x78,0x7d,0x99,0xd2]
# CHECK: pckev.b $w5, $w27, $w7 # encoding: [0x79,0x07,0xd9,0x54]
# CHECK: pckev.h $w1, $w4, $w27 # encoding: [0x79,0x3b,0x20,0x54]
# CHECK: pckev.w $w30, $w20, $w0 # encoding: [0x79,0x40,0xa7,0x94]
# CHECK: pckev.d $w6, $w1, $w15 # encoding: [0x79,0x6f,0x09,0x94]
# CHECK: pckod.b $w18, $w28, $w30 # encoding: [0x79,0x9e,0xe4,0x94]
# CHECK: pckod.h $w26, $w5, $w8 # encoding: [0x79,0xa8,0x2e,0x94]
# CHECK: pckod.w $w9, $w4, $w2 # encoding: [0x79,0xc2,0x22,0x54]
# CHECK: pckod.d $w30, $w22, $w20 # encoding: [0x79,0xf4,0xb7,0x94]
# CHECK: sld.b $w5, $w23[$12] # encoding: [0x78,0x0c,0xb9,0x54]
# CHECK: sld.h $w1, $w23[$3] # encoding: [0x78,0x23,0xb8,0x54]
# CHECK: sld.w $w20, $w8[$9] # encoding: [0x78,0x49,0x45,0x14]
# CHECK: sld.d $w7, $w23[$fp] # encoding: [0x78,0x7e,0xb9,0xd4]
# CHECK: sll.b $w3, $w0, $w17 # encoding: [0x78,0x11,0x00,0xcd]
# CHECK: sll.h $w17, $w27, $w3 # encoding: [0x78,0x23,0xdc,0x4d]
# CHECK: sll.w $w16, $w7, $w6 # encoding: [0x78,0x46,0x3c,0x0d]
# CHECK: sll.d $w9, $w0, $w26 # encoding: [0x78,0x7a,0x02,0x4d]
# CHECK: splat.b $w28, $w1[$1] # encoding: [0x78,0x81,0x0f,0x14]
# CHECK: splat.h $w2, $w11[$11] # encoding: [0x78,0xab,0x58,0x94]
# CHECK: splat.w $w22, $w0[$11] # encoding: [0x78,0xcb,0x05,0x94]
# CHECK: splat.d $w0, $w0[$2] # encoding: [0x78,0xe2,0x00,0x14]
# CHECK: sra.b $w28, $w4, $w17 # encoding: [0x78,0x91,0x27,0x0d]
# CHECK: sra.h $w13, $w9, $w3 # encoding: [0x78,0xa3,0x4b,0x4d]
# CHECK: sra.w $w27, $w21, $w19 # encoding: [0x78,0xd3,0xae,0xcd]
# CHECK: sra.d $w30, $w8, $w23 # encoding: [0x78,0xf7,0x47,0x8d]
# CHECK: srar.b $w19, $w18, $w18 # encoding: [0x78,0x92,0x94,0xd5]
# CHECK: srar.h $w7, $w23, $w8 # encoding: [0x78,0xa8,0xb9,0xd5]
# CHECK: srar.w $w1, $w12, $w2 # encoding: [0x78,0xc2,0x60,0x55]
# CHECK: srar.d $w21, $w7, $w14 # encoding: [0x78,0xee,0x3d,0x55]
# CHECK: srl.b $w12, $w3, $w19 # encoding: [0x79,0x13,0x1b,0x0d]
# CHECK: srl.h $w23, $w31, $w20 # encoding: [0x79,0x34,0xfd,0xcd]
# CHECK: srl.w $w18, $w27, $w11 # encoding: [0x79,0x4b,0xdc,0x8d]
# CHECK: srl.d $w3, $w12, $w26 # encoding: [0x79,0x7a,0x60,0xcd]
# CHECK: srlr.b $w15, $w21, $w11 # encoding: [0x79,0x0b,0xab,0xd5]
# CHECK: srlr.h $w21, $w13, $w19 # encoding: [0x79,0x33,0x6d,0x55]
# CHECK: srlr.w $w6, $w30, $w3 # encoding: [0x79,0x43,0xf1,0x95]
# CHECK: srlr.d $w1, $w2, $w14 # encoding: [0x79,0x6e,0x10,0x55]
# CHECK: subs_s.b $w25, $w15, $w1 # encoding: [0x78,0x01,0x7e,0x51]
# CHECK: subs_s.h $w28, $w25, $w22 # encoding: [0x78,0x36,0xcf,0x11]
# CHECK: subs_s.w $w10, $w12, $w21 # encoding: [0x78,0x55,0x62,0x91]
# CHECK: subs_s.d $w4, $w20, $w18 # encoding: [0x78,0x72,0xa1,0x11]
# CHECK: subs_u.b $w21, $w6, $w25 # encoding: [0x78,0x99,0x35,0x51]
# CHECK: subs_u.h $w3, $w10, $w7 # encoding: [0x78,0xa7,0x50,0xd1]
# CHECK: subs_u.w $w9, $w15, $w10 # encoding: [0x78,0xca,0x7a,0x51]
# CHECK: subs_u.d $w7, $w19, $w10 # encoding: [0x78,0xea,0x99,0xd1]
# CHECK: subsus_u.b $w6, $w7, $w12 # encoding: [0x79,0x0c,0x39,0x91]
# CHECK: subsus_u.h $w6, $w29, $w19 # encoding: [0x79,0x33,0xe9,0x91]
# CHECK: subsus_u.w $w7, $w15, $w7 # encoding: [0x79,0x47,0x79,0xd1]
# CHECK: subsus_u.d $w9, $w3, $w15 # encoding: [0x79,0x6f,0x1a,0x51]
# CHECK: subsuu_s.b $w22, $w3, $w31 # encoding: [0x79,0x9f,0x1d,0x91]
# CHECK: subsuu_s.h $w19, $w23, $w22 # encoding: [0x79,0xb6,0xbc,0xd1]
# CHECK: subsuu_s.w $w9, $w10, $w13 # encoding: [0x79,0xcd,0x52,0x51]
# CHECK: subsuu_s.d $w5, $w6, $w0 # encoding: [0x79,0xe0,0x31,0x51]
# CHECK: subv.b $w6, $w13, $w19 # encoding: [0x78,0x93,0x69,0x8e]
# CHECK: subv.h $w4, $w25, $w12 # encoding: [0x78,0xac,0xc9,0x0e]
# CHECK: subv.w $w27, $w27, $w11 # encoding: [0x78,0xcb,0xde,0xce]
# CHECK: subv.d $w9, $w24, $w10 # encoding: [0x78,0xea,0xc2,0x4e]
# CHECK: vshf.b $w3, $w16, $w5 # encoding: [0x78,0x05,0x80,0xd5]
# CHECK: vshf.h $w20, $w19, $w8 # encoding: [0x78,0x28,0x9d,0x15]
# CHECK: vshf.w $w16, $w30, $w25 # encoding: [0x78,0x59,0xf4,0x15]
# CHECK: vshf.d $w19, $w11, $w15 # encoding: [0x78,0x6f,0x5c,0xd5]
add_a.b $w26, $w9, $w4
add_a.h $w23, $w27, $w31
add_a.w $w11, $w6, $w22
add_a.d $w6, $w10, $w0
adds_a.b $w19, $w24, $w19
adds_a.h $w25, $w6, $w4
adds_a.w $w25, $w17, $w27
adds_a.d $w15, $w18, $w26
adds_s.b $w29, $w11, $w19
adds_s.h $w5, $w23, $w26
adds_s.w $w16, $w14, $w13
adds_s.d $w2, $w14, $w28
adds_u.b $w3, $w17, $w14
adds_u.h $w10, $w30, $w4
adds_u.w $w15, $w18, $w20
adds_u.d $w30, $w10, $w9
addv.b $w24, $w20, $w21
addv.h $w4, $w13, $w27
addv.w $w19, $w11, $w14
addv.d $w2, $w21, $w31
asub_s.b $w23, $w16, $w3
asub_s.h $w22, $w17, $w25
asub_s.w $w24, $w1, $w9
asub_s.d $w13, $w12, $w12
asub_u.b $w10, $w29, $w11
asub_u.h $w18, $w9, $w15
asub_u.w $w10, $w19, $w31
asub_u.d $w17, $w10, $w0
ave_s.b $w2, $w5, $w1
ave_s.h $w16, $w19, $w9
ave_s.w $w17, $w31, $w5
ave_s.d $w27, $w25, $w10
ave_u.b $w16, $w19, $w9
ave_u.h $w28, $w28, $w11
ave_u.w $w11, $w12, $w11
ave_u.d $w30, $w19, $w28
aver_s.b $w26, $w16, $w2
aver_s.h $w31, $w27, $w27
aver_s.w $w28, $w18, $w25
aver_s.d $w29, $w21, $w27
aver_u.b $w29, $w26, $w3
aver_u.h $w18, $w18, $w9
aver_u.w $w17, $w25, $w29
aver_u.d $w22, $w22, $w19
bclr.b $w2, $w15, $w29
bclr.h $w16, $w21, $w28
bclr.w $w19, $w2, $w9
bclr.d $w27, $w31, $w4
binsl.b $w5, $w16, $w24
binsl.h $w30, $w5, $w10
binsl.w $w14, $w15, $w13
binsl.d $w23, $w20, $w12
binsr.b $w22, $w11, $w2
binsr.h $w0, $w26, $w6
binsr.w $w26, $w3, $w28
binsr.d $w0, $w0, $w21
bneg.b $w0, $w11, $w24
bneg.h $w28, $w16, $w4
bneg.w $w3, $w26, $w19
bneg.d $w13, $w29, $w15
bset.b $w31, $w5, $w31
bset.h $w14, $w12, $w6
bset.w $w31, $w9, $w12
bset.d $w5, $w22, $w5
ceq.b $w31, $w31, $w18
ceq.h $w10, $w27, $w9
ceq.w $w9, $w5, $w14
ceq.d $w5, $w17, $w0
cle_s.b $w23, $w4, $w9
cle_s.h $w22, $w27, $w19
cle_s.w $w30, $w26, $w10
cle_s.d $w18, $w5, $w10
cle_u.b $w1, $w25, $w0
cle_u.h $w7, $w0, $w29
cle_u.w $w25, $w18, $w1
cle_u.d $w6, $w0, $w30
clt_s.b $w25, $w2, $w21
clt_s.h $w2, $w19, $w9
clt_s.w $w23, $w8, $w16
clt_s.d $w7, $w30, $w12
clt_u.b $w2, $w31, $w13
clt_u.h $w16, $w31, $w23
clt_u.w $w3, $w24, $w9
clt_u.d $w7, $w0, $w1
div_s.b $w29, $w3, $w18
div_s.h $w17, $w16, $w13
div_s.w $w4, $w25, $w30
div_s.d $w31, $w9, $w20
div_u.b $w6, $w29, $w10
div_u.h $w24, $w21, $w14
div_u.w $w29, $w14, $w25
div_u.d $w31, $w1, $w21
dotp_s.h $w23, $w22, $w25
dotp_s.w $w20, $w14, $w5
dotp_s.d $w17, $w2, $w22
dotp_u.h $w13, $w2, $w6
dotp_u.w $w15, $w22, $w21
dotp_u.d $w4, $w16, $w26
dpadd_s.h $w1, $w28, $w22
dpadd_s.w $w10, $w1, $w12
dpadd_s.d $w3, $w21, $w27
dpadd_u.h $w17, $w5, $w20
dpadd_u.w $w24, $w8, $w16
dpadd_u.d $w15, $w29, $w16
dpsub_s.h $w4, $w11, $w12
dpsub_s.w $w4, $w7, $w6
dpsub_s.d $w31, $w12, $w28
dpsub_u.h $w4, $w25, $w17
dpsub_u.w $w19, $w25, $w16
dpsub_u.d $w7, $w10, $w26
hadd_s.h $w28, $w24, $w2
hadd_s.w $w24, $w17, $w11
hadd_s.d $w17, $w15, $w20
hadd_u.h $w12, $w29, $w17
hadd_u.w $w9, $w5, $w6
hadd_u.d $w1, $w20, $w6
hsub_s.h $w16, $w14, $w29
hsub_s.w $w9, $w13, $w11
hsub_s.d $w30, $w18, $w14
hsub_u.h $w7, $w12, $w14
hsub_u.w $w21, $w5, $w5
hsub_u.d $w11, $w12, $w31
ilvev.b $w18, $w16, $w30
ilvev.h $w14, $w0, $w13
ilvev.w $w12, $w25, $w22
ilvev.d $w30, $w27, $w3
ilvl.b $w29, $w3, $w21
ilvl.h $w27, $w10, $w17
ilvl.w $w6, $w1, $w0
ilvl.d $w3, $w16, $w24
ilvod.b $w11, $w5, $w20
ilvod.h $w18, $w13, $w31
ilvod.w $w29, $w16, $w24
ilvod.d $w22, $w12, $w29
ilvr.b $w4, $w30, $w6
ilvr.h $w28, $w19, $w29
ilvr.w $w18, $w20, $w21
ilvr.d $w23, $w30, $w12
maddv.b $w17, $w31, $w29
maddv.h $w7, $w24, $w9
maddv.w $w22, $w22, $w20
maddv.d $w30, $w26, $w20
max_a.b $w23, $w11, $w23
max_a.h $w20, $w5, $w30
max_a.w $w7, $w18, $w30
max_a.d $w8, $w8, $w31
max_s.b $w10, $w1, $w19
max_s.h $w15, $w29, $w17
max_s.w $w15, $w29, $w14
max_s.d $w25, $w24, $w3
max_u.b $w12, $w24, $w5
max_u.h $w5, $w6, $w7
max_u.w $w16, $w4, $w7
max_u.d $w26, $w12, $w24
min_a.b $w4, $w26, $w1
min_a.h $w12, $w13, $w31
min_a.w $w28, $w20, $w0
min_a.d $w12, $w20, $w19
min_s.b $w19, $w3, $w14
min_s.h $w27, $w21, $w8
min_s.w $w0, $w14, $w30
min_s.d $w6, $w8, $w21
min_u.b $w22, $w26, $w8
min_u.h $w7, $w27, $w12
min_u.w $w8, $w20, $w14
min_u.d $w26, $w14, $w15
mod_s.b $w18, $w1, $w26
mod_s.h $w31, $w30, $w28
mod_s.w $w2, $w6, $w13
mod_s.d $w21, $w27, $w22
mod_u.b $w16, $w7, $w13
mod_u.h $w24, $w8, $w7
mod_u.w $w30, $w2, $w17
mod_u.d $w31, $w2, $w25
msubv.b $w14, $w5, $w12
msubv.h $w6, $w7, $w30
msubv.w $w13, $w2, $w21
msubv.d $w16, $w14, $w27
mulv.b $w20, $w3, $w13
mulv.h $w27, $w26, $w14
mulv.w $w10, $w29, $w3
mulv.d $w7, $w19, $w29
pckev.b $w5, $w27, $w7
pckev.h $w1, $w4, $w27
pckev.w $w30, $w20, $w0
pckev.d $w6, $w1, $w15
pckod.b $w18, $w28, $w30
pckod.h $w26, $w5, $w8
pckod.w $w9, $w4, $w2
pckod.d $w30, $w22, $w20
sld.b $w5, $w23[$12]
sld.h $w1, $w23[$3]
sld.w $w20, $w8[$9]
sld.d $w7, $w23[$30]
sll.b $w3, $w0, $w17
sll.h $w17, $w27, $w3
sll.w $w16, $w7, $w6
sll.d $w9, $w0, $w26
splat.b $w28, $w1[$1]
splat.h $w2, $w11[$11]
splat.w $w22, $w0[$11]
splat.d $w0, $w0[$2]
sra.b $w28, $w4, $w17
sra.h $w13, $w9, $w3
sra.w $w27, $w21, $w19
sra.d $w30, $w8, $w23
srar.b $w19, $w18, $w18
srar.h $w7, $w23, $w8
srar.w $w1, $w12, $w2
srar.d $w21, $w7, $w14
srl.b $w12, $w3, $w19
srl.h $w23, $w31, $w20
srl.w $w18, $w27, $w11
srl.d $w3, $w12, $w26
srlr.b $w15, $w21, $w11
srlr.h $w21, $w13, $w19
srlr.w $w6, $w30, $w3
srlr.d $w1, $w2, $w14
subs_s.b $w25, $w15, $w1
subs_s.h $w28, $w25, $w22
subs_s.w $w10, $w12, $w21
subs_s.d $w4, $w20, $w18
subs_u.b $w21, $w6, $w25
subs_u.h $w3, $w10, $w7
subs_u.w $w9, $w15, $w10
subs_u.d $w7, $w19, $w10
subsus_u.b $w6, $w7, $w12
subsus_u.h $w6, $w29, $w19
subsus_u.w $w7, $w15, $w7
subsus_u.d $w9, $w3, $w15
subsuu_s.b $w22, $w3, $w31
subsuu_s.h $w19, $w23, $w22
subsuu_s.w $w9, $w10, $w13
subsuu_s.d $w5, $w6, $w0
subv.b $w6, $w13, $w19
subv.h $w4, $w25, $w12
subv.w $w27, $w27, $w11
subv.d $w9, $w24, $w10
vshf.b $w3, $w16, $w5
vshf.h $w20, $w19, $w8
vshf.w $w16, $w30, $w25
vshf.d $w19, $w11, $w15

View File

@@ -0,0 +1,167 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: fadd.w $w28, $w19, $w28 # encoding: [0x78,0x1c,0x9f,0x1b]
# CHECK: fadd.d $w13, $w2, $w29 # encoding: [0x78,0x3d,0x13,0x5b]
# CHECK: fcaf.w $w14, $w11, $w25 # encoding: [0x78,0x19,0x5b,0x9a]
# CHECK: fcaf.d $w1, $w1, $w19 # encoding: [0x78,0x33,0x08,0x5a]
# CHECK: fceq.w $w1, $w23, $w16 # encoding: [0x78,0x90,0xb8,0x5a]
# CHECK: fceq.d $w0, $w8, $w16 # encoding: [0x78,0xb0,0x40,0x1a]
# CHECK: fcle.w $w16, $w9, $w24 # encoding: [0x79,0x98,0x4c,0x1a]
# CHECK: fcle.d $w27, $w14, $w1 # encoding: [0x79,0xa1,0x76,0xda]
# CHECK: fclt.w $w28, $w8, $w8 # encoding: [0x79,0x08,0x47,0x1a]
# CHECK: fclt.d $w30, $w25, $w11 # encoding: [0x79,0x2b,0xcf,0x9a]
# CHECK: fcne.w $w2, $w18, $w23 # encoding: [0x78,0xd7,0x90,0x9c]
# CHECK: fcne.d $w14, $w20, $w15 # encoding: [0x78,0xef,0xa3,0x9c]
# CHECK: fcor.w $w10, $w18, $w25 # encoding: [0x78,0x59,0x92,0x9c]
# CHECK: fcor.d $w17, $w25, $w11 # encoding: [0x78,0x6b,0xcc,0x5c]
# CHECK: fcueq.w $w14, $w2, $w21 # encoding: [0x78,0xd5,0x13,0x9a]
# CHECK: fcueq.d $w29, $w3, $w7 # encoding: [0x78,0xe7,0x1f,0x5a]
# CHECK: fcule.w $w17, $w5, $w3 # encoding: [0x79,0xc3,0x2c,0x5a]
# CHECK: fcule.d $w31, $w1, $w30 # encoding: [0x79,0xfe,0x0f,0xda]
# CHECK: fcult.w $w6, $w25, $w9 # encoding: [0x79,0x49,0xc9,0x9a]
# CHECK: fcult.d $w27, $w8, $w17 # encoding: [0x79,0x71,0x46,0xda]
# CHECK: fcun.w $w4, $w20, $w8 # encoding: [0x78,0x48,0xa1,0x1a]
# CHECK: fcun.d $w29, $w11, $w3 # encoding: [0x78,0x63,0x5f,0x5a]
# CHECK: fcune.w $w13, $w18, $w19 # encoding: [0x78,0x93,0x93,0x5c]
# CHECK: fcune.d $w16, $w26, $w21 # encoding: [0x78,0xb5,0xd4,0x1c]
# CHECK: fdiv.w $w13, $w24, $w2 # encoding: [0x78,0xc2,0xc3,0x5b]
# CHECK: fdiv.d $w19, $w4, $w25 # encoding: [0x78,0xf9,0x24,0xdb]
# CHECK: fexdo.h $w8, $w0, $w16 # encoding: [0x7a,0x10,0x02,0x1b]
# CHECK: fexdo.w $w0, $w13, $w27 # encoding: [0x7a,0x3b,0x68,0x1b]
# CHECK: fexp2.w $w17, $w0, $w3 # encoding: [0x79,0xc3,0x04,0x5b]
# CHECK: fexp2.d $w22, $w0, $w10 # encoding: [0x79,0xea,0x05,0x9b]
# CHECK: fmadd.w $w29, $w6, $w23 # encoding: [0x79,0x17,0x37,0x5b]
# CHECK: fmadd.d $w11, $w28, $w21 # encoding: [0x79,0x35,0xe2,0xdb]
# CHECK: fmax.w $w0, $w23, $w13 # encoding: [0x7b,0x8d,0xb8,0x1b]
# CHECK: fmax.d $w26, $w18, $w8 # encoding: [0x7b,0xa8,0x96,0x9b]
# CHECK: fmax_a.w $w10, $w16, $w10 # encoding: [0x7b,0xca,0x82,0x9b]
# CHECK: fmax_a.d $w30, $w9, $w22 # encoding: [0x7b,0xf6,0x4f,0x9b]
# CHECK: fmin.w $w24, $w1, $w30 # encoding: [0x7b,0x1e,0x0e,0x1b]
# CHECK: fmin.d $w27, $w27, $w10 # encoding: [0x7b,0x2a,0xde,0xdb]
# CHECK: fmin_a.w $w10, $w29, $w20 # encoding: [0x7b,0x54,0xea,0x9b]
# CHECK: fmin_a.d $w13, $w30, $w24 # encoding: [0x7b,0x78,0xf3,0x5b]
# CHECK: fmsub.w $w17, $w25, $w0 # encoding: [0x79,0x40,0xcc,0x5b]
# CHECK: fmsub.d $w8, $w18, $w16 # encoding: [0x79,0x70,0x92,0x1b]
# CHECK: fmul.w $w3, $w15, $w15 # encoding: [0x78,0x8f,0x78,0xdb]
# CHECK: fmul.d $w9, $w30, $w10 # encoding: [0x78,0xaa,0xf2,0x5b]
# CHECK: fsaf.w $w25, $w5, $w10 # encoding: [0x7a,0x0a,0x2e,0x5a]
# CHECK: fsaf.d $w25, $w3, $w29 # encoding: [0x7a,0x3d,0x1e,0x5a]
# CHECK: fseq.w $w11, $w17, $w13 # encoding: [0x7a,0x8d,0x8a,0xda]
# CHECK: fseq.d $w29, $w0, $w31 # encoding: [0x7a,0xbf,0x07,0x5a]
# CHECK: fsle.w $w30, $w31, $w31 # encoding: [0x7b,0x9f,0xff,0x9a]
# CHECK: fsle.d $w18, $w23, $w24 # encoding: [0x7b,0xb8,0xbc,0x9a]
# CHECK: fslt.w $w12, $w5, $w6 # encoding: [0x7b,0x06,0x2b,0x1a]
# CHECK: fslt.d $w16, $w26, $w21 # encoding: [0x7b,0x35,0xd4,0x1a]
# CHECK: fsne.w $w30, $w1, $w12 # encoding: [0x7a,0xcc,0x0f,0x9c]
# CHECK: fsne.d $w14, $w13, $w23 # encoding: [0x7a,0xf7,0x6b,0x9c]
# CHECK: fsor.w $w27, $w13, $w27 # encoding: [0x7a,0x5b,0x6e,0xdc]
# CHECK: fsor.d $w12, $w24, $w11 # encoding: [0x7a,0x6b,0xc3,0x1c]
# CHECK: fsub.w $w31, $w26, $w1 # encoding: [0x78,0x41,0xd7,0xdb]
# CHECK: fsub.d $w19, $w17, $w27 # encoding: [0x78,0x7b,0x8c,0xdb]
# CHECK: fsueq.w $w16, $w24, $w25 # encoding: [0x7a,0xd9,0xc4,0x1a]
# CHECK: fsueq.d $w18, $w14, $w14 # encoding: [0x7a,0xee,0x74,0x9a]
# CHECK: fsule.w $w23, $w30, $w13 # encoding: [0x7b,0xcd,0xf5,0xda]
# CHECK: fsule.d $w2, $w11, $w26 # encoding: [0x7b,0xfa,0x58,0x9a]
# CHECK: fsult.w $w11, $w26, $w22 # encoding: [0x7b,0x56,0xd2,0xda]
# CHECK: fsult.d $w6, $w23, $w30 # encoding: [0x7b,0x7e,0xb9,0x9a]
# CHECK: fsun.w $w3, $w18, $w28 # encoding: [0x7a,0x5c,0x90,0xda]
# CHECK: fsun.d $w18, $w11, $w19 # encoding: [0x7a,0x73,0x5c,0x9a]
# CHECK: fsune.w $w16, $w31, $w2 # encoding: [0x7a,0x82,0xfc,0x1c]
# CHECK: fsune.d $w3, $w26, $w17 # encoding: [0x7a,0xb1,0xd0,0xdc]
# CHECK: ftq.h $w16, $w4, $w24 # encoding: [0x7a,0x98,0x24,0x1b]
# CHECK: ftq.w $w5, $w5, $w25 # encoding: [0x7a,0xb9,0x29,0x5b]
# CHECK: madd_q.h $w16, $w20, $w10 # encoding: [0x79,0x4a,0xa4,0x1c]
# CHECK: madd_q.w $w28, $w2, $w9 # encoding: [0x79,0x69,0x17,0x1c]
# CHECK: maddr_q.h $w8, $w18, $w9 # encoding: [0x7b,0x49,0x92,0x1c]
# CHECK: maddr_q.w $w29, $w12, $w16 # encoding: [0x7b,0x70,0x67,0x5c]
# CHECK: msub_q.h $w24, $w26, $w10 # encoding: [0x79,0x8a,0xd6,0x1c]
# CHECK: msub_q.w $w13, $w30, $w28 # encoding: [0x79,0xbc,0xf3,0x5c]
# CHECK: msubr_q.h $w12, $w21, $w11 # encoding: [0x7b,0x8b,0xab,0x1c]
# CHECK: msubr_q.w $w1, $w14, $w20 # encoding: [0x7b,0xb4,0x70,0x5c]
# CHECK: mul_q.h $w6, $w16, $w30 # encoding: [0x79,0x1e,0x81,0x9c]
# CHECK: mul_q.w $w16, $w1, $w4 # encoding: [0x79,0x24,0x0c,0x1c]
# CHECK: mulr_q.h $w6, $w20, $w19 # encoding: [0x7b,0x13,0xa1,0x9c]
# CHECK: mulr_q.w $w27, $w1, $w20 # encoding: [0x7b,0x34,0x0e,0xdc]
fadd.w $w28, $w19, $w28
fadd.d $w13, $w2, $w29
fcaf.w $w14, $w11, $w25
fcaf.d $w1, $w1, $w19
fceq.w $w1, $w23, $w16
fceq.d $w0, $w8, $w16
fcle.w $w16, $w9, $w24
fcle.d $w27, $w14, $w1
fclt.w $w28, $w8, $w8
fclt.d $w30, $w25, $w11
fcne.w $w2, $w18, $w23
fcne.d $w14, $w20, $w15
fcor.w $w10, $w18, $w25
fcor.d $w17, $w25, $w11
fcueq.w $w14, $w2, $w21
fcueq.d $w29, $w3, $w7
fcule.w $w17, $w5, $w3
fcule.d $w31, $w1, $w30
fcult.w $w6, $w25, $w9
fcult.d $w27, $w8, $w17
fcun.w $w4, $w20, $w8
fcun.d $w29, $w11, $w3
fcune.w $w13, $w18, $w19
fcune.d $w16, $w26, $w21
fdiv.w $w13, $w24, $w2
fdiv.d $w19, $w4, $w25
fexdo.h $w8, $w0, $w16
fexdo.w $w0, $w13, $w27
fexp2.w $w17, $w0, $w3
fexp2.d $w22, $w0, $w10
fmadd.w $w29, $w6, $w23
fmadd.d $w11, $w28, $w21
fmax.w $w0, $w23, $w13
fmax.d $w26, $w18, $w8
fmax_a.w $w10, $w16, $w10
fmax_a.d $w30, $w9, $w22
fmin.w $w24, $w1, $w30
fmin.d $w27, $w27, $w10
fmin_a.w $w10, $w29, $w20
fmin_a.d $w13, $w30, $w24
fmsub.w $w17, $w25, $w0
fmsub.d $w8, $w18, $w16
fmul.w $w3, $w15, $w15
fmul.d $w9, $w30, $w10
fsaf.w $w25, $w5, $w10
fsaf.d $w25, $w3, $w29
fseq.w $w11, $w17, $w13
fseq.d $w29, $w0, $w31
fsle.w $w30, $w31, $w31
fsle.d $w18, $w23, $w24
fslt.w $w12, $w5, $w6
fslt.d $w16, $w26, $w21
fsne.w $w30, $w1, $w12
fsne.d $w14, $w13, $w23
fsor.w $w27, $w13, $w27
fsor.d $w12, $w24, $w11
fsub.w $w31, $w26, $w1
fsub.d $w19, $w17, $w27
fsueq.w $w16, $w24, $w25
fsueq.d $w18, $w14, $w14
fsule.w $w23, $w30, $w13
fsule.d $w2, $w11, $w26
fsult.w $w11, $w26, $w22
fsult.d $w6, $w23, $w30
fsun.w $w3, $w18, $w28
fsun.d $w18, $w11, $w19
fsune.w $w16, $w31, $w2
fsune.d $w3, $w26, $w17
ftq.h $w16, $w4, $w24
ftq.w $w5, $w5, $w25
madd_q.h $w16, $w20, $w10
madd_q.w $w28, $w2, $w9
maddr_q.h $w8, $w18, $w9
maddr_q.w $w29, $w12, $w16
msub_q.h $w24, $w26, $w10
msub_q.w $w13, $w30, $w28
msubr_q.h $w12, $w21, $w11
msubr_q.w $w1, $w14, $w20
mul_q.h $w6, $w16, $w30
mul_q.w $w16, $w1, $w4
mulr_q.h $w6, $w20, $w19
mulr_q.w $w27, $w1, $w20

View File

@@ -0,0 +1,99 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: bclri.b $w21, $w30, 2 # encoding: [0x79,0xf2,0xf5,0x49]
# CHECK: bclri.h $w24, $w21, 0 # encoding: [0x79,0xe0,0xae,0x09]
# CHECK: bclri.w $w23, $w30, 3 # encoding: [0x79,0xc3,0xf5,0xc9]
# CHECK: bclri.d $w9, $w11, 0 # encoding: [0x79,0x80,0x5a,0x49]
# CHECK: binsli.b $w25, $w12, 1 # encoding: [0x7b,0x71,0x66,0x49]
# CHECK: binsli.h $w21, $w22, 0 # encoding: [0x7b,0x60,0xb5,0x49]
# CHECK: binsli.w $w22, $w4, 0 # encoding: [0x7b,0x40,0x25,0x89]
# CHECK: binsli.d $w6, $w2, 6 # encoding: [0x7b,0x06,0x11,0x89]
# CHECK: binsri.b $w15, $w19, 0 # encoding: [0x7b,0xf0,0x9b,0xc9]
# CHECK: binsri.h $w8, $w30, 1 # encoding: [0x7b,0xe1,0xf2,0x09]
# CHECK: binsri.w $w2, $w19, 5 # encoding: [0x7b,0xc5,0x98,0x89]
# CHECK: binsri.d $w18, $w20, 1 # encoding: [0x7b,0x81,0xa4,0x89]
# CHECK: bnegi.b $w24, $w19, 0 # encoding: [0x7a,0xf0,0x9e,0x09]
# CHECK: bnegi.h $w28, $w11, 3 # encoding: [0x7a,0xe3,0x5f,0x09]
# CHECK: bnegi.w $w1, $w27, 5 # encoding: [0x7a,0xc5,0xd8,0x49]
# CHECK: bnegi.d $w4, $w21, 1 # encoding: [0x7a,0x81,0xa9,0x09]
# CHECK: bseti.b $w18, $w8, 0 # encoding: [0x7a,0x70,0x44,0x89]
# CHECK: bseti.h $w24, $w14, 2 # encoding: [0x7a,0x62,0x76,0x09]
# CHECK: bseti.w $w9, $w18, 4 # encoding: [0x7a,0x44,0x92,0x49]
# CHECK: bseti.d $w7, $w15, 1 # encoding: [0x7a,0x01,0x79,0xc9]
# CHECK: sat_s.b $w31, $w31, 2 # encoding: [0x78,0x72,0xff,0xca]
# CHECK: sat_s.h $w19, $w19, 0 # encoding: [0x78,0x60,0x9c,0xca]
# CHECK: sat_s.w $w19, $w29, 0 # encoding: [0x78,0x40,0xec,0xca]
# CHECK: sat_s.d $w11, $w22, 0 # encoding: [0x78,0x00,0xb2,0xca]
# CHECK: sat_u.b $w1, $w13, 3 # encoding: [0x78,0xf3,0x68,0x4a]
# CHECK: sat_u.h $w30, $w24, 4 # encoding: [0x78,0xe4,0xc7,0x8a]
# CHECK: sat_u.w $w31, $w13, 0 # encoding: [0x78,0xc0,0x6f,0xca]
# CHECK: sat_u.d $w29, $w16, 5 # encoding: [0x78,0x85,0x87,0x4a]
# CHECK: slli.b $w23, $w10, 1 # encoding: [0x78,0x71,0x55,0xc9]
# CHECK: slli.h $w9, $w18, 1 # encoding: [0x78,0x61,0x92,0x49]
# CHECK: slli.w $w11, $w29, 4 # encoding: [0x78,0x44,0xea,0xc9]
# CHECK: slli.d $w25, $w20, 1 # encoding: [0x78,0x01,0xa6,0x49]
# CHECK: srai.b $w24, $w29, 1 # encoding: [0x78,0xf1,0xee,0x09]
# CHECK: srai.h $w1, $w6, 0 # encoding: [0x78,0xe0,0x30,0x49]
# CHECK: srai.w $w7, $w26, 1 # encoding: [0x78,0xc1,0xd1,0xc9]
# CHECK: srai.d $w20, $w25, 3 # encoding: [0x78,0x83,0xcd,0x09]
# CHECK: srari.b $w5, $w25, 0 # encoding: [0x79,0x70,0xc9,0x4a]
# CHECK: srari.h $w7, $w6, 4 # encoding: [0x79,0x64,0x31,0xca]
# CHECK: srari.w $w17, $w11, 5 # encoding: [0x79,0x45,0x5c,0x4a]
# CHECK: srari.d $w21, $w25, 5 # encoding: [0x79,0x05,0xcd,0x4a]
# CHECK: srli.b $w2, $w0, 2 # encoding: [0x79,0x72,0x00,0x89]
# CHECK: srli.h $w31, $w31, 2 # encoding: [0x79,0x62,0xff,0xc9]
# CHECK: srli.w $w5, $w9, 4 # encoding: [0x79,0x44,0x49,0x49]
# CHECK: srli.d $w27, $w26, 5 # encoding: [0x79,0x05,0xd6,0xc9]
# CHECK: srlri.b $w18, $w3, 0 # encoding: [0x79,0xf0,0x1c,0x8a]
# CHECK: srlri.h $w1, $w2, 3 # encoding: [0x79,0xe3,0x10,0x4a]
# CHECK: srlri.w $w11, $w22, 2 # encoding: [0x79,0xc2,0xb2,0xca]
# CHECK: srlri.d $w24, $w10, 6 # encoding: [0x79,0x86,0x56,0x0a]
bclri.b $w21, $w30, 2
bclri.h $w24, $w21, 0
bclri.w $w23, $w30, 3
bclri.d $w9, $w11, 0
binsli.b $w25, $w12, 1
binsli.h $w21, $w22, 0
binsli.w $w22, $w4, 0
binsli.d $w6, $w2, 6
binsri.b $w15, $w19, 0
binsri.h $w8, $w30, 1
binsri.w $w2, $w19, 5
binsri.d $w18, $w20, 1
bnegi.b $w24, $w19, 0
bnegi.h $w28, $w11, 3
bnegi.w $w1, $w27, 5
bnegi.d $w4, $w21, 1
bseti.b $w18, $w8, 0
bseti.h $w24, $w14, 2
bseti.w $w9, $w18, 4
bseti.d $w7, $w15, 1
sat_s.b $w31, $w31, 2
sat_s.h $w19, $w19, 0
sat_s.w $w19, $w29, 0
sat_s.d $w11, $w22, 0
sat_u.b $w1, $w13, 3
sat_u.h $w30, $w24, 4
sat_u.w $w31, $w13, 0
sat_u.d $w29, $w16, 5
slli.b $w23, $w10, 1
slli.h $w9, $w18, 1
slli.w $w11, $w29, 4
slli.d $w25, $w20, 1
srai.b $w24, $w29, 1
srai.h $w1, $w6, 0
srai.w $w7, $w26, 1
srai.d $w20, $w25, 3
srari.b $w5, $w25, 0
srari.h $w7, $w6, 4
srari.w $w17, $w11, 5
srari.d $w21, $w25, 5
srli.b $w2, $w0, 2
srli.h $w31, $w31, 2
srli.w $w5, $w9, 4
srli.d $w27, $w26, 5
srlri.b $w18, $w3, 0
srlri.h $w1, $w2, 3
srlri.w $w11, $w22, 2
srlri.d $w24, $w10, 6

View File

@@ -0,0 +1,78 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
#CHECK: bnz.b $w0, 4 # encoding: [0x47,0x80,0x00,0x01]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.h $w1, 16 # encoding: [0x47,0xa1,0x00,0x04]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.w $w2, 128 # encoding: [0x47,0xc2,0x00,0x20]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.d $w3, -128 # encoding: [0x47,0xe3,0xff,0xe0]
#CHECK: bnz.b $w0, SYMBOL0 # encoding: [0x47,0x80,A,A]
# fixup A - offset: 0, value: SYMBOL0, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.h $w1, SYMBOL1 # encoding: [0x47,0xa1,A,A]
# fixup A - offset: 0, value: SYMBOL1, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.w $w2, SYMBOL2 # encoding: [0x47,0xc2,A,A]
# fixup A - offset: 0, value: SYMBOL2, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.d $w3, SYMBOL3 # encoding: [0x47,0xe3,A,A]
# fixup A - offset: 0, value: SYMBOL3, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.v $w0, 4 # encoding: [0x45,0xe0,0x00,0x01]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bnz.v $w0, SYMBOL0 # encoding: [0x45,0xe0,A,A]
# fixup A - offset: 0, value: SYMBOL0, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.b $w0, 128 # encoding: [0x47,0x00,0x00,0x20]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.h $w1, 256 # encoding: [0x47,0x21,0x00,0x40]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.w $w2, 512 # encoding: [0x47,0x42,0x00,0x80]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.d $w3, -1024 # encoding: [0x47,0x63,0xff,0x00]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.b $w0, SYMBOL0 # encoding: [0x47,0x00,A,A]
# fixup A - offset: 0, value: SYMBOL0, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.h $w1, SYMBOL1 # encoding: [0x47,0x21,A,A]
# fixup A - offset: 0, value: SYMBOL1, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.w $w2, SYMBOL2 # encoding: [0x47,0x42,A,A]
# fixup A - offset: 0, value: SYMBOL2, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.d $w3, SYMBOL3 # encoding: [0x47,0x63,A,A]
# fixup A - offset: 0, value: SYMBOL3, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.v $w0, 4 # encoding: [0x45,0x60,0x00,0x01]
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
#CHECK: bz.v $w0, SYMBOL0 # encoding: [0x45,0x60,A,A]
# fixup A - offset: 0, value: SYMBOL0, kind: fixup_Mips_PC16
#CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
bnz.b $w0, 4
bnz.h $w1, 16
bnz.w $w2, 128
bnz.d $w3, -128
bnz.b $w0, SYMBOL0
bnz.h $w1, SYMBOL1
bnz.w $w2, SYMBOL2
bnz.d $w3, SYMBOL3
bnz.v $w0, 4
bnz.v $w0, SYMBOL0
bz.b $w0, 128
bz.h $w1, 256
bz.w $w2, 512
bz.d $w3, -1024
bz.b $w0, SYMBOL0
bz.h $w1, SYMBOL1
bz.w $w2, SYMBOL2
bz.d $w3, SYMBOL3
bz.v $w0, 4
bz.v $w0, SYMBOL0

View File

@@ -0,0 +1,69 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
#CHECK: cfcmsa $1, $0 # encoding: [0x78,0x7e,0x00,0x59]
#CHECK: cfcmsa $1, $0 # encoding: [0x78,0x7e,0x00,0x59]
#CHECK: cfcmsa $2, $1 # encoding: [0x78,0x7e,0x08,0x99]
#CHECK: cfcmsa $2, $1 # encoding: [0x78,0x7e,0x08,0x99]
#CHECK: cfcmsa $3, $2 # encoding: [0x78,0x7e,0x10,0xd9]
#CHECK: cfcmsa $3, $2 # encoding: [0x78,0x7e,0x10,0xd9]
#CHECK: cfcmsa $4, $3 # encoding: [0x78,0x7e,0x19,0x19]
#CHECK: cfcmsa $4, $3 # encoding: [0x78,0x7e,0x19,0x19]
#CHECK: cfcmsa $5, $4 # encoding: [0x78,0x7e,0x21,0x59]
#CHECK: cfcmsa $5, $4 # encoding: [0x78,0x7e,0x21,0x59]
#CHECK: cfcmsa $6, $5 # encoding: [0x78,0x7e,0x29,0x99]
#CHECK: cfcmsa $6, $5 # encoding: [0x78,0x7e,0x29,0x99]
#CHECK: cfcmsa $7, $6 # encoding: [0x78,0x7e,0x31,0xd9]
#CHECK: cfcmsa $7, $6 # encoding: [0x78,0x7e,0x31,0xd9]
#CHECK: cfcmsa $8, $7 # encoding: [0x78,0x7e,0x3a,0x19]
#CHECK: cfcmsa $8, $7 # encoding: [0x78,0x7e,0x3a,0x19]
#CHECK: ctcmsa $0, $1 # encoding: [0x78,0x3e,0x08,0x19]
#CHECK: ctcmsa $0, $1 # encoding: [0x78,0x3e,0x08,0x19]
#CHECK: ctcmsa $1, $2 # encoding: [0x78,0x3e,0x10,0x59]
#CHECK: ctcmsa $1, $2 # encoding: [0x78,0x3e,0x10,0x59]
#CHECK: ctcmsa $2, $3 # encoding: [0x78,0x3e,0x18,0x99]
#CHECK: ctcmsa $2, $3 # encoding: [0x78,0x3e,0x18,0x99]
#CHECK: ctcmsa $3, $4 # encoding: [0x78,0x3e,0x20,0xd9]
#CHECK: ctcmsa $3, $4 # encoding: [0x78,0x3e,0x20,0xd9]
#CHECK: ctcmsa $4, $5 # encoding: [0x78,0x3e,0x29,0x19]
#CHECK: ctcmsa $4, $5 # encoding: [0x78,0x3e,0x29,0x19]
#CHECK: ctcmsa $5, $6 # encoding: [0x78,0x3e,0x31,0x59]
#CHECK: ctcmsa $5, $6 # encoding: [0x78,0x3e,0x31,0x59]
#CHECK: ctcmsa $6, $7 # encoding: [0x78,0x3e,0x39,0x99]
#CHECK: ctcmsa $6, $7 # encoding: [0x78,0x3e,0x39,0x99]
#CHECK: ctcmsa $7, $8 # encoding: [0x78,0x3e,0x41,0xd9]
#CHECK: ctcmsa $7, $8 # encoding: [0x78,0x3e,0x41,0xd9]
cfcmsa $1, $msair
cfcmsa $1, $0
cfcmsa $2, $msacsr
cfcmsa $2, $1
cfcmsa $3, $msaaccess
cfcmsa $3, $2
cfcmsa $4, $msasave
cfcmsa $4, $3
cfcmsa $5, $msamodify
cfcmsa $5, $4
cfcmsa $6, $msarequest
cfcmsa $6, $5
cfcmsa $7, $msamap
cfcmsa $7, $6
cfcmsa $8, $msaunmap
cfcmsa $8, $7
ctcmsa $msair, $1
ctcmsa $0, $1
ctcmsa $msacsr, $2
ctcmsa $1, $2
ctcmsa $msaaccess, $3
ctcmsa $2, $3
ctcmsa $msasave, $4
ctcmsa $3, $4
ctcmsa $msamodify, $5
ctcmsa $4, $5
ctcmsa $msarequest, $6
ctcmsa $5, $6
ctcmsa $msamap, $7
ctcmsa $6, $7
ctcmsa $msaunmap, $8
ctcmsa $7, $8

View File

@@ -0,0 +1,12 @@
# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64r2 -mattr=+msa -show-encoding | \
# RUN: FileCheck %s
#
# CHECK: dlsa $8, $9, $10, 1 # encoding: [0x01,0x2a,0x40,0x15]
# CHECK: dlsa $8, $9, $10, 2 # encoding: [0x01,0x2a,0x40,0x55]
# CHECK: dlsa $8, $9, $10, 3 # encoding: [0x01,0x2a,0x40,0x95]
# CHECK: dlsa $8, $9, $10, 4 # encoding: [0x01,0x2a,0x40,0xd5]
dlsa $8, $9, $10, 1
dlsa $8, $9, $10, 2
dlsa $8, $9, $10, 3
dlsa $8, $9, $10, 4

View File

@@ -0,0 +1,16 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
copy_s.b $13, $w8[2] # CHECK: copy_s.b $13, $w8[2] # encoding: [0x78,0x82,0x43,0x59]
copy_s.h $1, $w25[0] # CHECK: copy_s.h $1, $w25[0] # encoding: [0x78,0xa0,0xc8,0x59]
copy_s.w $22, $w5[1] # CHECK: copy_s.w $22, $w5[1] # encoding: [0x78,0xb1,0x2d,0x99]
copy_u.b $22, $w20[4] # CHECK: copy_u.b $22, $w20[4] # encoding: [0x78,0xc4,0xa5,0x99]
copy_u.h $20, $w4[0] # CHECK: copy_u.h $20, $w4[0] # encoding: [0x78,0xe0,0x25,0x19]
sldi.b $w0, $w29[4] # CHECK: sldi.b $w0, $w29[4] # encoding: [0x78,0x04,0xe8,0x19]
sldi.h $w8, $w17[0] # CHECK: sldi.h $w8, $w17[0] # encoding: [0x78,0x20,0x8a,0x19]
sldi.w $w20, $w27[2] # CHECK: sldi.w $w20, $w27[2] # encoding: [0x78,0x32,0xdd,0x19]
sldi.d $w4, $w12[0] # CHECK: sldi.d $w4, $w12[0] # encoding: [0x78,0x38,0x61,0x19]
splati.b $w25, $w3[2] # CHECK: splati.b $w25, $w3[2] # encoding: [0x78,0x42,0x1e,0x59]
splati.h $w24, $w28[1] # CHECK: splati.h $w24, $w28[1] # encoding: [0x78,0x61,0xe6,0x19]
splati.w $w13, $w18[0] # CHECK: splati.w $w13, $w18[0] # encoding: [0x78,0x70,0x93,0x59]
splati.d $w28, $w1[0] # CHECK: splati.d $w28, $w1[0] # encoding: [0x78,0x78,0x0f,0x19]
move.v $w23, $w24 # CHECK: move.v $w23, $w24 # encoding: [0x78,0xbe,0xc5,0xd9]

View File

@@ -0,0 +1,9 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: insert.b $w23[3], $sp # encoding: [0x79,0x03,0xed,0xd9]
# CHECK: insert.h $w20[2], $5 # encoding: [0x79,0x22,0x2d,0x19]
# CHECK: insert.w $w8[2], $15 # encoding: [0x79,0x32,0x7a,0x19]
insert.b $w23[3], $sp
insert.h $w20[2], $5
insert.w $w8[2], $15

View File

@@ -0,0 +1,5 @@
# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: insert.d $w1[1], $sp # encoding: [0x79,0x39,0xe8,0x59]
insert.d $w1[1], $sp

View File

@@ -0,0 +1,11 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: insve.b $w25[3], $w9[0] # encoding: [0x79,0x43,0x4e,0x59]
# CHECK: insve.h $w24[2], $w2[0] # encoding: [0x79,0x62,0x16,0x19]
# CHECK: insve.w $w0[2], $w13[0] # encoding: [0x79,0x72,0x68,0x19]
# CHECK: insve.d $w3[0], $w18[0] # encoding: [0x79,0x78,0x90,0xd9]
insve.b $w25[3], $w9[0]
insve.h $w24[2], $w2[0]
insve.w $w0[2], $w13[0]
insve.d $w3[0], $w18[0]

View File

@@ -0,0 +1,3 @@
# RUN: llvm-mc %s -arch=mips64 -mcpu=mips64r2 -mattr=+msa -show-encoding | FileCheck %s
copy_s.d $19, $w31[0] # CHECK: copy_s.d $19, $w31[0] # encoding: [0x78,0xb8,0xfc,0xd9]

View File

@@ -0,0 +1,11 @@
# RUN: llvm-mc %s -arch=mips -mcpu=mips32r2 -mattr=+msa -show-encoding | FileCheck %s
#
# CHECK: ldi.b $w8, 198 # encoding: [0x7b,0x06,0x32,0x07]
# CHECK: ldi.h $w20, 313 # encoding: [0x7b,0x29,0xcd,0x07]
# CHECK: ldi.w $w24, 492 # encoding: [0x7b,0x4f,0x66,0x07]
# CHECK: ldi.d $w27, -180 # encoding: [0x7b,0x7a,0x66,0xc7]
ldi.b $w8, 198
ldi.h $w20, 313
ldi.w $w24, 492
ldi.d $w27, -180

Some files were not shown because too many files have changed in this diff Show More