1; XFAIL: * 2; RUN: llc -march=r600 -mcpu=cypress -verify-machineinstrs < %s 3; XUN: llc -march=r600 -mcpu=cypress -verify-machineinstrs < %s | FileCheck -check-prefix=EG %s 4; 5; EG-LABEL: {{^}}sext_in_reg_v2i1_in_v2i32_other_amount: 6; EG: MEM_{{.*}} STORE_{{.*}} [[RES:T[0-9]+]]{{\.[XYZW][XYZW]}}, [[ADDR:T[0-9]+.[XYZW]]] 7; EG-NOT: BFE 8; EG: ADD_INT 9; EG: LSHL 10; EG: ASHR [[RES]] 11; EG: LSHL 12; EG: ASHR [[RES]] 13; EG: LSHR {{\*?}} [[ADDR]] 14 15; Works with the align 2 removed 16define void @sext_in_reg_v2i1_in_v2i32_other_amount(<2 x i32> addrspace(1)* %out, <2 x i32> %a, <2 x i32> %b) nounwind { 17 %c = add <2 x i32> %a, %b 18 %x = shl <2 x i32> %c, <i32 6, i32 6> 19 %y = ashr <2 x i32> %x, <i32 7, i32 7> 20 store <2 x i32> %y, <2 x i32> addrspace(1)* %out, align 2 21 ret void 22} 23