[llvm] [AMDGPU] Prefer packed minimum/maximum ops for two-input ops (PR #215449)

Yaxun Liu via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 12 07:51:38 PDT 2026


================
@@ -0,0 +1,23 @@
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx950 < %s | FileCheck -check-prefix=GFX950 %s
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1250 < %s | FileCheck -check-prefix=GFX1250 %s
+
+define <2 x half> @maximum_v2f16(<2 x half> %src0, <2 x half> %src1) {
+; GFX950-LABEL: maximum_v2f16:
+; GFX950:       v_pk_maximum3_f16 v0, v0, v1, v1
+; GFX1250-LABEL: maximum_v2f16:
+; GFX1250:       v_pk_maximum_f16 v0, v0, v1
+  %max = call <2 x half> @llvm.maximum.v2f16(<2 x half> %src0, <2 x half> %src1)
+  ret <2 x half> %max
+}
+
+define <2 x half> @minimum_v2f16(<2 x half> %src0, <2 x half> %src1) {
+; GFX950-LABEL: minimum_v2f16:
+; GFX950:       v_pk_minimum3_f16 v0, v0, v1, v1
+; GFX1250-LABEL: minimum_v2f16:
+; GFX1250:       v_pk_minimum_f16 v0, v0, v1
+  %min = call <2 x half> @llvm.minimum.v2f16(<2 x half> %src0, <2 x half> %src1)
+  ret <2 x half> %min
+}
+
+declare <2 x half> @llvm.maximum.v2f16(<2 x half>, <2 x half>)
----------------
yxsamliu wrote:

Removed the unnecessary intrinsic declarations.

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


More information about the llvm-commits mailing list