; RUN: opt -S -dxil-metadata-emit < %s | FileCheck %s --check-prefix=DXILMD

target datalayout = "e-m:e-p:32:32-i1:32-i8:8-i16:16-i32:32-i64:64-f16:16-f32:32-f64:64-n8:16:32:64"
target triple = "dxil-unknown-shadermodel6.7-library"

; cbuffer D
; {
;
;   struct D
;   {
;
;       int D0;                                       ; Offset:    0
;       struct struct.B
;       {
;
;           double B0;                                ; Offset:   16
;           float3 B1;                                ; Offset:   32
;           float B2;                                 ; Offset:   44
;           double3 B3;                               ; Offset:   48
;           half B4;                                  ; Offset:   72
;           double2 B5;                               ; Offset:   80
;           float B6;                                 ; Offset:   96
;           half3 B7;                                 ; Offset:  100
;           half3 B8;                                 ; Offset:  106
;       
;       } D1;                                         ; Offset:   16
;
;       half D2;                                      ; Offset:  112
;       struct struct.C
;       {
;
;           struct struct.A
;           {
;
;               float A0;                             ; Offset:  128
;               double A1;                            ; Offset:  136
;               float A2;                             ; Offset:  144
;               half A3;                              ; Offset:  148
;               int16_t A4;                           ; Offset:  150
;               int64_t A5;                           ; Offset:  152
;               int A6;                               ; Offset:  160
;           
;           } C0;                                     ; Offset:  128
;
;           float C1[1];                              ; Offset:  176
;           struct struct.B
;           {
;
;               double B0;                            ; Offset:  192
;               float3 B1;                            ; Offset:  208
;               float B2;                             ; Offset:  220
;               double3 B3;                           ; Offset:  224
;               half B4;                              ; Offset:  248
;               double2 B5;                           ; Offset:  256
;               float B6;                             ; Offset:  272
;               half3 B7;                             ; Offset:  276
;               half3 B8;                             ; Offset:  282
;           
;           } C2[2];;                                 ; Offset:  192
;
;           half C3;                                  ; Offset:  384
;       
;       } D3;                                         ; Offset:  128
;
;       double D4;                                    ; Offset:  392
;   
;   } D;                                              ; Offset:    0 Size:   400


; Make sure the size is 400
; DXILMD:!{i32 0, ptr @D.cb., !"", i32 0, i32 1, i32 1, i32 400}


%struct.B = type <{ double, <3 x float>, float, <3 x double>, half, <2 x double>, float, <3 x half>, <3 x half> }>
%struct.C = type <{ %struct.A, [1 x float], [2 x %struct.B], half }>
%struct.A = type <{ float, double, float, half, i16, i64, i32 }>

@D.cb. = external local_unnamed_addr constant { i32, %struct.B, half, %struct.C, double }

!hlsl.cbufs = !{!0}
!0 = !{ptr @D.cb., !"D.cb.ty", i32 13, i32 1, i32 0}
