5.114 · exercise

Predict: branching

Trace what conditional selects, conditional increments, and zero tests leave in a register, with signed and unsigned conditions.

0 of 5 correct

Predict the result

mov w1, -5
mov w2, 3
cmp w1, w2
csel w0, w1, w2, hi

Predict the result

mov w0, 5
mov w1, 4
cmp w1, 4
cinc w0, w0, eq
cmp w1, 9
cinc w0, w0, gt
cset w2, lt
add w0, w0, w2

Predict the result

    mov w0, 0
    mov w1, 5
    mov w2, 0
    cmp w1, 2
    cbnz w2, out
    b.gt bigger
    mov w0, 1
    b out
bigger:
    mov w0, 2
out:

Predict the result

    mov w19, 0
    mov w20, 6
    cbz w20, out
loop:
    add w19, w19, w20
    sub w20, w20, 2
    cbnz w20, loop
out:

Predict the result

mov w4, 10
mov w5, 20
cmp w4, w5
csinc w6, w4, w5, ge