[PATCH] D149548: [IR] Update to use new shufflevector semantics

Qiu Chaofan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 8 00:56:24 PDT 2023


qiucf added subscribers: jonpa, uweigand.
qiucf added a comment.

Why this changes IR output of following case?

  // RUN: clang vecpromote.c -S -o - -O0 -target s390x-linux-gnu -fzvector -emit-llvm
  #include <vecintrin.h>
  
  vector int si;
  int g;
  int i;
  
  void foo() {
    si = vec_promote(g, i);
  }
  
  // store <4 x i32> undef, ptr %__vec.i, align 16, !noalias !6  ; this undef becomes poison after this patch
  // %2 = load i32, ptr %__scalar.addr.i, align 4, !noalias !6
  // %3 = load i32, ptr %__index.addr.i, align 4, !noalias !6
  // %4 = load <4 x i32>, ptr %__vec.i, align 16, !noalias !6
  // %vecins.i = insertelement <4 x i32> %4, i32 %2, i32 %and.i

I see no PowerPC related case changes. Maybe adding SystemZ folks for comments @uweigand @jonpa


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D149548/new/

https://reviews.llvm.org/D149548



More information about the llvm-commits mailing list