FreddyYe created this revision.
Herald added subscribers: jeroen.dobbelaere, pengfei.
FreddyYe requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

*_mul_pch is to align with *_mul_ps annd *_mul_pd


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D112777

Files:
  clang/lib/Headers/avx512fp16intrin.h
  clang/lib/Headers/avx512vlfp16intrin.h
  clang/test/CodeGen/X86/avx512fp16-builtins.c
  clang/test/CodeGen/X86/avx512vlfp16-builtins.c

Index: clang/test/CodeGen/X86/avx512vlfp16-builtins.c
===================================================================
--- clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -2934,36 +2934,72 @@
   return _mm_fmul_pch(__A, __B);
 }
 
+__m128h test_mm_mul_pch(__m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.128
+  return _mm_mul_pch(__A, __B);
+}
+
 __m128h test_mm_mask_fmul_pch(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
   // CHECK-LABEL: @test_mm_mask_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.128
   return _mm_mask_fmul_pch(__W, __U, __A, __B);
 }
 
+__m128h test_mm_mask_mul_pch(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_mask_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.128
+  return _mm_mask_mul_pch(__W, __U, __A, __B);
+}
+
 __m128h test_mm_maskz_fmul_pch(__mmask8 __U, __m128h __A, __m128h __B) {
   // CHECK-LABEL: @test_mm_maskz_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.128
   return _mm_maskz_fmul_pch(__U, __A, __B);
 }
 
+__m128h test_mm_maskz_mul_pch(__mmask8 __U, __m128h __A, __m128h __B) {
+  // CHECK-LABEL: @test_mm_maskz_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.128
+  return _mm_maskz_mul_pch(__U, __A, __B);
+}
+
 __m256h test_mm256_fmul_pch(__m256h __A, __m256h __B) {
   // CHECK-LABEL: @test_mm256_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.256
   return _mm256_fmul_pch(__A, __B);
 }
 
+__m256h test_mm256_mul_pch(__m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.256
+  return _mm256_mul_pch(__A, __B);
+}
+
 __m256h test_mm256_mask_fmul_pch(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) {
   // CHECK-LABEL: @test_mm256_mask_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.256
   return _mm256_mask_fmul_pch(__W, __U, __A, __B);
 }
 
+__m256h test_mm256_mask_mul_pch(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_mask_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.256
+  return _mm256_mask_mul_pch(__W, __U, __A, __B);
+}
+
 __m256h test_mm256_maskz_fmul_pch(__mmask8 __U, __m256h __A, __m256h __B) {
   // CHECK-LABEL: @test_mm256_maskz_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.256
   return _mm256_maskz_fmul_pch(__U, __A, __B);
 }
 
+__m256h test_mm256_maskz_mul_pch(__mmask8 __U, __m256h __A, __m256h __B) {
+  // CHECK-LABEL: @test_mm256_maskz_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.256
+  return _mm256_maskz_mul_pch(__U, __A, __B);
+}
+
 __m128h test_mm_fmadd_pch(__m128h __A, __m128h __B, __m128h __C) {
   // CHECK-LABEL: @test_mm_fmadd_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmadd.cph.128
Index: clang/test/CodeGen/X86/avx512fp16-builtins.c
===================================================================
--- clang/test/CodeGen/X86/avx512fp16-builtins.c
+++ clang/test/CodeGen/X86/avx512fp16-builtins.c
@@ -4315,18 +4315,36 @@
   return _mm512_fmul_pch(__A, __B);
 }
 
+__m512h test_mm512_mul_pch(__m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.512
+  return _mm512_mul_pch(__A, __B);
+}
+
 __m512h test_mm512_mask_fmul_pch(__m512h __W, __mmask16 __U, __m512h __A, __m512h __B) {
   // CHECK-LABEL: @test_mm512_mask_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.512
   return _mm512_mask_fmul_pch(__W, __U, __A, __B);
 }
 
+__m512h test_mm512_mask_mul_pch(__m512h __W, __mmask16 __U, __m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_mask_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.512
+  return _mm512_mask_mul_pch(__W, __U, __A, __B);
+}
+
 __m512h test_mm512_maskz_fmul_pch(__mmask16 __U, __m512h __A, __m512h __B) {
   // CHECK-LABEL: @test_mm512_maskz_fmul_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.512
   return _mm512_maskz_fmul_pch(__U, __A, __B);
 }
 
+__m512h test_mm512_maskz_mul_pch(__mmask16 __U, __m512h __A, __m512h __B) {
+  // CHECK-LABEL: @test_mm512_maskz_mul_pch
+  // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.512
+  return _mm512_maskz_mul_pch(__U, __A, __B);
+}
+
 __m512h test_mm512_fmul_round_pch(__m512h __A, __m512h __B) {
   // CHECK-LABEL: @test_mm512_fmul_round_pch
   // CHECK: @llvm.x86.avx512fp16.mask.vfmul.cph.512
Index: clang/lib/Headers/avx512vlfp16intrin.h
===================================================================
--- clang/lib/Headers/avx512vlfp16intrin.h
+++ clang/lib/Headers/avx512vlfp16intrin.h
@@ -1884,6 +1884,11 @@
       (__v4sf)__A, (__v4sf)__B, (__v4sf)_mm_undefined_ph(), (__mmask8)-1);
 }
 
+static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mul_pch(__m128h __A,
+                                                            __m128h __B) {
+  return _mm_fmul_pch(__A, __B);
+}
+
 static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_fmul_pch(__m128h __W,
                                                                   __mmask8 __U,
                                                                   __m128h __A,
@@ -1892,30 +1897,57 @@
                                                   (__v4sf)__W, (__mmask8)__U);
 }
 
+static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_mul_pch(__m128h __W,
+                                                                 __mmask8 __U,
+                                                                 __m128h __A,
+                                                                 __m128h __B) {
+  return _mm_mask_fmul_pch(__W, __U, __A, __B);
+}
+
 static __inline__ __m128h __DEFAULT_FN_ATTRS128
 _mm_maskz_fmul_pch(__mmask8 __U, __m128h __A, __m128h __B) {
   return (__m128h)__builtin_ia32_vfmulcph128_mask(
       (__v4sf)__A, (__v4sf)__B, (__v4sf)_mm_setzero_ph(), (__mmask8)__U);
 }
 
+static __inline__ __m128h __DEFAULT_FN_ATTRS128
+_mm_maskz_mul_pch(__mmask8 __U, __m128h __A, __m128h __B) {
+  return _mm_maskz_fmul_pch(__U, __A, __B);
+}
+
 static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_fmul_pch(__m256h __A,
                                                                 __m256h __B) {
   return (__m256h)__builtin_ia32_vfmulcph256_mask(
       (__v8sf)__A, (__v8sf)__B, (__v8sf)_mm256_undefined_ph(), (__mmask8)-1);
 }
 
+static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_mul_pch(__m256h __A,
+                                                               __m256h __B) {
+  return _mm256_fmul_pch(__A, __B);
+}
+
 static __inline__ __m256h __DEFAULT_FN_ATTRS256
 _mm256_mask_fmul_pch(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) {
   return (__m256h)__builtin_ia32_vfmulcph256_mask((__v8sf)__A, (__v8sf)__B,
                                                   (__v8sf)__W, (__mmask8)__U);
 }
 
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_mask_mul_pch(__m256h __W, __mmask8 __U, __m256h __A, __m256h __B) {
+  return _mm256_mask_fmul_pch(__W, __U, __A, __B);
+}
+
 static __inline__ __m256h __DEFAULT_FN_ATTRS256
 _mm256_maskz_fmul_pch(__mmask8 __U, __m256h __A, __m256h __B) {
   return (__m256h)__builtin_ia32_vfmulcph256_mask(
       (__v8sf)__A, (__v8sf)__B, (__v8sf)_mm256_setzero_ph(), (__mmask8)__U);
 }
 
+static __inline__ __m256h __DEFAULT_FN_ATTRS256
+_mm256_maskz_mul_pch(__mmask8 __U, __m256h __A, __m256h __B) {
+  return _mm256_maskz_fmul_pch(__U, __A, __B);
+}
+
 static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_fmadd_pch(__m128h __A,
                                                               __m128h __B,
                                                               __m128h __C) {
Index: clang/lib/Headers/avx512fp16intrin.h
===================================================================
--- clang/lib/Headers/avx512fp16intrin.h
+++ clang/lib/Headers/avx512fp16intrin.h
@@ -3142,6 +3142,11 @@
       _MM_FROUND_CUR_DIRECTION);
 }
 
+static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_mul_pch(__m512h __A,
+                                                               __m512h __B) {
+  return _mm512_fmul_pch(__A, __B);
+}
+
 static __inline__ __m512h __DEFAULT_FN_ATTRS512
 _mm512_mask_fmul_pch(__m512h __W, __mmask16 __U, __m512h __A, __m512h __B) {
   return (__m512h)__builtin_ia32_vfmulcph512_mask((__v16sf)__A, (__v16sf)__B,
@@ -3149,6 +3154,11 @@
                                                   _MM_FROUND_CUR_DIRECTION);
 }
 
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_mask_mul_pch(__m512h __W, __mmask16 __U, __m512h __A, __m512h __B) {
+  return _mm512_mask_fmul_pch( __W, __U, __A, __B);
+}
+
 static __inline__ __m512h __DEFAULT_FN_ATTRS512
 _mm512_maskz_fmul_pch(__mmask16 __U, __m512h __A, __m512h __B) {
   return (__m512h)__builtin_ia32_vfmulcph512_mask(
@@ -3156,6 +3166,11 @@
       _MM_FROUND_CUR_DIRECTION);
 }
 
+static __inline__ __m512h __DEFAULT_FN_ATTRS512
+_mm512_maskz_mul_pch(__mmask16 __U, __m512h __A, __m512h __B) {
+  return _mm512_maskz_fmul_pch(__U, __A, __B);
+}
+
 #define _mm512_fmul_round_pch(A, B, R)                                         \
   ((__m512h)__builtin_ia32_vfmulcph512_mask(                                   \
       (__v16sf)(__m512h)(A), (__v16sf)(__m512h)(B),                            \
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to