[mips][msa] Direct Object Emission support for MOVE.v.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193080 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Matheus Almeida 2013-10-21 12:43:54 +00:00
parent 006cff8d7b
commit f6d4cff9b1
3 changed files with 10 additions and 2 deletions

View File

@ -146,7 +146,12 @@ class MSA_3R_INDEX_FMT<bits<3> major, bits<2> df, bits<6> minor>: MSAInst {
}
class MSA_ELM_FMT<bits<10> major, bits<6> minor>: MSAInst {
bits<5> ws;
bits<5> wd;
let Inst{25-16} = major;
let Inst{15-11} = ws;
let Inst{10-6} = wd;
let Inst{5-0} = minor;
}

View File

@ -2158,8 +2158,8 @@ class MOD_U_W_DESC : MSA_3R_DESC_BASE<"mod_u.w", urem, MSA128WOpnd>;
class MOD_U_D_DESC : MSA_3R_DESC_BASE<"mod_u.d", urem, MSA128DOpnd>;
class MOVE_V_DESC {
dag OutOperandList = (outs MSA128B:$wd);
dag InOperandList = (ins MSA128B:$ws);
dag OutOperandList = (outs MSA128BOpnd:$wd);
dag InOperandList = (ins MSA128BOpnd:$ws);
string AsmString = "move.v\t$wd, $ws";
list<dag> Pattern = [];
InstrItinClass Itinerary = NoItinerary;

View File

@ -16,6 +16,7 @@
# CHECK: splati.h $w24, $w28[1] # encoding: [0x78,0x61,0xe6,0x19]
# CHECK: splati.w $w13, $w18[0] # encoding: [0x78,0x70,0x93,0x59]
# CHECK: splati.d $w28, $w1[0] # encoding: [0x78,0x78,0x0f,0x19]
# CHECK: move.v $w23, $w24 # encoding: [0x78,0xbe,0xc5,0xd9]
# CHECKOBJDUMP: copy_s.b $13, $w8[2]
# CHECKOBJDUMP: copy_s.h $1, $w25[0]
@ -31,6 +32,7 @@
# CHECKOBJDUMP: splati.h $w24, $w28[1]
# CHECKOBJDUMP: splati.w $w13, $w18[0]
# CHECKOBJDUMP: splati.d $w28, $w1[0]
# CHECKOBJDUMP: move.v $w23, $w24
copy_s.b $13, $w8[2]
copy_s.h $1, $w25[0]
@ -46,3 +48,4 @@
splati.h $w24, $w28[1]
splati.w $w13, $w18[0]
splati.d $w28, $w1[0]
move.v $w23, $w24