# Test LDR instructions with offsets misaligned by 3 bytes.
# mach(): all

	.macro invalid
# This is "undefined" but it's not properly decoded yet.
	.word 0x07ffffff
# This is stc which isn't recognized yet.
	stc 0,cr0,[r0]
	.endm

	.global _start
_start:
# Run some simple insns to confirm the engine is at least working.
	nop

# Skip over output text.
	bl do_test

pass:
	.asciz "pass\n"
	.p2align 2

do_test:
	mov r4, r14
	bl continue
word1:
	.word 0x5555
continue:
	ldr r6, [r14, #3]
	ldr r7, word2
	cmp r6, r7
	# Failed.
	bne done

output_next:
# Output a character (in arm mode).
	mov r0,#3
	mov r1,r4
	swi #0x123456

# Load next character, see if done.
	add r4,r4,#1
	sub r3,r3,r3
	ldrb r5,[r4,r3]
	teq r5,#0
	bne output_next

done:
	mov r0,#0x18
	ldr r1,exit_code
	swi #0x123456

# If that fails, try to die with an invalid insn.
	invalid

exit_code:
	.word 0x20026

	.word 0xFFFFFFFF
word2:
	.word 0x555500
	.word 0xFFFFFFFF
