summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMarek Olsak <marek.olsak@amd.com>2014-07-11 17:11:52 +0000
committerMarek Olsak <marek.olsak@amd.com>2014-07-11 17:11:52 +0000
commiteac5062cc0fef587581d3242bd22f3da3dbfaf58 (patch)
treecdf7a57bf19cbf4b9e543213633ebc309e07fc85 /llvm/lib
parentd8ecaeec02bddd18ddf2593140998c3fa4cf3b40 (diff)
downloadbcm5719-llvm-eac5062cc0fef587581d3242bd22f3da3dbfaf58.tar.gz
bcm5719-llvm-eac5062cc0fef587581d3242bd22f3da3dbfaf58.zip
R600/SI: Use i32 vectors for resources and samplers
This affects new intrinsics only. What surprises me is that v32i8 still works. llvm-svn: 212831
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/R600/SIInstructions.td4
-rw-r--r--llvm/lib/Target/R600/SIIntrinsics.td6
2 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/Target/R600/SIInstructions.td b/llvm/lib/Target/R600/SIInstructions.td
index 097cc4b194b..e72203321a5 100644
--- a/llvm/lib/Target/R600/SIInstructions.td
+++ b/llvm/lib/Target/R600/SIInstructions.td
@@ -1855,7 +1855,7 @@ def : Pat <
// Image + sampler
class SampleRawPattern<SDPatternOperator name, MIMG opcode, ValueType vt> : Pat <
- (name vt:$addr, v32i8:$rsrc, v16i8:$sampler, i32:$dmask, i32:$unorm,
+ (name vt:$addr, v8i32:$rsrc, v4i32:$sampler, i32:$dmask, i32:$unorm,
i32:$r128, i32:$da, i32:$glc, i32:$slc, i32:$tfe, i32:$lwe),
(opcode (as_i32imm $dmask), (as_i1imm $unorm), (as_i1imm $glc), (as_i1imm $da),
(as_i1imm $r128), (as_i1imm $tfe), (as_i1imm $lwe), (as_i1imm $slc),
@@ -1872,7 +1872,7 @@ multiclass SampleRawPatterns<SDPatternOperator name, string opcode> {
// Image only
class ImagePattern<SDPatternOperator name, MIMG opcode, ValueType vt> : Pat <
- (name vt:$addr, v32i8:$rsrc, i32:$dmask, i32:$unorm,
+ (name vt:$addr, v8i32:$rsrc, i32:$dmask, i32:$unorm,
i32:$r128, i32:$da, i32:$glc, i32:$slc, i32:$tfe, i32:$lwe),
(opcode (as_i32imm $dmask), (as_i1imm $unorm), (as_i1imm $glc), (as_i1imm $da),
(as_i1imm $r128), (as_i1imm $tfe), (as_i1imm $lwe), (as_i1imm $slc),
diff --git a/llvm/lib/Target/R600/SIIntrinsics.td b/llvm/lib/Target/R600/SIIntrinsics.td
index fc0c85008e7..027a0a2f516 100644
--- a/llvm/lib/Target/R600/SIIntrinsics.td
+++ b/llvm/lib/Target/R600/SIIntrinsics.td
@@ -58,8 +58,8 @@ let TargetPrefix = "SI", isTarget = 1 in {
class SampleRaw : Intrinsic <
[llvm_v4f32_ty], // vdata(VGPR)
[llvm_anyint_ty, // vaddr(VGPR)
- llvm_v32i8_ty, // rsrc(SGPR)
- llvm_v16i8_ty, // sampler(SGPR)
+ llvm_v8i32_ty, // rsrc(SGPR)
+ llvm_v4i32_ty, // sampler(SGPR)
llvm_i32_ty, // dmask(imm)
llvm_i32_ty, // unorm(imm)
llvm_i32_ty, // r128(imm)
@@ -74,7 +74,7 @@ let TargetPrefix = "SI", isTarget = 1 in {
class Image : Intrinsic <
[llvm_v4f32_ty], // vdata(VGPR)
[llvm_anyint_ty, // vaddr(VGPR)
- llvm_v32i8_ty, // rsrc(SGPR)
+ llvm_v8i32_ty, // rsrc(SGPR)
llvm_i32_ty, // dmask(imm)
llvm_i32_ty, // unorm(imm)
llvm_i32_ty, // r128(imm)
OpenPOWER on IntegriCloud