Skip to content

Commit a6e8028

Browse files
committed
Updated attributes
1 parent 4ae60b7 commit a6e8028

File tree

1 file changed

+29
-27
lines changed

1 file changed

+29
-27
lines changed

llvm/test/CodeGen/DirectX/WaveActiveMax.ll

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,63 +4,63 @@
44

55
define noundef half @wave_active_max_half(half noundef %expr) {
66
entry:
7-
; CHECK: call half @dx.op.waveActiveOp.f16(i32 119, half %expr, i8 3, i8 0){{$}}
7+
; CHECK: call half @dx.op.waveActiveOp.f16(i32 119, half %expr, i8 3, i8 0) #[[#ATTR:]]
88
%ret = call half @llvm.dx.wave.reduce.max.f16(half %expr)
99
ret half %ret
1010
}
1111

1212
define noundef float @wave_active_max_float(float noundef %expr) {
1313
entry:
14-
; CHECK: call float @dx.op.waveActiveOp.f32(i32 119, float %expr, i8 3, i8 0){{$}}
14+
; CHECK: call float @dx.op.waveActiveOp.f32(i32 119, float %expr, i8 3, i8 0) #[[#ATTR]]
1515
%ret = call float @llvm.dx.wave.reduce.max.f32(float %expr)
1616
ret float %ret
1717
}
1818

1919
define noundef double @wave_active_max_double(double noundef %expr) {
2020
entry:
21-
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr, i8 3, i8 0){{$}}
21+
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr, i8 3, i8 0) #[[#ATTR]]
2222
%ret = call double @llvm.dx.wave.reduce.max.f64(double %expr)
2323
ret double %ret
2424
}
2525

2626
define noundef i16 @wave_active_max_i16(i16 noundef %expr) {
2727
entry:
28-
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr, i8 3, i8 0){{$}}
28+
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr, i8 3, i8 0) #[[#ATTR]]
2929
%ret = call i16 @llvm.dx.wave.reduce.max.i16(i16 %expr)
3030
ret i16 %ret
3131
}
3232

3333
define noundef i32 @wave_active_max_i32(i32 noundef %expr) {
3434
entry:
35-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr, i8 3, i8 0){{$}}
35+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr, i8 3, i8 0) #[[#ATTR]]
3636
%ret = call i32 @llvm.dx.wave.reduce.max.i32(i32 %expr)
3737
ret i32 %ret
3838
}
3939

4040
define noundef i64 @wave_active_max_i64(i64 noundef %expr) {
4141
entry:
42-
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr, i8 3, i8 0){{$}}
42+
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr, i8 3, i8 0) #[[#ATTR]]
4343
%ret = call i64 @llvm.dx.wave.reduce.max.i64(i64 %expr)
4444
ret i64 %ret
4545
}
4646

4747
define noundef i16 @wave_active_umax_i16(i16 noundef %expr) {
4848
entry:
49-
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr, i8 3, i8 1){{$}}
49+
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr, i8 3, i8 1) #[[#ATTR]]
5050
%ret = call i16 @llvm.dx.wave.reduce.umax.i16(i16 %expr)
5151
ret i16 %ret
5252
}
5353

5454
define noundef i32 @wave_active_umax_i32(i32 noundef %expr) {
5555
entry:
56-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr, i8 3, i8 1){{$}}
56+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr, i8 3, i8 1) #[[#ATTR]]
5757
%ret = call i32 @llvm.dx.wave.reduce.umax.i32(i32 %expr)
5858
ret i32 %ret
5959
}
6060

6161
define noundef i64 @wave_active_umax_i64(i64 noundef %expr) {
6262
entry:
63-
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr, i8 3, i8 1){{$}}
63+
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr, i8 3, i8 1) #[[#ATTR]]
6464
%ret = call i64 @llvm.dx.wave.reduce.umax.i64(i64 %expr)
6565
ret i64 %ret
6666
}
@@ -82,27 +82,27 @@ declare i64 @llvm.dx.wave.reduce.umax.i64(i64)
8282

8383
define noundef <2 x half> @wave_active_max_v2half(<2 x half> noundef %expr) {
8484
entry:
85-
; CHECK: call half @dx.op.waveActiveOp.f16(i32 119, half %expr.i0, i8 3, i8 0){{$}}
86-
; CHECK: call half @dx.op.waveActiveOp.f16(i32 119, half %expr.i1, i8 3, i8 0){{$}}
85+
; CHECK: call half @dx.op.waveActiveOp.f16(i32 119, half %expr.i0, i8 3, i8 0) #[[#ATTR]]
86+
; CHECK: call half @dx.op.waveActiveOp.f16(i32 119, half %expr.i1, i8 3, i8 0) #[[#ATTR]]
8787
%ret = call <2 x half> @llvm.dx.wave.reduce.max.v2f16(<2 x half> %expr)
8888
ret <2 x half> %ret
8989
}
9090

9191
define noundef <3 x i32> @wave_active_max_v3i32(<3 x i32> noundef %expr) {
9292
entry:
93-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i0, i8 3, i8 0){{$}}
94-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i1, i8 3, i8 0){{$}}
95-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i2, i8 3, i8 0){{$}}
93+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i0, i8 3, i8 0) #[[#ATTR]]
94+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i1, i8 3, i8 0) #[[#ATTR]]
95+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i2, i8 3, i8 0) #[[#ATTR]]
9696
%ret = call <3 x i32> @llvm.dx.wave.reduce.max.v3i32(<3 x i32> %expr)
9797
ret <3 x i32> %ret
9898
}
9999

100100
define noundef <4 x double> @wave_active_max_v4f64(<4 x double> noundef %expr) {
101101
entry:
102-
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i0, i8 3, i8 0){{$}}
103-
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i1, i8 3, i8 0){{$}}
104-
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i2, i8 3, i8 0){{$}}
105-
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i3, i8 3, i8 0){{$}}
102+
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i0, i8 3, i8 0) #[[#ATTR]]
103+
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i1, i8 3, i8 0) #[[#ATTR]]
104+
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i2, i8 3, i8 0) #[[#ATTR]]
105+
; CHECK: call double @dx.op.waveActiveOp.f64(i32 119, double %expr.i3, i8 3, i8 0) #[[#ATTR]]
106106
%ret = call <4 x double> @llvm.dx.wave.reduce.max.v4f64(<4 x double> %expr)
107107
ret <4 x double> %ret
108108
}
@@ -113,31 +113,33 @@ declare <4 x double> @llvm.dx.wave.reduce.max.v4f64(<4 x double>)
113113

114114
define noundef <2 x i16> @wave_active_umax_v2i16(<2 x i16> noundef %expr) {
115115
entry:
116-
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr.i0, i8 3, i8 1){{$}}
117-
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr.i1, i8 3, i8 1){{$}}
116+
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr.i0, i8 3, i8 1) #[[#ATTR]]
117+
; CHECK: call i16 @dx.op.waveActiveOp.i16(i32 119, i16 %expr.i1, i8 3, i8 1) #[[#ATTR]]
118118
%ret = call <2 x i16> @llvm.dx.wave.reduce.umax.v2f16(<2 x i16> %expr)
119119
ret <2 x i16> %ret
120120
}
121121

122122
define noundef <3 x i32> @wave_active_umax_v3i32(<3 x i32> noundef %expr) {
123123
entry:
124-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i0, i8 3, i8 1){{$}}
125-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i1, i8 3, i8 1){{$}}
126-
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i2, i8 3, i8 1){{$}}
124+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i0, i8 3, i8 1) #[[#ATTR]]
125+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i1, i8 3, i8 1) #[[#ATTR]]
126+
; CHECK: call i32 @dx.op.waveActiveOp.i32(i32 119, i32 %expr.i2, i8 3, i8 1) #[[#ATTR]]
127127
%ret = call <3 x i32> @llvm.dx.wave.reduce.umax.v3i32(<3 x i32> %expr)
128128
ret <3 x i32> %ret
129129
}
130130

131131
define noundef <4 x i64> @wave_active_umax_v4f64(<4 x i64> noundef %expr) {
132132
entry:
133-
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i0, i8 3, i8 1){{$}}
134-
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i1, i8 3, i8 1){{$}}
135-
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i2, i8 3, i8 1){{$}}
136-
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i3, i8 3, i8 1){{$}}
133+
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i0, i8 3, i8 1) #[[#ATTR]]
134+
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i1, i8 3, i8 1) #[[#ATTR]]
135+
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i2, i8 3, i8 1) #[[#ATTR]]
136+
; CHECK: call i64 @dx.op.waveActiveOp.i64(i32 119, i64 %expr.i3, i8 3, i8 1) #[[#ATTR]]
137137
%ret = call <4 x i64> @llvm.dx.wave.reduce.umax.v4f64(<4 x i64> %expr)
138138
ret <4 x i64> %ret
139139
}
140140

141+
; CHECK: attributes #[[#ATTR]] = {{{.*}} memory(none) {{.*}}}
142+
141143
declare <2 x i16> @llvm.dx.wave.reduce.umax.v2f16(<2 x i16>)
142144
declare <3 x i32> @llvm.dx.wave.reduce.umax.v3i32(<3 x i32>)
143145
declare <4 x i64> @llvm.dx.wave.reduce.umax.v4f64(<4 x i64>)

0 commit comments

Comments
 (0)