[llvm] [PPC] Fix suspicious AltiVec VAVG patterns (PR #176891)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 21 07:42:02 PST 2026


================
@@ -2,136 +2,154 @@
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 < %s | FileCheck -check-prefix=CHECK-P9 %s
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 < %s | FileCheck -check-prefix=CHECK-P8 %s
 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr7 < %s | FileCheck -check-prefix=CHECK-P7 %s
+
 define <8 x i16> @test_v8i16(<8 x i16> %m, <8 x i16> %n) {
 ; CHECK-P9-LABEL: test_v8i16:
 ; CHECK-P9:       # %bb.0: # %entry
-; CHECK-P9-NEXT:    vavguh 2, 3, 2
+; CHECK-P9-NEXT:    vavguh 2, 2, 3
 ; CHECK-P9-NEXT:    blr
 ;
 ; CHECK-P8-LABEL: test_v8i16:
 ; CHECK-P8:       # %bb.0: # %entry
-; CHECK-P8-NEXT:    vavguh 2, 3, 2
+; CHECK-P8-NEXT:    vavguh 2, 2, 3
 ; CHECK-P8-NEXT:    blr
 ;
 ; CHECK-P7-LABEL: test_v8i16:
 ; CHECK-P7:       # %bb.0: # %entry
-; CHECK-P7-NEXT:    vavguh 2, 3, 2
+; CHECK-P7-NEXT:    vavguh 2, 2, 3
 ; CHECK-P7-NEXT:    blr
 entry:
-  %add = add <8 x i16> %m, <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1>
-  %add1 = add <8 x i16> %add, %n
-  %shr = lshr <8 x i16> %add1, <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1>
-  ret <8 x i16> %shr
+  %xm = zext <8 x i16> %m to <8 x i17>
----------------
RolandF77 wrote:

Shouldn't this be i18? ISDOpcodes.h says compute in i[N+2] for AVGCEIL. Same issue for similar tests.

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


More information about the llvm-commits mailing list