mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-02 08:26:39 +00:00
R600: Add support for native control flow
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178505 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -5,9 +5,10 @@
|
||||
; and the PREDICATE_BREAK in this loop.
|
||||
|
||||
; CHECK: @loop_ge
|
||||
; CHECK: WHILE
|
||||
; CHECK: LOOP_START_DX10
|
||||
; CHECK: PRED_SET
|
||||
; CHECK-NEXT: PREDICATED_BREAK
|
||||
; CHECK-NEXT: JUMP
|
||||
; CHECK-NEXT: LOOP_BREAK
|
||||
define void @loop_ge(i32 addrspace(1)* nocapture %out, i32 %iterations) nounwind {
|
||||
entry:
|
||||
%cmp5 = icmp sgt i32 %iterations, 0
|
||||
|
@@ -45,10 +45,12 @@ ENDIF:
|
||||
}
|
||||
|
||||
; CHECK: @nested_if
|
||||
; CHECK: IF_PREDICATE_SET
|
||||
; CHECK: ALU_PUSH_BEFORE
|
||||
; CHECK: PRED_SET{{[EGN][ET]*}}_INT Exec
|
||||
; CHECK: JUMP
|
||||
; CHECK: PRED_SET{{[EGN][ET]*}}_INT Pred,
|
||||
; CHECK: LSHL T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}, 1, 0(0.000000e+00) Pred_sel
|
||||
; CHECK: ENDIF
|
||||
; CHECK: POP
|
||||
define void @nested_if(i32 addrspace(1)* %out, i32 %in) {
|
||||
entry:
|
||||
%0 = icmp sgt i32 %in, 0
|
||||
@@ -70,11 +72,13 @@ ENDIF:
|
||||
}
|
||||
|
||||
; CHECK: @nested_if_else
|
||||
; CHECK: IF_PREDICATE_SET
|
||||
; CHECK: ALU_PUSH_BEFORE
|
||||
; CHECK: PRED_SET{{[EGN][ET]*}}_INT Exec
|
||||
; CHECK: JUMP
|
||||
; CHECK: PRED_SET{{[EGN][ET]*}}_INT Pred,
|
||||
; CHECK: LSH{{[LR] T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}, 1, 0(0.000000e+00) Pred_sel
|
||||
; CHECK: LSH{{[LR] T[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}, 1, 0(0.000000e+00) Pred_sel
|
||||
; CHECK: ENDIF
|
||||
; CHECK: POP
|
||||
define void @nested_if_else(i32 addrspace(1)* %out, i32 %in) {
|
||||
entry:
|
||||
%0 = icmp sgt i32 %in, 0
|
||||
|
Reference in New Issue
Block a user