diff options
| author | Marek Olsak <marek.olsak@amd.com> | 2014-07-11 17:11:52 +0000 | 
|---|---|---|
| committer | Marek Olsak <marek.olsak@amd.com> | 2014-07-11 17:11:52 +0000 | 
| commit | eac5062cc0fef587581d3242bd22f3da3dbfaf58 (patch) | |
| tree | cdf7a57bf19cbf4b9e543213633ebc309e07fc85 /llvm/lib | |
| parent | d8ecaeec02bddd18ddf2593140998c3fa4cf3b40 (diff) | |
| download | bcm5719-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.td | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/R600/SIIntrinsics.td | 6 | 
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)  | 

