Files
fmn_processor/bench/tests/op/bltu.s

48 lines
1.2 KiB
ArmAsm

# expected: 0000000000000001, 0000000000000004, 0000000000000008, 000000000000000D, 0000000000000014
.text
_start:
# Test 1: Equal values (should NOT branch)
li x1, 5
li x2, 5
bltu x1, x2, label1
addi x31, x0, 1 # expected path (not taken)
label1:
# Test 2: x1 < x2 unsigned (should branch)
li x1, 5
li x2, 10
bltu x1, x2, label2
addi x31, x31, 2 # skipped if branch taken
j label2_end
label2:
addi x31, x31, 3 # expected path (branch taken)
label2_end:
# Test 3: x1 > x2 unsigned (should NOT branch)
li x1, 10
li x2, 5
bltu x1, x2, label3
addi x31, x31, 4 # expected path (not taken)
label3:
# Test 4: x1 = 0xFFFFFFFFFFFFFFFF, x2 = 0 (max unsigned vs min unsigned)
li x1, -1 # 0xFFFFFFFFFFFFFFFF
li x2, 0
bltu x1, x2, label4
addi x31, x31, 5 # expected path (not taken)
label4:
# Test 5: x1 = 0, x2 = 0xFFFFFFFFFFFFFFFF (min unsigned vs max unsigned)
li x1, 0
li x2, -1
bltu x1, x2, label5
addi x31, x31, 6 # skipped if branch taken
j label5_end
label5:
addi x31, x31, 7 # expected path (branch taken)
label5_end:
# Done
nop