xref: /llvm-project/llvm/test/CodeGen/DirectX/ShaderFlags/doubles.ll (revision 96547decd5f12c4357b104d107350c8a14b47650)
1; RUN: opt -S --passes="print-dx-shader-flags" 2>&1 %s | FileCheck %s
2; RUN: llc %s --filetype=obj -o - | obj2yaml | FileCheck %s --check-prefix=DXC
3
4target triple = "dxil-pc-shadermodel6.7-library"
5
6;CHECK: ; Combined Shader Flags for Module
7;CHECK-NEXT: ; Shader Flags Value: 0x00000004
8;CHECK-NEXT: ;
9;CHECK-NEXT: ; Note: shader requires additional functionality:
10;CHECK-NEXT: ;       Double-precision floating point
11;CHECK-NEXT: ; Note: extra DXIL module flags:
12;CHECK-NEXT: ;
13;CHECK-NEXT: ; Shader Flags for Module Functions
14;CHECK-NEXT: ; Function add : 0x00000004
15
16define double @add(double %a, double %b) #0 {
17  %sum = fadd double %a, %b
18  ret double %sum
19}
20
21attributes #0 = { convergent norecurse nounwind "hlsl.export"}
22
23; DXC: - Name:            SFI0
24; DXC-NEXT:     Size:            8
25; DXC-NEXT:     Flags:
26; DXC-NEXT:       Doubles:         true
27; DXC-NOT:   {{[A-Za-z]+: +true}}
28; DXC:       NextUnusedBit:   false
29; DXC: ...
30