rampitec added a comment.
You need to replace HasGFX10_BEncoding with HasGFX10_AEncoding in the BVH and
IMAGE_MSAA_LOAD_X. You also need to update llvm.amdgcn.image.msaa.load.x.ll
test to include gfx1013.
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPU.td:1106
[FeatureGFX10,
FeatureGFX10_BEncoding,
FeatureGFX10_3Insts,
----------------
gfx1030 should now include FeatureGFX10_AEncoding as well. 10_B is an extension
above 10_A.
================
Comment at: llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll:4
+; RUN: llc -global-isel -march=amdgcn -mcpu=gfx1013 -verify-machineinstrs < %s
| FileCheck -check-prefix=GCN %s
+; RUN: llc -global-isel -march=amdgcn -mcpu=gfx1012 -verify-machineinstrs < %s
| FileCheck -check-prefix=GCN %s
----------------
foad wrote:
> This test surely should not pass for gfx1012, since it does not have these
> instructions. And with your patch as written it should fail for gfx1013 too,
> since they are predicated on HasGFX10_BEncoding.
>
> @rampitec any idea what is wrong here? Apparently the backend will happily
> generate image_bvh_intersect_ray instructions even for gfx900!
Indeed. MIMG_IntersectRay has this:
```
let SubtargetPredicate = HasGFX10_BEncoding,
AssemblerPredicate = HasGFX10_BEncoding,
```
but apparently SubtargetPredicate did not work. It needs to be fixed.
gfx1012 does not have it, gfx1013 does though. That is what GFX10_A encoding is
about, 10_B it has to be replaced with 10_A in BVH and MSAA load.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103663/new/
https://reviews.llvm.org/D103663
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits