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