[all-commits] [llvm/llvm-project] 0d97b5: [CIR][AArch64] Lower NEON zip1/2 elements intrinsi...

Jiahao Guo via All-commits all-commits at lists.llvm.org
Wed Apr 29 05:56:14 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0d97b5a084f93b4a48f93895baedcf9ab998ec85
      https://github.com/llvm/llvm-project/commit/0d97b5a084f93b4a48f93895baedcf9ab998ec85
  Author: Jiahao Guo <eoonguo at gmail.com>
  Date:   2026-04-29 (Wed, 29 Apr 2026)

  Changed paths:
    M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_untyped.c
    M clang/test/CodeGen/AArch64/neon-perm.c
    A clang/test/CodeGen/AArch64/neon/perm.c
    M clang/test/CodeGen/AArch64/poly64.c

  Log Message:
  -----------
  [CIR][AArch64] Lower NEON zip1/2 elements intrinsics (#194311)

### Summary

part of : https://github.com/llvm/llvm-project/issues/185382

This is a follow up : https://github.com/llvm/llvm-project/pull/193658

Lower zip1 and zip2 intrinsics in
https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#zip-elements

All the intrinsics are handled inline in
`llvm-project/build/lib/clang/23/include/arm_neon.h` like:
```
#ifdef __LITTLE_ENDIAN__
__ai __attribute__((target("neon"))) int8x8_t vzip1_s8(int8x8_t __p0, int8x8_t __p1) {
  int8x8_t __ret;
  __ret = __builtin_shufflevector(__p0, __p1, 0, 8, 1, 9, 2, 10, 3, 11);
  return __ret;
}
#else
__ai __attribute__((target("neon"))) int8x8_t vzip1_s8(int8x8_t __p0, int8x8_t __p1) {
  int8x8_t __ret;
  int8x8_t __rev0;  __rev0 = __builtin_shufflevector(__p0, __p0, __lane_reverse_64_8);
  int8x8_t __rev1;  __rev1 = __builtin_shufflevector(__p1, __p1, __lane_reverse_64_8);
  __ret = __builtin_shufflevector(__rev0, __rev1, 0, 8, 1, 9, 2, 10, 3, 11);
  __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_64_8);
  return __ret;
}
#endif
```
So no additional special lowering logic is needed.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list