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 16 flat in ivec4 v; 17 out ivec4 o; 18 void 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 36 flat in uvec4 v; 37 out uvec4 o; 38 void main() { 39 o.x = bitfieldInsert(v.x, v.y, int(v.z), int(v.w)); 40 } 41