d4f6e58fcb
Bare tests are standalone assembly tests that don't require linking to any libc and hence can be built with kernel only compilers. The libc tests need a compiler capable of building properly linked userspace binaries. As we don't have such a cross compiler at the moment we won't be building those tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
118 lines
1.3 KiB
PHP
118 lines
1.3 KiB
PHP
.syntax no_register_prefix
|
|
|
|
.macro start
|
|
.text
|
|
.global main
|
|
main:
|
|
.endm
|
|
|
|
.macro quit
|
|
jump pass
|
|
nop
|
|
.endm
|
|
|
|
.macro pass
|
|
jump pass
|
|
nop
|
|
.endm
|
|
|
|
.macro startnostack
|
|
start
|
|
.endm
|
|
|
|
.macro fail
|
|
.data
|
|
99:
|
|
.asciz " checkr3 failed\n"
|
|
.text
|
|
move.d 99b, $r10
|
|
jsr _fail
|
|
nop
|
|
.endm
|
|
|
|
.macro checkr3 val
|
|
cmp.d 0x\val, $r3
|
|
beq 100f
|
|
nop
|
|
.data
|
|
99:
|
|
.asciz "checkr3 failed\n"
|
|
.text
|
|
move.d 99b, $r10
|
|
jsr _fail
|
|
nop
|
|
100:
|
|
.endm
|
|
|
|
; Test the condition codes
|
|
.macro test_cc N Z V C
|
|
.if \N
|
|
bpl 9f
|
|
nop
|
|
.else
|
|
bmi 9f
|
|
nop
|
|
.endif
|
|
.if \Z
|
|
bne 9f
|
|
nop
|
|
.else
|
|
beq 9f
|
|
nop
|
|
.endif
|
|
.if \V
|
|
bvc 9f
|
|
nop
|
|
.else
|
|
bvs 9f
|
|
nop
|
|
.endif
|
|
.if \C
|
|
bcc 9f
|
|
nop
|
|
.else
|
|
bcs 9f
|
|
nop
|
|
.endif
|
|
ba 8f
|
|
nop
|
|
9:
|
|
.data
|
|
99:
|
|
.asciz "test_move_cc failed\n"
|
|
.text
|
|
move.d 99b, $r10
|
|
jsr _fail
|
|
nop
|
|
8:
|
|
.endm
|
|
|
|
|
|
.macro test_move_cc N Z V C
|
|
.if \N
|
|
bpl 9f
|
|
nop
|
|
.else
|
|
bmi 9f
|
|
nop
|
|
.endif
|
|
.if \Z
|
|
bne 9f
|
|
nop
|
|
.else
|
|
beq 9f
|
|
nop
|
|
.endif
|
|
ba 8f
|
|
nop
|
|
9:
|
|
.data
|
|
99:
|
|
.asciz "test_move_cc failed\n"
|
|
.text
|
|
move.d 99b, $r10
|
|
jsr _fail
|
|
nop
|
|
8:
|
|
.endm
|