================ @@ -0,0 +1,45 @@ +; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s +; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC + +target triple = "dxil-pc-shadermodel6.7-library" + +;CHECK: ; Combined Shader Flags for Module +;CHECK-NEXT: ; Shader Flags Value: 0x00800020 +;CHECK-NEXT: ; +;CHECK-NEXT: ; Note: shader requires additional functionality: +;CHECK-NEXT: ; Note: extra DXIL module flags: +;CHECK-NEXT: ; D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION +;CHECK-NEXT: ; Native 16bit types enabled +;CHECK-NEXT: ; +;CHECK-NEXT: ; Shader Flags for Module Functions + +;CHECK-LABEL: ; Function add_i16 : 0x00800020 +define i16 @add_i16(i16 %a, i16 %b) #0 { + %sum = add i16 %a, %b + ret i16 %sum +} + +; NOTE: The flag for native low precision is set for every function in the +; module regardless of whether or not the function uses low precision data +; types. This matches the behavior in DXC +;CHECK-LABEL: ; Function add_i32 : 0x00800000 +define i32 @add_i32(i32 %a, i32 %b) #0 { + %sum = add i32 %a, %b + ret i32 %sum +} + +;CHECK-LABEL: ; Function add_half : 0x00800020 +define half @add_half(half %a, half %b) #0 { + %sum = fadd half %a, %b + ret half %sum +} + +attributes #0 = { convergent norecurse nounwind "hlsl.export" } ---------------- inbelic wrote:
```suggestion ``` Don't think you need these, or at least the none "hlsl.export" ones? https://github.com/llvm/llvm-project/pull/134288 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits