Home | History | Annotate | Download | only in AMDGPU
      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
     16 define 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