1; RUN: ./amdgcn_glslc %s | FileCheck -check-prefix=GCN -check-prefix=FUNC %s
2
3; FUNC-LABEL: {{^}}@bfe_i32:
4; GCN: main
5; GCN: v_interp_mov
6; GCN: v_interp_mov
7; GCN: v_interp_mov
8; GCN-NEXT: v_bfe_i32
9; GCN-NEXT: epilog
10
11#shader fs bfe_i32
12#version 400
13flat in ivec3 v;
14out ivec4 o;
15void main() {
16    o.x = bitfieldExtract(v.x, v.y, v.z);
17}
18
19
20; FUNC-LABEL: {{^}}@bfe_u32:
21; GCN: main
22; GCN: v_interp_mov
23; GCN: v_interp_mov
24; GCN: v_interp_mov
25; GCN-NEXT: v_bfe_u32
26; GCN-NEXT: epilog
27
28#shader fs bfe_u32
29#version 400
30flat in uvec3 v;
31out uvec4 o;
32void main() {
33    o.x = bitfieldExtract(v.x, int(v.y), int(v.z));
34}
35