Skip to content

Commit 92ca8f4

Browse files
committed
lower optimization level, split out o2 test to its own file
1 parent d0423ed commit 92ca8f4

File tree

2 files changed

+25
-22
lines changed

2 files changed

+25
-22
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5
2+
// RUN: %clang_cc1 -finclude-default-header -triple \
3+
// RUN: dxil-pc-shadermodel6.3-library %s -fnative-half-type \
4+
// RUN: -emit-llvm -O2 -o - | FileCheck %s
5+
6+
// CHECK-LABEL: define noundef float @_Z26test_length_float4_extractDv4_f(
7+
// CHECK-SAME: <4 x float> noundef [[P0:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
8+
// CHECK-NEXT: [[ENTRY:.*:]]
9+
// CHECK-NEXT: [[MUL_I:%.*]] = fmul <4 x float> [[P0]], [[P0]]
10+
// CHECK-NEXT: [[VECEXT_I:%.*]] = extractelement <4 x float> [[MUL_I]], i64 0
11+
// CHECK-NEXT: [[VECEXT1_I:%.*]] = extractelement <4 x float> [[MUL_I]], i64 1
12+
// CHECK-NEXT: [[VECEXT1_I_1:%.*]] = extractelement <4 x float> [[MUL_I]], i64 2
13+
// CHECK-NEXT: [[VECEXT1_I_2:%.*]] = extractelement <4 x float> [[MUL_I]], i64 3
14+
// CHECK-NEXT: [[ADD_I12:%.*]] = fadd float [[VECEXT_I]], [[VECEXT1_I]]
15+
// CHECK-NEXT: [[ADD_I12_1:%.*]] = fadd float [[ADD_I12]], [[VECEXT1_I_1]]
16+
// CHECK-NEXT: [[ADD_I12_2:%.*]] = fadd float [[ADD_I12_1]], [[VECEXT1_I_2]]
17+
// CHECK-NEXT: [[TMP0:%.*]] = tail call noundef float @llvm.sqrt.f32(float [[ADD_I12_2]])
18+
// CHECK-NEXT: [[ADD:%.*]] = fadd float [[TMP0]], [[TMP0]]
19+
// CHECK-NEXT: ret float [[ADD]]
20+
//
21+
float test_length_float4_extract(float4 p0)
22+
{
23+
return length(p0) + length(p0);
24+
}

clang/test/CodeGenHLSL/builtins/length.hlsl

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5
22
// RUN: %clang_cc1 -finclude-default-header -triple \
33
// RUN: dxil-pc-shadermodel6.3-library %s -fnative-half-type \
4-
// RUN: -emit-llvm -O2 -o - | FileCheck %s
4+
// RUN: -emit-llvm -O1 -o - | FileCheck %s
55

66
// CHECK-LABEL: define noundef half @_Z16test_length_halfDh(
77
// CHECK-SAME: half noundef [[P0:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] {
@@ -128,24 +128,3 @@ float test_length_float4(float4 p0)
128128
{
129129
return length(p0);
130130
}
131-
132-
133-
// CHECK-LABEL: define noundef float @_Z26test_length_float4_extractDv4_f(
134-
// CHECK-SAME: <4 x float> noundef [[P0:%.*]]) local_unnamed_addr #[[ATTR0]] {
135-
// CHECK-NEXT: [[ENTRY:.*:]]
136-
// CHECK-NEXT: [[MUL_I:%.*]] = fmul <4 x float> [[P0]], [[P0]]
137-
// CHECK-NEXT: [[VECEXT_I:%.*]] = extractelement <4 x float> [[MUL_I]], i64 0
138-
// CHECK-NEXT: [[VECEXT1_I:%.*]] = extractelement <4 x float> [[MUL_I]], i64 1
139-
// CHECK-NEXT: [[VECEXT1_I_1:%.*]] = extractelement <4 x float> [[MUL_I]], i64 2
140-
// CHECK-NEXT: [[VECEXT1_I_2:%.*]] = extractelement <4 x float> [[MUL_I]], i64 3
141-
// CHECK-NEXT: [[ADD_I12:%.*]] = fadd float [[VECEXT_I]], [[VECEXT1_I]]
142-
// CHECK-NEXT: [[ADD_I12_1:%.*]] = fadd float [[ADD_I12]], [[VECEXT1_I_1]]
143-
// CHECK-NEXT: [[ADD_I12_2:%.*]] = fadd float [[ADD_I12_1]], [[VECEXT1_I_2]]
144-
// CHECK-NEXT: [[TMP0:%.*]] = tail call noundef float @llvm.sqrt.f32(float [[ADD_I12_2]])
145-
// CHECK-NEXT: [[ADD:%.*]] = fadd float [[TMP0]], [[TMP0]]
146-
// CHECK-NEXT: ret float [[ADD]]
147-
//
148-
float test_length_float4_extract(float4 p0)
149-
{
150-
return length(p0) + length(p0);
151-
}

0 commit comments

Comments
 (0)