aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/R600/SIInstrInfo.td
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2013-05-06 23:02:12 +0000
committerTom Stellard <thomas.stellard@amd.com>2013-05-06 23:02:12 +0000
commit651a4c8ee08ccbf59e1a677abc3a2424e50b4c2c (patch)
tree3fd137ff3eb08c70a0b4bcb5fffc4527c785198f /lib/Target/R600/SIInstrInfo.td
parente756ffd8883c8950a16a781e97e85de5dcbb22a7 (diff)
downloadexternal_llvm-651a4c8ee08ccbf59e1a677abc3a2424e50b4c2c.zip
external_llvm-651a4c8ee08ccbf59e1a677abc3a2424e50b4c2c.tar.gz
external_llvm-651a4c8ee08ccbf59e1a677abc3a2424e50b4c2c.tar.bz2
R600/SI: Add intrinsic for texture image loading
Patch by: Michel Dänzer Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181267 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/R600/SIInstrInfo.td')
-rw-r--r--lib/Target/R600/SIInstrInfo.td19
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/Target/R600/SIInstrInfo.td b/lib/Target/R600/SIInstrInfo.td
index aafc331..c8aecb7 100644
--- a/lib/Target/R600/SIInstrInfo.td
+++ b/lib/Target/R600/SIInstrInfo.td
@@ -335,7 +335,22 @@ class MTBUF_Load_Helper <bits<3> op, string asm, RegisterClass regClass> : MTBUF
let mayStore = 0;
}
-class MIMG_Load_Helper <bits<7> op, string asm> : MIMG <
+class MIMG_NoSampler_Helper <bits<7> op, string asm> : MIMG <
+ op,
+ (outs VReg_128:$vdata),
+ (ins i32imm:$dmask, i1imm:$unorm, i1imm:$glc, i1imm:$da, i1imm:$r128,
+ i1imm:$tfe, i1imm:$lwe, i1imm:$slc, unknown:$vaddr,
+ SReg_256:$srsrc),
+ asm#" $vdata, $dmask, $unorm, $glc, $da, $r128,"
+ #" $tfe, $lwe, $slc, $vaddr, $srsrc",
+ []> {
+ let SSAMP = 0;
+ let mayLoad = 1;
+ let mayStore = 0;
+ let hasPostISelHook = 1;
+}
+
+class MIMG_Sampler_Helper <bits<7> op, string asm> : MIMG <
op,
(outs VReg_128:$vdata),
(ins i32imm:$dmask, i1imm:$unorm, i1imm:$glc, i1imm:$da, i1imm:$r128,
@@ -382,7 +397,7 @@ def getCommuteOrig : InstrMapping {
// Test if the supplied opcode is an MIMG instruction
def isMIMG : InstrMapping {
- let FilterClass = "MIMG_Load_Helper";
+ let FilterClass = "MIMG";
let RowFields = ["Inst"];
let ColFields = ["Size"];
let KeyCol = ["8"];