[PATCH] D131959: [AMDGPU] Fix SDST operand of V_DIV_SCALE to always be VCC

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 24 02:54:22 PDT 2022


Pierre-vh added a comment.

In D131959#3743472 <https://reviews.llvm.org/D131959#3743472>, @rampitec wrote:

> In D131959#3742034 <https://reviews.llvm.org/D131959#3742034>, @Pierre-vh wrote:
>
>> Adding `isAsmParserOnly` solves it, but now it's InstrInfo that fails:
>>
>>   [build] error: Multiple matches found for `V_DIV_SCALE_F32_e64', for the relation `getMCOpcodeGen', row fields ["v_div_scale_f32_e64"], column `["0"]'
>>   [build] CurInstr: V_DIV_SCALE_F32_w64_gfx6_gfx7
>>   [build] MatchInstr: V_DIV_SCALE_F32_w32_gfx6_gfx7
>>
>> I'm going to update the diff with my latest (non-working) draft. It's a bit messy so I'll look into cleaning it up further.
>
> You should only define w32/w64 for subtargets which have it (i.e. gfx10+).

Unfortunately I keep having the issue even after I removed the <gfx10 w32/w64 variants.

  [build] error: Multiple matches found for `V_DIV_SCALE_F32_e64', for the relation `getMCOpcodeGen', row fields ["v_div_scale_f32_e64"], column `["6"]'
  [build] V_DIV_SCALE_F32_w64_gfx10
  [build] V_DIV_SCALE_F32_w32_gfx10

Maybe I need to create an InstAlias for wave32/wave64? Not sure how it works


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131959/new/

https://reviews.llvm.org/D131959



More information about the llvm-commits mailing list