Home | History | Annotate | Download | only in R600
      1 ; RUN: llc < %s -march=amdgcn -mcpu=verde -verify-machineinstrs | FileCheck --check-prefix=SI --check-prefix=FUNC %s
      2 ; RUN: llc < %s -march=amdgcn -mcpu=tonga -verify-machineinstrs | FileCheck --check-prefix=SI --check-prefix=FUNC %s
      3 
      4 ; FUNC-LABEL: {{^}}break_inserted_outside_of_loop:
      5 
      6 ; SI: [[LOOP_LABEL:[A-Z0-9]+]]:
      7 ; Lowered break instructin:
      8 ; SI: s_or_b64
      9 ; Lowered Loop instruction:
     10 ; SI: s_andn2_b64
     11 ; s_cbranch_execnz [[LOOP_LABEL]]
     12 ; SI: s_endpgm
     13 define void @break_inserted_outside_of_loop(i32 addrspace(1)* %out, i32 %a, i32 %b) {
     14 main_body:
     15   %0 = and i32 %a, %b
     16   %1 = trunc i32 %0 to i1
     17   br label %ENDIF
     18 
     19 ENDLOOP:
     20   store i32 0, i32 addrspace(1)* %out
     21   ret void
     22 
     23 ENDIF:
     24   br i1 %1, label %ENDLOOP, label %ENDIF
     25 }
     26