[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / CodeGen / DirectX / flatten-bug-117273.ll
blob3ae5832ce8322f8d184c06f0a9f967ba5df9980a
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2 ; RUN: opt -S -passes='dxil-flatten-arrays,dxil-op-lower' -mtriple=dxil-pc-shadermodel6.3-library %s | FileCheck %s
5 @ZerroInitArr = internal constant [2 x [3 x float]] [[3 x float] zeroinitializer, [3 x float] [float 1.000000e+00, float 1.000000e+00, float 1.000000e+00]], align 16
8 define internal void @main() {
9 ; CHECK-LABEL: define internal void @main() {
10 ; CHECK-NEXT:  [[ENTRY:.*:]]
11 ; CHECK-NEXT:    [[TMP0:%.*]] = getelementptr [24 x float], ptr @ZerroInitArr.1dim, i32 1
12 ; CHECK-NEXT:    [[DOTI0:%.*]] = load float, ptr [[TMP0]], align 16
13 ; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr [24 x float], ptr @ZerroInitArr.1dim, i32 2
14 ; CHECK-NEXT:    [[DOTI03:%.*]] = load float, ptr [[TMP1]], align 16
15 ; CHECK-NEXT:    ret void
17 entry:
18   %0 = getelementptr [8 x [3 x float]], ptr @ZerroInitArr, i32 0, i32 1
19   %.i0 = load float, ptr %0, align 16
20   %1 = getelementptr [8 x [3 x float]], ptr @ZerroInitArr, i32 0, i32 2
21   %.i03 = load float, ptr %1, align 16
22   ret void