[PATCH] D119581: [AMDGPU] Divergence-driven abs instruction selection
Stanislav Mekhanoshin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 11 14:22:25 PST 2022
rampitec added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/SIInstructions.td:2255
+def : GCNPat<
+ (i32 (DivergentUnaryFrag<abs> i32:$src)),
+ (V_MAX_I32_e64 (V_SUB_U32_e32 (i32 0), $src), $src)>{
----------------
Don't you need to add complexity to this pattern?
================
Comment at: llvm/test/CodeGen/AMDGPU/divergence-driven-abs.ll:1
+; RUN: llc -march=amdgcn -stop-after=amdgpu-isel < %s | FileCheck -enable-var-scope -check-prefixes=GCN %s
+
----------------
Fix file mode.
================
Comment at: llvm/test/CodeGen/AMDGPU/divergence-driven-abs.ll:1
+; RUN: llc -march=amdgcn -stop-after=amdgpu-isel < %s | FileCheck -enable-var-scope -check-prefixes=GCN %s
+
----------------
rampitec wrote:
> Fix file mode.
Add a run line for gfx900 to check opcode w/o carry.
================
Comment at: llvm/test/CodeGen/AMDGPU/divergence-driven-abs.ll:15
+; FUNC-LABEL: {{^}}v_abs_i32:
+; GCN: V_MAX_I32_e64
+define amdgpu_kernel void @v_abs_i32(i32 addrspace(1)* %out, i32 addrspace(1)* %src) nounwind {
----------------
Check v_sub as well, differently for SI and GFX9.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119581/new/
https://reviews.llvm.org/D119581
More information about the llvm-commits
mailing list