[AArch64][InstCombine] Simplify repeated complex patterns in dupqlane
authorMatt Devereau <matthew.devereau@arm.com>
Fri, 16 Dec 2022 11:19:28 +0000 (11:19 +0000)
committerMatt Devereau <matthew.devereau@arm.com>
Mon, 16 Jan 2023 09:42:25 +0000 (09:42 +0000)
commite18b971685fb349299583d95716244f34f974ef8
treee0228177e91ea8283108995fcebdf93ea1ae2280
parent1e67d775da7cc20e00f42bbb533a037f7c00087c
[AArch64][InstCombine] Simplify repeated complex patterns in dupqlane

Repeated floating-point complex patterns in dupqlane such as (f32 a, f32 b, f32
a, f32 b) can be simplified to shufflevector(f64(a, b), undef, 0)
llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
llvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-dupqlane.ll [new file with mode: 0644]