; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -passes=instcombine < %s | FileCheck %s target triple = "aarch64-unknown-linux-gnu" define @redundant_zip_unzip( %a, %b) #0 { ; CHECK-LABEL: @redundant_zip_unzip( ; CHECK-NEXT: [[RET:%.*]] = add [[A:%.*]], [[B:%.*]] ; CHECK-NEXT: ret [[RET]] ; %uzp1 = call @llvm.aarch64.sve.uzp1.nxv4i32( %a, %b) %uzp2 = call @llvm.aarch64.sve.uzp2.nxv4i32( %a, %b) %zip1 = call @llvm.aarch64.sve.zip1.nxv4i32( %uzp1, %uzp2) %zip2 = call @llvm.aarch64.sve.zip2.nxv4i32( %uzp1, %uzp2) %ret = add %zip1, %zip2 ret %ret } declare @llvm.aarch64.sve.uzp1.nxv4i32(, ) declare @llvm.aarch64.sve.uzp2.nxv4i32(, ) declare @llvm.aarch64.sve.zip1.nxv4i32(, ) declare @llvm.aarch64.sve.zip2.nxv4i32(, ) attributes #0 = { "target-features"="+sve" }