summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2015-03-10 16:16:51 +0000
committerTom Stellard <thomas.stellard@amd.com>2015-03-10 16:16:51 +0000
commita14b0114a3a8e400ba1da9d4c71207a27e611c5b (patch)
tree90e401612ad5b9e6c9e8ec3a562e88fe207a8b72
parentc229baa94ce19694a68540e8d5a668b7969a7fd3 (diff)
downloadbcm5719-llvm-a14b0114a3a8e400ba1da9d4c71207a27e611c5b.tar.gz
bcm5719-llvm-a14b0114a3a8e400ba1da9d4c71207a27e611c5b.zip
R600/SI: Add _IDXEN and _BOTHEN variants for buffer_store
llvm-svn: 231798
-rw-r--r--llvm/lib/Target/R600/SIInstrInfo.td15
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/SIInstrInfo.td b/llvm/lib/Target/R600/SIInstrInfo.td
index d765515a123..5b0dae3324b 100644
--- a/llvm/lib/Target/R600/SIInstrInfo.td
+++ b/llvm/lib/Target/R600/SIInstrInfo.td
@@ -1975,6 +1975,21 @@ multiclass MUBUF_Store_Helper <mubuf op, string name, RegisterClass vdataClass,
"$glc"#"$slc"#"$tfe", []>;
} // end offen = 1, idxen = 0
+ let offen = 0, idxen = 1 in {
+ defm _IDXEN : MUBUF_m <op, name#"_idxen", (outs),
+ (ins vdataClass:$vdata, VGPR_32:$vaddr, SReg_128:$srsrc,
+ SCSrc_32:$soffset, mbuf_offset:$offset, glc:$glc,
+ slc:$slc, tfe:$tfe),
+ name#" $vdata, $vaddr, $srsrc, $soffset idxen"#"$offset"#"$glc"#"$slc"#"$tfe", []>;
+ }
+
+ let offen = 1, idxen = 1 in {
+ defm _BOTHEN : MUBUF_m <op, name#"_bothen", (outs),
+ (ins vdataClass:$vdata, VReg_64:$vaddr, SReg_128:$srsrc, SCSrc_32:$soffset,
+ mbuf_offset:$offset, glc:$glc, slc:$slc, tfe:$tfe),
+ name#" $vdata, $vaddr, $srsrc, $soffset idxen offen"#"$offset"#"$glc"#"$slc"#"$tfe", []>;
+ }
+
let offen = 0, idxen = 0 in {
defm _ADDR64 : MUBUFAddr64_m <op, name#"_addr64", (outs),
(ins vdataClass:$vdata, VReg_64:$vaddr, SReg_128:$srsrc,
OpenPOWER on IntegriCloud