• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: rs2spirv_lit_driver.sh %s | FileCheck %s
2
3target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
4target triple = "aarch64-none-linux-gnueabi"
5
6; Function Attrs: norecurse nounwind readnone
7; CHECK:OpDecorate %[[BUF_S:.*]] BufferBlock
8; CHECK:OpDecorate %[[BUF_VAR:.*]] DescriptorSet {{[0-9]}}
9; CHECK:OpDecorate %[[BUF_VAR]] Binding {{[0-9]}}
10; CHECK:%[[BUF_PTR_TY:.*]] = OpTypePointer Uniform %[[BUF_S]]
11; CHECK:%[[BUF_VAR]] = OpVariable %[[BUF_PTR_TY]] Uniform
12; CHECK:%[[ADDR:.*]] = OpAccessChain {{.*}} %[[BUF_VAR]]
13; CHECK:OpLoad {{.*}} %[[ADDR]]
14
15define <4 x float> @invert(<4 x float> %in) #0 {
16entry:
17  %0 = extractelement <4 x float> %in, i64 0
18  %sub = fsub float 1.000000e+00, %0
19  %1 = insertelement <4 x float> undef, float %sub, i64 0
20  %2 = extractelement <4 x float> %in, i64 1
21  %sub1 = fsub float 1.000000e+00, %2
22  %3 = insertelement <4 x float> %1, float %sub1, i64 1
23  %4 = extractelement <4 x float> %in, i64 2
24  %sub2 = fsub float 1.000000e+00, %4
25  %5 = insertelement <4 x float> %3, float %sub2, i64 2
26  %6 = extractelement <4 x float> %in, i64 3
27  %sub3 = fsub float 1.000000e+00, %6
28  %7 = insertelement <4 x float> %5, float %sub3, i64 3
29  ret <4 x float> %7
30}
31
32attributes #0 = { norecurse nounwind readnone "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="0" "stackrealign" "unsafe-fp-math"="false" "use-soft-float"="false" }
33
34!llvm.ident = !{!0}
35!\23pragma = !{!1, !2, !3}
36!\23rs_export_foreach_name = !{!4, !5}
37!\23rs_export_foreach = !{!6, !7}
38
39!0 = !{!"Android clang version 3.8.256229  (based on LLVM 3.8.256229)"}
40!1 = !{!"version", !"1"}
41!2 = !{!"java_package_name", !"rs2spirv"}
42!3 = !{!"rs_fp_relaxed", !""}
43!4 = !{!"root"}
44!5 = !{!"invert"}
45!6 = !{!"0"}
46!7 = !{!"35"}
47