xref: /llvm-project/llvm/test/CodeGen/SystemZ/vec-extract-02.ll (revision a1710eb3cd5823c5d14899112ca3086acbdbe9cb)
1; Verify ReplaceExtractVectorEltOfLoadWithNarrowedLoad fixes
2;
3; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s
4
5; Test a case where a vector extraction can be simplified to a scalar load.
6; The index must be extended from i32 to i64.
7define i32 @f1(ptr %ptr, i32 %index) {
8; CHECK-LABEL: f1:
9; CHECK: risbgn {{%r[0-5]}}, %r3, 60, 189, 2
10; CHECK: l %r2,
11; CHECK: br %r14
12  %vec = load <4 x i32>, ptr %ptr
13  %res = extractelement <4 x i32> %vec, i32 %index
14  ret i32 %res
15}
16