
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded elts across all users and call SimplifyDemandedVectorElts in "AssumeSingleUse" use. Second try after #133130 was reverted by #133331 due to it affecting reverted test files
21 lines
822 B
LLVM
21 lines
822 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu | FileCheck %s
|
|
|
|
define <4 x double> @autogen_SD30452(i1 %L230) {
|
|
; CHECK-LABEL: autogen_SD30452:
|
|
; CHECK: # %bb.0: # %BB
|
|
; CHECK-NEXT: movdqa {{.*#+}} xmm0 = [151829,151829]
|
|
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
|
|
; CHECK-NEXT: cvtdq2pd %xmm0, %xmm0
|
|
; CHECK-NEXT: movaps %xmm0, %xmm1
|
|
; CHECK-NEXT: retq
|
|
BB:
|
|
%I = insertelement <4 x i64> zeroinitializer, i64 151829, i32 3
|
|
%Shuff7 = shufflevector <4 x i64> %I, <4 x i64> zeroinitializer, <4 x i32> <i32 undef, i32 undef, i32 3, i32 undef>
|
|
br label %CF242
|
|
|
|
CF242: ; preds = %CF242, %BB
|
|
%FC125 = sitofp <4 x i64> %Shuff7 to <4 x double>
|
|
ret <4 x double> %FC125
|
|
}
|