[clang] [CIR][AArch64] Implement vqshrun_n NEON builtin (PR #195080)

Jiahao Guo via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 30 07:17:08 PDT 2026


================
@@ -2594,7 +2594,32 @@ CIRGenFunction::emitAArch64BuiltinExpr(unsigned builtinID, const CallExpr *expr,
   case NEON::BI__builtin_neon_vrecpss_f32:
   case NEON::BI__builtin_neon_vrecpsd_f64:
   case NEON::BI__builtin_neon_vrecpsh_f16:
-  case NEON::BI__builtin_neon_vqshrun_n_v:
+  case NEON::BI__builtin_neon_vqshrun_n_v: {
----------------
E00N777 wrote:

The cases for `vmaxnmh_f16`, `vrecpss_f32`, `vrecpsd_f64`, `vrecpsh_f16` are falling through into the implementation of `vqshrun_n_v`, which causes them to incorrectly use the "aarch64.neon.sqshrun" intrinsic.

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


More information about the cfe-commits mailing list