[clang] [ARM][AARCH64][NEON]: Wrong return type of NEON intrinsic vqrshrunh_n_s16, vqrshruns_n_s32, and vqrshrund_n_s64 in arm_neon.h (PR #80819)

Jack Styles via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 6 05:09:22 PST 2024


================
@@ -1354,9 +1354,9 @@ let isScalarNarrowShift = 1 in {
   // Signed/Unsigned Saturating Rounded Shift Right Narrow (Immediate)
   def SCALAR_SQRSHRN_N: SInst<"vqrshrn_n", "(1<)1I", "SsSiSlSUsSUiSUl">;
   // Signed Saturating Shift Right Unsigned Narrow (Immediate)
-  def SCALAR_SQSHRUN_N: SInst<"vqshrun_n", "(1<)1I", "SsSiSl">;
+  def SCALAR_SQSHRUN_N: SInst<"vqshrun_n", "(1<U)1I", "SsSiSl">;
----------------
Stylie777 wrote:

You have updated this in tablegen, have we covered all the test cases in `clang/test/CodeGen/aarch64-neon-intrinsics.c`?

>From a quick grep, it looks like there are some test cases that need their integer type changing from signed to unsigned. 

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


More information about the cfe-commits mailing list