[PATCH] D63301: [AMDGPU] gfx1010 wave32 icmp/fcmp intrinsic changes for wave32

Stanislav Mekhanoshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 13 15:19:19 PDT 2019


rampitec marked 2 inline comments as done.
rampitec added inline comments.


================
Comment at: lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp:252
   CallInst *const Ballot =
-      B.CreateIntrinsic(Intrinsic::amdgcn_icmp, {B.getInt32Ty()},
+      B.CreateIntrinsic(Intrinsic::amdgcn_icmp,
+                        {B.getInt64Ty(), B.getInt32Ty()},
----------------
arsenm wrote:
> This one should query the wavesize?
They actually don't, they are anyint and 64 fits it.


================
Comment at: lib/Target/AMDGPU/SIInstructions.td:606-614
 def : Pat <
-  (int_amdgcn_icmp i1:$src, (i1 0), (i32 33)),
+  (i64 (int_amdgcn_icmp i1:$src, (i1 0), (i32 33))),
+  (COPY $src) // Return the SGPRs representing i1 src
+>;
+
+def : Pat <
+  (i32 (int_amdgcn_icmp i1:$src, (i1 0), (i32 33))),
----------------
arsenm wrote:
> I don't think these should ever get here? These should have been turned into AMDGPUSsetcc
That's an inplace replacement. We can explore if it still used or not, but keeping just wave64 version is clearly wrong.


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

https://reviews.llvm.org/D63301





More information about the llvm-commits mailing list