Skip to content

Commit a0b49f4

Browse files
committed
[VP] more functional Intrinsic to definitions
1. Remove the 'experiment' of reduction's intrinsic name 2. Add functional Intrinsic for smax/smin/umax/umin/copysign/maxnum/minnum Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D159493
1 parent c9733b8 commit a0b49f4

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

llvm/include/llvm/IR/VPIntrinsics.def

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -207,24 +207,28 @@ HELPER_REGISTER_BINARY_INT_VP(vp_xor, VP_XOR, Xor, XOR)
207207
BEGIN_REGISTER_VP(vp_smin, 2, 3, VP_SMIN, -1)
208208
VP_PROPERTY_BINARYOP
209209
VP_PROPERTY_FUNCTIONAL_SDOPC(SMIN)
210+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(smin)
210211
END_REGISTER_VP(vp_smin, VP_SMIN)
211212

212213
// llvm.vp.smax(x,y,mask,vlen)
213214
BEGIN_REGISTER_VP(vp_smax, 2, 3, VP_SMAX, -1)
214215
VP_PROPERTY_BINARYOP
215216
VP_PROPERTY_FUNCTIONAL_SDOPC(SMAX)
217+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(smax)
216218
END_REGISTER_VP(vp_smax, VP_SMAX)
217219

218220
// llvm.vp.umin(x,y,mask,vlen)
219221
BEGIN_REGISTER_VP(vp_umin, 2, 3, VP_UMIN, -1)
220222
VP_PROPERTY_BINARYOP
221223
VP_PROPERTY_FUNCTIONAL_SDOPC(UMIN)
224+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(umin)
222225
END_REGISTER_VP(vp_umin, VP_UMIN)
223226

224227
// llvm.vp.umax(x,y,mask,vlen)
225228
BEGIN_REGISTER_VP(vp_umax, 2, 3, VP_UMAX, -1)
226229
VP_PROPERTY_BINARYOP
227230
VP_PROPERTY_FUNCTIONAL_SDOPC(UMAX)
231+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(umax)
228232
END_REGISTER_VP(vp_umax, VP_UMAX)
229233

230234
// llvm.vp.abs(x,is_int_min_poison,mask,vlen)
@@ -343,18 +347,21 @@ END_REGISTER_VP(vp_fmuladd, VP_FMULADD)
343347
BEGIN_REGISTER_VP(vp_copysign, 2, 3, VP_FCOPYSIGN, -1)
344348
VP_PROPERTY_BINARYOP
345349
VP_PROPERTY_FUNCTIONAL_SDOPC(FCOPYSIGN)
350+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(copysign)
346351
END_REGISTER_VP(vp_copysign, VP_FCOPYSIGN)
347352

348353
// llvm.vp.minnum(x, y, mask,vlen)
349354
BEGIN_REGISTER_VP(vp_minnum, 2, 3, VP_FMINNUM, -1)
350355
VP_PROPERTY_BINARYOP
351356
VP_PROPERTY_FUNCTIONAL_SDOPC(FMINNUM)
357+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(minnum)
352358
END_REGISTER_VP(vp_minnum, VP_FMINNUM)
353359

354360
// llvm.vp.maxnum(x, y, mask,vlen)
355361
BEGIN_REGISTER_VP(vp_maxnum, 2, 3, VP_FMAXNUM, -1)
356362
VP_PROPERTY_BINARYOP
357363
VP_PROPERTY_FUNCTIONAL_SDOPC(FMAXNUM)
364+
VP_PROPERTY_FUNCTIONAL_INTRINSIC(maxnum)
358365
END_REGISTER_VP(vp_maxnum, VP_FMAXNUM)
359366

360367
// llvm.vp.ceil(x,mask,vlen)
@@ -566,47 +573,47 @@ END_REGISTER_VP(vp_gather, VP_GATHER)
566573

567574
// llvm.vp.reduce.add(start,x,mask,vlen)
568575
HELPER_REGISTER_REDUCTION_VP(vp_reduce_add, VP_REDUCE_ADD,
569-
experimental_vector_reduce_add)
576+
vector_reduce_add)
570577

571578
// llvm.vp.reduce.mul(start,x,mask,vlen)
572579
HELPER_REGISTER_REDUCTION_VP(vp_reduce_mul, VP_REDUCE_MUL,
573-
experimental_vector_reduce_mul)
580+
vector_reduce_mul)
574581

575582
// llvm.vp.reduce.and(start,x,mask,vlen)
576583
HELPER_REGISTER_REDUCTION_VP(vp_reduce_and, VP_REDUCE_AND,
577-
experimental_vector_reduce_and)
584+
vector_reduce_and)
578585

579586
// llvm.vp.reduce.or(start,x,mask,vlen)
580587
HELPER_REGISTER_REDUCTION_VP(vp_reduce_or, VP_REDUCE_OR,
581-
experimental_vector_reduce_or)
588+
vector_reduce_or)
582589

583590
// llvm.vp.reduce.xor(start,x,mask,vlen)
584591
HELPER_REGISTER_REDUCTION_VP(vp_reduce_xor, VP_REDUCE_XOR,
585-
experimental_vector_reduce_xor)
592+
vector_reduce_xor)
586593

587594
// llvm.vp.reduce.smax(start,x,mask,vlen)
588595
HELPER_REGISTER_REDUCTION_VP(vp_reduce_smax, VP_REDUCE_SMAX,
589-
experimental_vector_reduce_smax)
596+
vector_reduce_smax)
590597

591598
// llvm.vp.reduce.smin(start,x,mask,vlen)
592599
HELPER_REGISTER_REDUCTION_VP(vp_reduce_smin, VP_REDUCE_SMIN,
593-
experimental_vector_reduce_smin)
600+
vector_reduce_smin)
594601

595602
// llvm.vp.reduce.umax(start,x,mask,vlen)
596603
HELPER_REGISTER_REDUCTION_VP(vp_reduce_umax, VP_REDUCE_UMAX,
597-
experimental_vector_reduce_umax)
604+
vector_reduce_umax)
598605

599606
// llvm.vp.reduce.umin(start,x,mask,vlen)
600607
HELPER_REGISTER_REDUCTION_VP(vp_reduce_umin, VP_REDUCE_UMIN,
601-
experimental_vector_reduce_umin)
608+
vector_reduce_umin)
602609

603610
// llvm.vp.reduce.fmax(start,x,mask,vlen)
604611
HELPER_REGISTER_REDUCTION_VP(vp_reduce_fmax, VP_REDUCE_FMAX,
605-
experimental_vector_reduce_fmax)
612+
vector_reduce_fmax)
606613

607614
// llvm.vp.reduce.fmin(start,x,mask,vlen)
608615
HELPER_REGISTER_REDUCTION_VP(vp_reduce_fmin, VP_REDUCE_FMIN,
609-
experimental_vector_reduce_fmin)
616+
vector_reduce_fmin)
610617

611618
#undef HELPER_REGISTER_REDUCTION_VP
612619

@@ -635,12 +642,12 @@ HELPER_REGISTER_REDUCTION_VP(vp_reduce_fmin, VP_REDUCE_FMIN,
635642
// llvm.vp.reduce.fadd(start,x,mask,vlen)
636643
HELPER_REGISTER_REDUCTION_SEQ_VP(vp_reduce_fadd, VP_REDUCE_FADD,
637644
VP_REDUCE_SEQ_FADD,
638-
experimental_vector_reduce_fadd)
645+
vector_reduce_fadd)
639646

640647
// llvm.vp.reduce.fmul(start,x,mask,vlen)
641648
HELPER_REGISTER_REDUCTION_SEQ_VP(vp_reduce_fmul, VP_REDUCE_FMUL,
642649
VP_REDUCE_SEQ_FMUL,
643-
experimental_vector_reduce_fmul)
650+
vector_reduce_fmul)
644651

645652
#undef HELPER_REGISTER_REDUCTION_SEQ_VP
646653

0 commit comments

Comments
 (0)