[llvm] [AMDGPU] Improve codegen for copysign(x, fneg(y)) (PR #207178)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 24 09:03:09 PDT 2026


================
@@ -2489,6 +2494,12 @@ def : GCNPat <
   (V_AND_B16_t16_e64 0, (S_MOV_B32 (i32 0x00008000)), 0, VGPR_16:$src1)
 >;
 
+def : GCNPat <
+  (DivergentBinFrag<fcopysign> (fp16vt fpimm_zero), (fneg fp16vt:$src1)),
+  (EXTRACT_SUBREG (V_BFI_B32_e64 (REG_SEQUENCE VGPR_32, VGPR_16:$src1, lo16, (i16 (IMPLICIT_DEF)), hi16),
----------------
arsenm wrote:

We probably should have an output fragment for this REG_SEQUENCE with IMPLICIT_DEF pattern, it is frequent 

https://github.com/llvm/llvm-project/pull/207178


More information about the llvm-commits mailing list